Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-29105

java.io.IOException: Cannot run program


    • 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.

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