Windows XP slave agent launch failure on 1.519

170 views
Skip to first unread message

Jonathan Daugherty

unread,
Jun 20, 2013, 1:19:00 PM6/20/13
to jenkins...@googlegroups.com
Greetings,

Today I upgraded my Jenkins installation from 1.500 to 1.519. I also upgraded
some plugins (I can get my plugin list if need be). The upgrade went fine in
all respects except one: I now have a Windows XP slave whose agent is failing
to launch. My attempts to find an explanation for this (via Google) have
failed; I'd love some advice. This is a Windows XP slave running Cygwin and
using the SSH unix slave launch option. Here's the log. Thanks!

[06/20/13 10:09:57] [SSH] Opening SSH connection to myslave:22.
[06/20/13 10:09:58] [SSH] Authentication successful.
[06/20/13 10:09:58] [SSH] The remote users environment is:
ALLUSERSPROFILE='C:\Documents and Settings\All Users'
BASH=/bin/bash
BASHOPTS=cmdhist:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_EXECUTION_STRING=set
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="1" [2]="10" [3]="4" [4]="release" [5]="i686-pc-cygwin")
BASH_VERSION='4.1.10(4)-release'
COMPUTERNAME=MYSLAVE
COMSPEC='C:\WINDOWS\system32\cmd.exe'
DIRSTACK=()
EUID=1007
GROUPS=()
HOME=/home/hudson
HOMEDRIVE=C:
HOMEPATH='\cygwin\home\hudson'
HOSTNAME=MYSLAVE
HOSTTYPE=i686
IFS=$' \t\n'
LOGNAME=hudson
MACHTYPE=i686-pc-cygwin
MAIL=/var/spool/mail//hudson
OPTERR=1
OPTIND=1
OS=Windows_NT
OSTYPE=cygwin
PATH=/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/bin
PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PIPESTATUS=([0]="0")
PPID=2020
PROGRAMFILES='C:\Program Files'
PS4='+ '
PWD=/home/hudson
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
SYSTEMDRIVE=C:
SYSTEMROOT='C:\WINDOWS'
TEMP='c:\Cygwin\home\hudson\tmp'
TEMPDIR='c:\Cygwin\home\hudson\tmp'
TERM=dumb
TMP='c:\Cygwin\home\hudson\tmp'
TMPDIR='c:\Cygwin\home\hudson\tmp'
UID=1007
USER=hudson
USERDOMAIN='NT AUTHORITY'
USERNAME=SYSTEM
WINDIR='C:\WINDOWS'
_=TEMPDIR
[06/20/13 10:09:58] [SSH] Checking java version of java
[06/20/13 10:09:58] [SSH] java -version returned 1.6.0_45.
[06/20/13 10:09:58] [SSH] Starting sftp client.
[06/20/13 10:09:59] [SSH] Copying latest slave.jar...
[06/20/13 10:09:59] [SSH] Copied 326,006 bytes.
Expanded the channel window size to 4MB
[06/20/13 10:09:59] [SSH] Starting slave process: cd '/home/hudson/build-root' && java -jar slave.jar
<===[JENKINS REMOTING CAPACITY]===>channel started
Jun 20, 2013 10:10:07 AM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 99359fe9ac016153261e724d92de37eb
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile0(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at hudson.remoting.FileSystemJarCache.retrieve(FileSystemJarCache.java:60)
at hudson.remoting.JarCacheSupport$1.run(JarCacheSupport.java:62)
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 hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:89)
Slave.jar version: 2.24
This is a Windows slave
java.io.IOException: Remote call on myslave failed
at hudson.remoting.Channel.call(Channel.java:731)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:465)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:343)
at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:705)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:499)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:226)
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:679)
Caused by: java.lang.NoClassDefFoundError: hudson/util/RingBufferLogHandler
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredField(Unknown Source)
at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source)
at java.io.ObjectStreamClass.access$700(Unknown Source)
at java.io.ObjectStreamClass$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.<init>(Unknown Source)
at java.io.ObjectStreamClass.lookup(Unknown Source)
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
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)
Caused by: java.lang.ClassNotFoundException: hudson.util.RingBufferLogHandler
at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:237)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 25 more
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: The system cannot find the path specified
at hudson.remoting.AsyncFutureImpl.get(AsyncFutureImpl.java:75)
at hudson.remoting.FutureAdapter.get(FutureAdapter.java:55)
at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229)
... 27 more
Caused by: java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile0(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at hudson.remoting.FileSystemJarCache.retrieve(FileSystemJarCache.java:60)
at hudson.remoting.JarCacheSupport$1.run(JarCacheSupport.java:62)
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 hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:89)
ERROR: Connection terminated
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2570)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at hudson.remoting.Command.readFrom(Command.java:92)
at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:59)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
[06/20/13 10:10:05] [SSH] Connection closed.
ERROR: [06/20/13 10:10:05] slave agent was terminated
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2570)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1314)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at hudson.remoting.Command.readFrom(Command.java:92)
at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:59)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

