-
Bug
-
Resolution: Fixed
-
Blocker
-
None
-
Platform: PC, OS: Windows XP
I am running a Hudson master version 1.315 on windows xp 64-bit. I have a slave
node setup that is running as a windows service (as a domain user) on windows
server 2003. I am trying to run a “Windows Batch Command” on the build slave and
it is erroring out. I have narrowed down to the simplest batch script I could
think of: “dir” and tried running this both on the master and slave nodes. The
master runs just fine. The slave however has a problem during the process clean
up. The batch script is executed successfully, but when control returns to java
I get an exception which fails the build. Here is the full console output from
the job running on the slave node:
Started by user jamesvecore
Building remotely on dtw-sp001-2k3
C:\Hudson\workspace\BidTrail Updates>dir
Volume in drive C has no label.
Volume Serial Number is 7CBE-B88F
Directory of C:\Hudson\workspace\BidTrail Updates
07/14/2009 11:52 AM <DIR> .
07/14/2009 11:52 AM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 49,062,682,624 bytes free
C:\Hudson\workspace\BidTrail Updates>exit 0
FATAL: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at org.jvnet.winp.WinProcess.parseCmdLineAndEnvVars(WinProcess.java:136)
at
org.jvnet.winp.WinProcess.getEnvironmentVariables(WinProcess.java:109)
at
hudson.util.ProcessTree$Windows$1.getEnvironmentVariables(ProcessTree.java:320)
at
hudson.util.ProcessTree$OSProcess.hasMatchingEnvVars(ProcessTree.java:204)
at hudson.util.ProcessTree$OSProcess.access$200(ProcessTree.java:137)
at hudson.util.ProcessTree$Windows.killAll(ProcessTree.java:340)
at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:742)
at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:734)
at hudson.remoting.UserRequest.perform(UserRequest.java:103)
at hudson.remoting.UserRequest.perform(UserRequest.java:47)
at hudson.remoting.Request$2.run(Request.java:236)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Not sure what is going on here but it looks like a bug to me.