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

CLI dist-fork failing for Windows OS (requires new instance of the command interpreter)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • cli
    • None
    • Vista Ultimate 32bit, JDK 1.6.0_18, Hudson 1.350

      Hudson is started with the following batch script:
      @echo off
      set HUDSON_HOME=C:\Work\hudson\hudsonHome
      java -jar hudson.war --javaHome=C:\Program Files\Java\jdk1.6.0_18 --prefix=/hudson --httpPort=8080 --webroot=C:\Work\hudson\winstoneHome --logfile=C:\Work\hudson\hudson.log

      running at the command prompt this command I experience the following error:
      C:\Work\hudson>java -jar hudson-cli.jar -s http://localhost:8080/hudson dist-fork -l master date t
      [distfork8999019989670479689.tmp] $ date /t
      ERROR: Failed to execute a process
      ←[8mha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiETYMzhAYpZIAARpDCAgBF2FTYYAAAAA==←[0mjava.io.IOException: Cannot run program "date" (in directory C:\Work\hudson\hudsonHome\distfork8999019989670479689.tmp"): CreateProcess error=2, The system cannot find the file specified
      at java.lang.ProcessBuilder.start(Unknown Source)
      at hudson.Proc$LocalProc.<init>(Proc.java:149)
      at hudson.Proc$LocalProc.<init>(Proc.java:121)
      at hudson.Launcher$LocalLauncher.launch(Launcher.java:633)
      at hudson.Launcher$ProcStarter.start(Launcher.java:268)
      at hudson.Launcher$ProcStarter.join(Launcher.java:275)
      at hudson.plugins.distfork.DistForkCommand$1.run(DistForkCommand.java:147)
      at hudson.plugins.distfork.DistForkTask$1.run(DistForkTask.java:70)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:122)
      Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
      at java.lang.ProcessImpl.create(Native Method)
      at java.lang.ProcessImpl.<init>(Unknown Source)
      at java.lang.ProcessImpl.start(Unknown Source)
      ... 10 more

      whereas running the command directly at the DOS prompt no errors are generated:
      C:\Work\hudson>date /t
      14/03/2010

      if I explicitely ask for a new Windows command interpreter instance all is fine:
      C:\Work\hudson>java -jar hudson-cli.jar -s http://localhost:8080/hudson dist-fork -l master cmd /c date /t
      [distfork58286187552956103.tmp] $ cmd /c date /t
      14/03/2010

      should dist-fork do this automagically?

      I also noticed the prompt decoration does not really work in the DOS window.
      It seems related to Groovy Shell:
      C:\Work\hudson>java -jar hudson-cli.jar -s http://localhost:8080/hudson groovysh

      ←[32mGroovy Shell←[0m (1.6.0, JVM: 1.6.0_18)
      Type '←[1mhelp←[0m' or '←[1m\h←[0m' for help.
      -------------------------------------------------------------------------------
      ←[1mgroovy:←[0m000←[1m>←[0m quit

      C:\Work\hudson>

            Unassigned Unassigned
            abarbieri Andrea Barbieri
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: