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

ClassCastException: cannot assign instance of hudson.remoting.ProxyOutputStream$Chunk to field java.lang.Throwable.suppressedExceptions of type java.util.List in instance of hudson.remoting.Command$Source

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • core, remoting
    • None

      We've seen a rare ClassCastException that appears to be an object serialization stream issue:

      Jul 26, 2013 12:19:00 PM hudson.maven.ProcessCache$MavenProcess call
      FINE: Maven JVM terminated unexpectedly with exit code 143
      hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected reader termination
        at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
      	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
      	at hudson.remoting.Request.call(Request.java:174)
      	at hudson.remoting.Channel.call(Channel.java:718)
      	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:757)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:594)
      	at hudson.model.Run.execute(Run.java:1575)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:237)
      Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected reader termination
      	at hudson.remoting.Request.abort(Request.java:299)
      	at hudson.remoting.Channel.terminate(Channel.java:778)
      	at hudson.slaves.Channels$1.terminate(Channels.java:77)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:72)
      Caused by: java.io.IOException: Unexpected reader termination
      	... 1 more
      Caused by: java.lang.ClassCastException: cannot assign instance of hudson.remoting.ProxyOutputStream$Chunk to field java.lang.Throwable.suppressedExceptions of type java.util.List in instance of hudson.remoting.Command$Source
      	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown Source)
      	at java.io.ObjectStreamClass.setObjFieldValues(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
      	at java.lang.Throwable.readObject(Throwable.java:913)
      	at sun.reflect.GeneratedMethodAccessor1626.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
      	at java.lang.Throwable.readObject(Throwable.java:913)
      	at sun.reflect.GeneratedMethodAccessor1626.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
      	at java.lang.Throwable.readObject(Throwable.java:913)
      	at sun.reflect.GeneratedMethodAccessor1626.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
      	at java.lang.Throwable.readObject(Throwable.java:913)
      	at sun.reflect.GeneratedMethodAccessor1626.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(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.Command.readFrom(Command.java:92)
      	at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
      
      Jul 23, 2013 2:24:27 PM hudson.maven.ProcessCache$MavenProcess call
      FINE: Maven JVM terminated unexpectedly with exit code 143
      hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected reader termination
      	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
      	at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
      	at hudson.remoting.Request.call(Request.java:174)
      	at hudson.remoting.Channel.call(Channel.java:718)
      	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:757)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:594)
      	at hudson.model.Run.execute(Run.java:1575)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:237)
      Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected reader termination
      	at hudson.remoting.Request.abort(Request.java:299)
      	at hudson.remoting.Channel.terminate(Channel.java:778)
      	at hudson.slaves.Channels$1.terminate(Channels.java:77)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:72)
      Caused by: java.io.IOException: Unexpected reader termination
      	... 1 more
      Caused by: java.lang.ClassCastException: cannot assign instance of hudson.remoting.UserRequest to field hudson.remoting.Command.createdAt of type java.lang.Exception in instance of hudson.remoting.UnexportCommand
      	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown Source)
      	at java.io.ObjectStreamClass.setObjFieldValues(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(Unknown Source)
      	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      	at java.io.ObjectInputStream.readObject0(Unknown Source)
      	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      	at java.io.ObjectInputStream.readSerialData(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.Command.readFrom(Command.java:92)
      	at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
      

          [JENKINS-19046] ClassCastException: cannot assign instance of hudson.remoting.ProxyOutputStream$Chunk to field java.lang.Throwable.suppressedExceptions of type java.util.List in instance of hudson.remoting.Command$Source

          I'm reading the protocol spec, and I'm really having hard time coming up with a plausible scenario that would cause this problem.

          Within the paired readObject and writeObject, it's easy to cause this. But it's very hard for an object written in Foo.writeObject() to be read by Bar.readObject() because of TC_ENDBLOCKDATA enforcement at the boundary. Every time the application code gets to write stuff to a stream, the spec puts TC_ENDBLOCKDATA marker at the end to catch errors.

          The other variable length places (such as how it reads field values for object) are dictated by the class descriptor that the writer sends, so the reader can't get out of sync there.

          Even the arbitrary byte[] data written gets enveloped into TC_BLOCKDATA, so you can't make a reader get out of sync by reading more bytes from read(byte[]) than you wrote. Ditto for primitive values.

          So unless the sequence of bytes are tampered after it left ObjectOutputStream and before read by ObjectInputStream, the framing logic feels ironcrad. And such a stream corruption normally occurs a boundary between data burst, and not in the middle like this.

          I'm filing this ticket here to see if anyone else saw the same problem.

          Kohsuke Kawaguchi added a comment - I'm reading the protocol spec , and I'm really having hard time coming up with a plausible scenario that would cause this problem. Within the paired readObject and writeObject , it's easy to cause this. But it's very hard for an object written in Foo.writeObject() to be read by Bar.readObject() because of TC_ENDBLOCKDATA enforcement at the boundary. Every time the application code gets to write stuff to a stream, the spec puts TC_ENDBLOCKDATA marker at the end to catch errors. The other variable length places (such as how it reads field values for object) are dictated by the class descriptor that the writer sends, so the reader can't get out of sync there. Even the arbitrary byte[] data written gets enveloped into TC_BLOCKDATA , so you can't make a reader get out of sync by reading more bytes from read(byte[]) than you wrote. Ditto for primitive values. So unless the sequence of bytes are tampered after it left ObjectOutputStream and before read by ObjectInputStream , the framing logic feels ironcrad. And such a stream corruption normally occurs a boundary between data burst, and not in the middle like this. I'm filing this ticket here to see if anyone else saw the same problem.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          src/main/java/hudson/remoting/ClassicCommandTransport.java
          http://jenkins-ci.org/commit/remoting/8c9064025fb341237c1411e4c2d1602868d9c585
          Log:
          JENKINS-19046

          Improving the stream diagnosis to report the actual contents of the stream.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/hudson/remoting/ClassicCommandTransport.java http://jenkins-ci.org/commit/remoting/8c9064025fb341237c1411e4c2d1602868d9c585 Log: JENKINS-19046 Improving the stream diagnosis to report the actual contents of the stream.

          René Zanner added a comment -

          Last weekend we got something similar (just with hudson.remoting.UnexportCommand instead of hudson.remoting.ProxyOutputStream$Chunk) on Jenkins 1.609.2 while triggering a job on one of our remote Windows slaves. Is it something related?

          ERROR: Processing failed due to a bug in the code. Please report this to jenkinsci-users@googlegroups.com
          hudson.remoting.RequestAbortedException: hudson.remoting.DiagnosedStreamCorruptionException
          Read back: 'ysr' 0x00 '2hudson.remoting.RemoteInvocationHandler$RPCRequest' 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0x00 0x04 'I' 0x00 0x03 'oid[' 0x00 0x09 'argumentst' 0x00 0x13 '[Ljava/lang/Object;L' 0x00 0x0a
          ...
          'xq' 0x00 '~' 0x00 'ixq' 0x00 '~' 0x00 0x07
          	at hudson.remoting.Request.abort(Request.java:296)
          	at hudson.remoting.Channel.terminate(Channel.java:815)
          	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
          	at ......remote call to LPVM178(Native Method)
          	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1360)
          	at hudson.remoting.Request.call(Request.java:171)
          	at hudson.remoting.Channel.call(Channel.java:752)
          	at hudson.FilePath.act(FilePath.java:978)
          	at hudson.FilePath.act(FilePath.java:967)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:960)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:679)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:536)
          	at hudson.model.Run.execute(Run.java:1738)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
          	at hudson.model.ResourceController.execute(ResourceController.java:98)
          	at hudson.model.Executor.run(Executor.java:381)
          Caused by: hudson.remoting.DiagnosedStreamCorruptionException
          Read back: 'ysr' 0x00 '2hudson.remoting.RemoteInvocationHandler$RPCRequest' 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0x00 0x04 'I' 0x00 0x03 'oid[' 
          ...
          'xq' 0x00 '~' 0x00 'ixq' 0x00 '~' 0x00 0x07
          	at hudson.remoting.FlightRecorderInputStream.analyzeCrash(FlightRecorderInputStream.java:76)
          	at hudson.remoting.ClassicCommandTransport.diagnoseStreamCorruption(ClassicCommandTransport.java:93)
          	at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:75)
          	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
          Caused by: java.lang.ClassCastException: cannot assign instance of hudson.remoting.UnexportCommand to field java.lang.Throwable.suppressedExceptions of type java.util.List in instance of hudson.remoting.Command$Source
          	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2089)
          	at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1261)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2006)
          	at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501)
          	at java.lang.Throwable.readObject(Throwable.java:914)
          	at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:497)
          	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501)
          	at java.lang.Throwable.readObject(Throwable.java:914)
          	at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:497)
          	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501)
          	at java.lang.Throwable.readObject(Throwable.java:914)
          	at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:497)
          	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501)
          	at java.lang.Throwable.readObject(Throwable.java:914)
          	at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:497)
          	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
          	at hudson.remoting.Command.readFrom(Command.java:92)
          	at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:70)

          René Zanner added a comment - Last weekend we got something similar (just with hudson.remoting.UnexportCommand instead of hudson.remoting.ProxyOutputStream$Chunk ) on Jenkins 1.609.2 while triggering a job on one of our remote Windows slaves. Is it something related? ERROR: Processing failed due to a bug in the code. Please report this to jenkinsci-users@googlegroups.com hudson.remoting.RequestAbortedException: hudson.remoting.DiagnosedStreamCorruptionException Read back: 'ysr' 0x00 '2hudson.remoting.RemoteInvocationHandler$RPCRequest' 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0x00 0x04 'I' 0x00 0x03 'oid[' 0x00 0x09 'argumentst' 0x00 0x13 '[Ljava/lang/ Object ;L' 0x00 0x0a ... 'xq' 0x00 '~' 0x00 'ixq' 0x00 '~' 0x00 0x07 at hudson.remoting.Request.abort(Request.java:296) at hudson.remoting.Channel.terminate(Channel.java:815) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69) at ......remote call to LPVM178(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1360) at hudson.remoting.Request.call(Request.java:171) at hudson.remoting.Channel.call(Channel.java:752) at hudson.FilePath.act(FilePath.java:978) at hudson.FilePath.act(FilePath.java:967) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:960) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:679) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:536) at hudson.model.Run.execute(Run.java:1738) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:381) Caused by: hudson.remoting.DiagnosedStreamCorruptionException Read back: 'ysr' 0x00 '2hudson.remoting.RemoteInvocationHandler$RPCRequest' 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0x00 0x04 'I' 0x00 0x03 'oid[' ... 'xq' 0x00 '~' 0x00 'ixq' 0x00 '~' 0x00 0x07 at hudson.remoting.FlightRecorderInputStream.analyzeCrash(FlightRecorderInputStream.java:76) at hudson.remoting.ClassicCommandTransport.diagnoseStreamCorruption(ClassicCommandTransport.java:93) at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:75) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48) Caused by: java.lang.ClassCastException: cannot assign instance of hudson.remoting.UnexportCommand to field java.lang.Throwable.suppressedExceptions of type java.util.List in instance of hudson.remoting.Command$Source at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2089) at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1261) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2006) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:501) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) at hudson.remoting.Command.readFrom(Command.java:92) at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:70)

          Oleg Nenashev added a comment -

          Yes, I'd guess it still exists.

          Oleg Nenashev added a comment - Yes, I'd guess it still exists.

          Jeff Thompson added a comment -

          I took a look at this and agree that there's no clear explanation. The two provided log output streams share a commonality in that both are using MavenModuleSetBuild but they also have some differences. Whatever this problem was originally it may still exist but we still lack sufficient information to do anything about it. 

          The defect was originally submitted to see if anyone else has seen it and since that time we've only received one additional report. It doesn't appear to be frequent enough to catch it. Unless we receive additional information I propose to close this soon as Cannot Reproduce.

          Jeff Thompson added a comment - I took a look at this and agree that there's no clear explanation. The two provided log output streams share a commonality in that both are using MavenModuleSetBuild but they also have some differences. Whatever this problem was originally it may still exist but we still lack sufficient information to do anything about it.  The defect was originally submitted to see if anyone else has seen it and since that time we've only received one additional report. It doesn't appear to be frequent enough to catch it. Unless we receive additional information I propose to close this soon as Cannot Reproduce.

          Jeff Thompson added a comment -

          There is no more interest or information recently in this issue than there has been for a long time. I will go ahead and close it as Cannot Reproduce.

          Jeff Thompson added a comment - There is no more interest or information recently in this issue than there has been for a long time. I will go ahead and close it as Cannot Reproduce.

            jthompson Jeff Thompson
            kohsuke Kohsuke Kawaguchi
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: