-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Hudson master is v1.355 running within Tomcat container on Sun JDK6 / Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Problem is reproducible on two different slaves:
Slave 1 is another RHEL5 machine, which the master connects to via SSH
Slave 2 is a Windows XP machine, which the master connects to via Cygwin SSH.Hudson master is v1.355 running within Tomcat container on Sun JDK6 / Red Hat Enterprise Linux Server release 5.4 (Tikanga) Problem is reproducible on two different slaves: Slave 1 is another RHEL5 machine, which the master connects to via SSH Slave 2 is a Windows XP machine, which the master connects to via Cygwin SSH.
When a slave build is successful, the CVS tagging step fails with an error that looks like:
Executing tag command: cvs -d :ext:username@cvs-server:/cvsroot/modulename rtag -D "2010-04-27 11:25" ProjectName-15-2010_04_27 modulename
[hudson6778661643085967450tmp] $ cvs -d :ext:samuel@cvs-server:/cvsroot/modulename rtag -D "2010-04-27 11:25" ProjectName-15-2010_04_27 modulename
ERROR: Cannot run program "cvs" (in directory "/usr/java/hudson-tomcat/temp/hudson6778661643085967450tmp"): java.io.IOException: error=2, No such file or directory
java.io.IOException: Cannot run program "cvs" (in directory "/usr/java/hudson-tomcat/temp/hudson6778661643085967450tmp"): java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)
at hudson.Proc$LocalProc.<init>(Proc.java:149)
at hudson.Proc$LocalProc.<init>(Proc.java:121)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:636)
at hudson.Launcher$ProcStarter.start(Launcher.java:271)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:783)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:757)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)
This problem is reproducible on two different slave machines of ours, one which has RH enterprise 5 and the other which is a Windows XP slave. The exception for jobs that use the Windows slave has a slightly different stacktrace, but with the same error message.
My un-educated guess is that after the build is completed on the slave, the cvs tag command ("cvs .. rtag ..") is being executed on the master itself and not on the slave, where the workspace folder actually exists. This is my theory since the path in the failed command contains "/usr/java/hudson-tomcat", which is the location of the Tomcat 6 instance hosting our Hudson install.
We first noticed this issue when our master server was using version 1.334. We upgraded to v1.355 to see if this was a bug that has been fixed, but it was not.
The expected behavior for us would be that the CVS tag command is executed on/by the slave machine, since that is where the workspace folder is.