--
Jonathan Daugherty
Software Engineer
Galois, Inc.

Jonathan Daugherty

unread,
Jun 24, 2013, 2:42:43 PM6/24/13
to jenkins...@googlegroups.com
> Today I upgraded my Jenkins installation from 1.500 to 1.519. I also
> upgraded some plugins (I can get my plugin list if need be). The
> upgrade went fine in all respects except one: I now have a Windows XP
> slave whose agent is failing to launch. My attempts to find an
> explanation for this (via Google) have failed; I'd love some advice.
> This is a Windows XP slave running Cygwin and using the SSH unix slave
> launch option. Here's the log. Thanks!
>
> Jun 20, 2013 10:10:07 AM hudson.remoting.JarCacheSupport$1 run
> WARNING: Failed to resolve a jar 99359fe9ac016153261e724d92de37eb
> java.io.IOException: The system cannot find the path specified

This report has the same symptom:

http://jenkins-ci.361315.n4.nabble.com/JIRA-maven-JENKINS-18459-IOException-No-Such-File-td4670433.html

Kevin Fleming (BLOOMBERG/ 731 LEXIN)

unread,
Jun 24, 2013, 2:53:02 PM6/24/13
to jenkins...@googlegroups.com
Is there any chance you have Java 5 (1.5.x) installed on this slave? If so, you'll need to upgrade to Java 6 or 7.
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Jonathan Daugherty

unread,
Jun 24, 2013, 2:57:24 PM6/24/13
to jenkins...@googlegroups.com
> Is there any chance you have Java 5 (1.5.x) installed on this slave?
> If so, you'll need to upgrade to Java 6 or 7.

I experience this failure using Java 1.7.0_25 and Java 1.6.0_45.

Kevin Fleming (BLOOMBERG/ 731 LEXIN)

unread,
Jun 24, 2013, 3:01:16 PM6/24/13
to jenkins...@googlegroups.com
Oh well, it was worth a shot :-)


----- Original Message -----
From: jenkins...@googlegroups.com
To: jenkins...@googlegroups.com

Jonathan Daugherty

unread,
Jun 24, 2013, 3:56:25 PM6/24/13
to jenkins...@googlegroups.com
> Jun 20, 2013 10:10:07 AM hudson.remoting.JarCacheSupport$1 run
> WARNING: Failed to resolve a jar 99359fe9ac016153261e724d92de37eb
> java.io.IOException: The system cannot find the path specified
> at java.io.WinNTFileSystem.createFileExclusively(Native Method)
> at java.io.File.checkAndCreate(Unknown Source)
> at java.io.File.createTempFile0(Unknown Source)
> at java.io.File.createTempFile(Unknown Source)

Is there some way I can find out what path this is actually trying to
use? This appears to be attempting to create a temporary file, so it
could have a botched tempfile path. The slave log in the master logs
directory just provides this same info again, so that's not very
helpful.

Jonathan Daugherty

unread,
Jun 24, 2013, 4:25:23 PM6/24/13
to jenkins...@googlegroups.com
> Jun 20, 2013 10:10:07 AM hudson.remoting.JarCacheSupport$1 run
> WARNING: Failed to resolve a jar 99359fe9ac016153261e724d92de37eb
> java.io.IOException: The system cannot find the path specified
> at java.io.WinNTFileSystem.createFileExclusively(Native Method)
> at java.io.File.checkAndCreate(Unknown Source)
> at java.io.File.createTempFile0(Unknown Source)
> at java.io.File.createTempFile(Unknown Source)
> at hudson.remoting.FileSystemJarCache.retrieve(FileSystemJarCache.java:60)
> at hudson.remoting.JarCacheSupport$1.run(JarCacheSupport.java:62)
> 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 hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:89)

I managed to work around this problem by passing the -jar-cache option
to the slave command line[1] and setting the directory manually. Sadly,
I found this only by looking at the FileSystemJarCache and
JarCacheSupport source files. I also still don't know what path it was
attempting to use.

[1] https://github.com/jenkinsci/remoting/commit/b5145a06876f4390ef3229d70fa5a7edf0739dae#L2R143

Mark Lamourine

unread,
Jul 19, 2013, 4:49:15 PM7/19/13
to jenkins...@googlegroups.com, j...@galois.com
What path did you end up supplying to make it work?

- Mark
Reply all
Reply to author
Forward
0 new messages