-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Headless slave running on Windows XP VM on VirtualBox (although probably other OSs also affected, doesn't seem to be related to a specific OS)
When starting a headless slave, sometimes (reproducible, but not 100% of the times) I'm getting the following stack trace in the agent:
C:\JENKINS>java -jar slave.jar -jnlpUrl http://jenkins.spotify.net/computer/VM_WIN_XP_X86-080/slave-agent.jnlp
Oct 22, 2013 2:23:53 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Oct 22, 2013 2:23:53 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among http://jenkins.spotify.net/, http://jenkins.spotify.net:8080/
Oct 22, 2013 2:23:53 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to jenkins.spotify.net:34865
Oct 22, 2013 2:23:53 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Oct 22, 2013 2:23:53 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
Oct 22, 2013 2:23:56 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar b35ef3e93ba517eae00e97270be7dade
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:58 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 6deea5b8153f06bb41ca0dd44f964c46
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:58 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar c288f0abccdd353100c65c8378f5e864
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 2621808a575ba554f897c0f7b1c59f32
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar db8a4df2e81a8cad5ce8ffdc86eb96d0
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 04d04f08030b7ff8337135f2fe2724a7
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 6c9cb13e6476515c5d2744911770081c
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 5ed1268cbe69f4cbda625237fa50c56a
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar f2b017bb6ab6889e7d0f0eb9bd654c6a
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:23:59 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar ca6fbc12eeb6347f4a390fbdc1809c15
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:24:00 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 9a60c9bc211b25f0804489e2ba73e3fa
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:24:00 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 0b9128b93969d70887e94ab24f1f6584
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:24:00 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar e5dc783b43472e79f6d87efd0d91b3fc
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:24:00 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 238ba2515c6e717a4e75e713051807d9
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:24:00 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 6fc00384589a5eeea962787fe3f59119
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Oct 22, 2013 2:31:18 PM hudson.remoting.JarCacheSupport$1 run
WARNING: Failed to resolve a jar 01c76ae3dc6e491e01ca5249eefeb74c
java.lang.IllegalStateException: Unable to call writeJarTo. Invalid object ID 2
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:293)
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(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:722)
Debugging the code it led me to https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/JarCacheSupport.java, which seems to suggest that there's some kind of failure when trying to reach remote JARs and there's no correct retry mechanism implemented.
After this failure, the connection between Jenkins master and the slave seems to be up and running, but no remote commands can be executed in the slave, so we end up with a useless slave.