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

Failure to resolve JARs on headless agents

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: slave-status-plugin
    • Labels:
      None
    • Environment:
      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)
    • Similar Issues:

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              agoconcept Santiago Gallego
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: