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

SEVERE: Trying to unexport an object that's already unexported

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core

      Just upgraded to 1.561, and I'm happy to see JENKINS-20769 fixed, but now I'm seeing these instead:

      SEVERE: Trying to unexport an object that's already unexported
      java.lang.IllegalStateException: Invalid object ID 6 iota=36
      	at hudson.remoting.ExportTable.diagnoseInvalidId(ExportTable.java:277)
      	at hudson.remoting.ExportTable.unexportByOid(ExportTable.java:300)
      	at hudson.remoting.Channel.unexport(Channel.java:600)
      	at hudson.remoting.UnexportCommand.execute(UnexportCommand.java:38)
      	at hudson.remoting.Channel$2.handle(Channel.java:475)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:60)
      Caused by: java.lang.Exception: Object was recently deallocated
      #6 (ref.0) : hudson.remoting.FastPipedOutputStream
        Created at Fri May 02 09:50:35 PDT 2014
      	at hudson.remoting.ExportTable$Entry.<init>(ExportTable.java:86)
      	at hudson.remoting.ExportTable.export(ExportTable.java:239)
      	at hudson.remoting.Channel.export(Channel.java:592)
      	at hudson.remoting.Pipe.writeObject(Pipe.java:158)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
      	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495)
      	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
      	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
      	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
      	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
      	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
      	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
      	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
      	at hudson.remoting.UserRequest._serialize(UserRequest.java:155)
      	at hudson.remoting.UserRequest.serialize(UserRequest.java:164)
      	at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
      	at hudson.remoting.Channel.callAsync(Channel.java:766)
      	at hudson.FilePath.read(FilePath.java:1640)
      	at hudson.FilePath.readToString(FilePath.java:1662)
      	at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:126)
      	at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:61)
      	at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:107)
      	at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:204)
      	at hudson.model.JDK.forNode(JDK.java:126)
      	at org.jenkinsci.plugins.envinject.service.EnvInjectVariableGetter.getBuildVariables(EnvInjectVariableGetter.java:79)
      	at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironmentWithoutJobPropertyObject(EnvInjectListener.java:231)
      	at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.java:46)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.java:570)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:476)
      	at hudson.model.Run.execute(Run.java:1709)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:231)
        Released at Fri May 02 09:50:35 PDT 2014
      	at hudson.remoting.ExportTable$Entry.release(ExportTable.java:115)
      	at hudson.remoting.ExportTable.unexportByOid(ExportTable.java:303)
      	at hudson.remoting.Channel.unexport(Channel.java:600)
      	at hudson.remoting.ProxyOutputStream$EOF$1.run(ProxyOutputStream.java:384)
      	at hudson.remoting.PipeWriter$1.run(PipeWriter.java:158)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:111)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:744)
      
      	at hudson.remoting.ExportTable.diagnoseInvalidId(ExportTable.java:270)
      	... 5 more
      Caused by:   Released at Fri May 02 09:50:35 PDT 2014
      	at hudson.remoting.ExportTable$Entry.release(ExportTable.java:115)
      	at hudson.remoting.ExportTable.unexportByOid(ExportTable.java:303)
      	at hudson.remoting.Channel.unexport(Channel.java:600)
      	at hudson.remoting.ProxyOutputStream$EOF$1.run(ProxyOutputStream.java:384)
      	at hudson.remoting.PipeWriter$1.run(PipeWriter.java:158)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:111)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:744)
      

          [JENKINS-22853] SEVERE: Trying to unexport an object that's already unexported

          Christian Goetze created issue -

          Reverting to 1.558 Seems to avoid these errors.

          Christian Goetze added a comment - Reverting to 1.558 Seems to avoid these errors.

          Matt Byrne added a comment -

          Yea seems to cause our builds to hang during archive from slave and eventually leads to OutOfMemory - needed to downgrade.

          Matt Byrne added a comment - Yea seems to cause our builds to hang during archive from slave and eventually leads to OutOfMemory - needed to downgrade.

          Daniel Beck added a comment -

          Would be interesting to see whether this is just another failure mode of JENKINS-22734 that affects 1.560-1.562 and is fixed in 1.563 (RC available now, release soon).

          Daniel Beck added a comment - Would be interesting to see whether this is just another failure mode of JENKINS-22734 that affects 1.560-1.562 and is fixed in 1.563 (RC available now, release soon).

          Bo Madsen added a comment -

          I have just upgraded to 1.563, and the error is still there. So unfortunately no, it is not fixed.

          Bo Madsen added a comment - I have just upgraded to 1.563, and the error is still there. So unfortunately no, it is not fixed.

          Alan Norton added a comment - - edited

          Latest Jenkins ver. 1.563 still exhibits this issue. I've see this exception ~500 times (according to jenkins' master logs) in the last 24hrs of running 1.563.

          My setup was hit pretty hard by https://issues.jenkins-ci.org/browse/JENKINS-22734, and the stability in 1.563 is considerably improved (thanks!), but the java -jar /tmp/slave.jar process on EC2 (3.10.38-49.136.amzn1.x86_64 + java-1.7.0_55) slaves still dies occasionally. It seems to happen more frequently on jobs that produce a lot of verbose, debugging output.

          At this point, I'm unsure if this issue (SEVERE: Trying to unexport an object that's already unexported) is actually the cause of the slave.jar process dying or just a coincidental occurrence.

          Open to suggestions as to how to provide better debugging information. Happy to help in any way I can.

          Alan Norton added a comment - - edited Latest Jenkins ver. 1.563 still exhibits this issue. I've see this exception ~500 times (according to jenkins' master logs) in the last 24hrs of running 1.563. My setup was hit pretty hard by https://issues.jenkins-ci.org/browse/JENKINS-22734 , and the stability in 1.563 is considerably improved (thanks!), but the java -jar /tmp/slave.jar process on EC2 (3.10.38-49.136.amzn1.x86_64 + java-1.7.0_55) slaves still dies occasionally. It seems to happen more frequently on jobs that produce a lot of verbose, debugging output. At this point, I'm unsure if this issue ( SEVERE: Trying to unexport an object that's already unexported ) is actually the cause of the slave.jar process dying or just a coincidental occurrence. Open to suggestions as to how to provide better debugging information. Happy to help in any way I can.
          Jesse Glick made changes -
          Labels New: remoting

          Elmar Weber added a comment -

          Same issue here, I also cannot upgrade to anything beyond 1.558, I'm getting the message reproducible on archiving artifacts from a remote build bia an agent.

          Only seems to happen for larger files though. Small projects run without issues for the most time, but larger ones (several artifacts with ~20-30MB) got stuck on "Archiving artifacts" with this message in the log. I have then to restart Jenkins to fix the slave.

          I don't have the time right now to do extensive tests / debug (after next week again), but I can quickly test stuff with a new war file if that helps.

          Elmar Weber added a comment - Same issue here, I also cannot upgrade to anything beyond 1.558, I'm getting the message reproducible on archiving artifacts from a remote build bia an agent. Only seems to happen for larger files though. Small projects run without issues for the most time, but larger ones (several artifacts with ~20-30MB) got stuck on "Archiving artifacts" with this message in the log. I have then to restart Jenkins to fix the slave. I don't have the time right now to do extensive tests / debug (after next week again), but I can quickly test stuff with a new war file if that helps.

          No Thanks added a comment -

          On version 1.563 and see the same issue.

          No Thanks added a comment - On version 1.563 and see the same issue.

          Filip Noetzel added a comment -

          I'm also seeing this with 1.562 when using slaves that connect to localhost.

          Filip Noetzel added a comment - I'm also seeing this with 1.562 when using slaves that connect to localhost.

            oleg_nenashev Oleg Nenashev
            cg Christian Goetze
            Votes:
            62 Vote for this issue
            Watchers:
            86 Start watching this issue

              Created:
              Updated:
              Resolved: