• Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Critical Critical
    • jenkins-1.611 and Windows with cygwin installed and configured SSH server.

      The ssh part works properly and Jenkins succeeds on copying the slave.jar file and executes it but it seems that it does make some wrong assumptions about paths, giving the error below:

      [marvin] $ /bin/bash C:\Users\Administrator\hudson5000371039477233927.sh
      hudson.util.IOException2: Slave JVM has not reported exit code. Is it still running?
      	at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:953)
      	at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:133)
      Caused by: java.io.IOException: Cannot run program "/bin/bash" (in directory "C:\tools\cygwin\home\Administrator\marvin\marvin"): CreateProcess error=3, The system cannot find the path specified
      	at java.lang.ProcessBuilder.start(Unknown Source)
      	at hudson.Proc$LocalProc.<init>(Proc.java:244)
      

      Full log at https://gist.github.com/ssbarnea/370949586b622f751d07

      The windows path is correct, being created by Jenkins, but it seems that he execution of /bin/bash is the one that fails. If one does manually performs ssh to the machine, using the same credentials, they would be able to run /bin/bash.
      I believe that the problem is because Jenkins is assuming that being a Windows machine it has to provide a Windows path to the CreateProcess which probably expects a Unix path instead because the entire shell is run under cygwin.
      Still, I tried any combinations of configuring the slave path on the node configuration but none seems to work.

          [JENKINS-29105] java.io.IOException: Cannot run program

          Sorin Sbarnea created issue -
          Sorin Sbarnea made changes -
          Description Original: The ssh part works properly and Jenkins succeeds on copying the slave.jar file and executes it but it seems that it does make some wrong assumptions about paths, giving the error below:

          {code:java}
          [marvin] $ /bin/bash C:\Users\Administrator\hudson5000371039477233927.sh
          hudson.util.IOException2: Slave JVM has not reported exit code. Is it still running?
          at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:953)
          at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:133)
          Caused by: java.io.IOException: Cannot run program "/bin/bash" (in directory "C:\tools\cygwin\home\Administrator\marvin\marvin"): CreateProcess error=3, The system cannot find the path specified
          at java.lang.ProcessBuilder.start(Unknown Source)
          at hudson.Proc$LocalProc.<init>(Proc.java:244)
          {code}

          Full log at https://gist.github.com/ssbarnea/370949586b622f751d07
          New: The ssh part works properly and Jenkins succeeds on copying the slave.jar file and executes it but it seems that it does make some wrong assumptions about paths, giving the error below:

          {code:java}
          [marvin] $ /bin/bash C:\Users\Administrator\hudson5000371039477233927.sh
          hudson.util.IOException2: Slave JVM has not reported exit code. Is it still running?
          at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:953)
          at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:133)
          Caused by: java.io.IOException: Cannot run program "/bin/bash" (in directory "C:\tools\cygwin\home\Administrator\marvin\marvin"): CreateProcess error=3, The system cannot find the path specified
          at java.lang.ProcessBuilder.start(Unknown Source)
          at hudson.Proc$LocalProc.<init>(Proc.java:244)
          {code}

          Full log at https://gist.github.com/ssbarnea/370949586b622f751d07

          The windows path is correct, being created by Jenkins, but it seems that he execution of /bin/bash is the one that fails. If one does manually performs ssh to the machine, using the same credentials, they would be able to run /bin/bash.
          I believe that the problem is because Jenkins is assuming that being a Windows machine it has to provide a Windows path to the CreateProcess which probably expects a Unix path instead because the entire shell is run under cygwin.
          Still, I tried any combinations of configuring the slave path on the node configuration but none seems to work.
          Sorin Sbarnea made changes -
          Link New: This issue is related to JENKINS-11370 [ JENKINS-11370 ]
          Sorin Sbarnea made changes -
          Component/s New: cygpath-plugin [ 15987 ]
          Sorin Sbarnea made changes -
          Link New: This issue is related to JENKINS-22650 [ JENKINS-22650 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 163973 ] New: JNJira + In-Review [ 181455 ]
          jagadish koppula made changes -
          Summary Original: cannot start windows slaves via SSH (cygwin) due to Caused by: java.io.IOException: Cannot run program "/bin/bash" New: java.io.IOException: Cannot run program
          Sorin Sbarnea made changes -
          Resolution New: Cannot Reproduce [ 5 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]

            kohsuke Kohsuke Kawaguchi
            ssbarnea Sorin Sbarnea
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: