• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • core
    • None
    • Platform: All, OS: All

      Hudson: trunk

      When I built my projects(Free style, M2 style), I got NPE.

      ERROR: Processing failed due to a bug in the code. Please report this to
      users@hudson.dev.java.net
      java.lang.NullPointerException
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1944)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.resolveProxyClass(MultiClassLoaderSerializer.java:102)
      at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:94)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
      at hudson.remoting.UserRequest.deserialize(UserRequest.java:168)
      at hudson.remoting.UserRequest.perform(UserRequest.java:88)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:236)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)
      project=hudson.maven.MavenModuleSet@1a5049a[Hudson]
      project.getModules()=[hudson.maven.MavenModule@feaf9c[Hudson/org.jvnet.hudson.main:cli],
      hudson.maven.MavenModule@1c506f7[Hudson/org.jvnet.hudson.main:hudson-core],
      hudson.maven.MavenModule@9c8a10[Hudson/org.jvnet.hudson.main:hudson-test-harness],
      hudson.maven.MavenModule@854dc9[Hudson/org.jvnet.hudson.main:hudson-war],
      hudson.maven.MavenModule@119b8ae[Hudson/org.jvnet.hudson.main:maven-agent],
      hudson.maven.MavenModule@633079[Hudson/org.jvnet.hudson.main:maven-interceptor],
      hudson.maven.MavenModule@5855bd[Hudson/org.jvnet.hudson.main:maven-plugin],
      hudson.maven.MavenModule@15d060d[Hudson/org.jvnet.hudson.main:pom],
      hudson.maven.MavenModule@1e219e7[Hudson/org.jvnet.hudson.main:remoting]]
      project.getRootModule()=hudson.maven.MavenModule@15d060d[Hudson/org.jvnet.hudson.main:pom]
      FATAL: null
      java.lang.NullPointerException
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1944)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.resolveProxyClass(MultiClassLoaderSerializer.java:102)
      at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82)
      at
      hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:94)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
      at hudson.remoting.UserRequest.deserialize(UserRequest.java:168)
      at hudson.remoting.UserRequest.perform(UserRequest.java:88)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:236)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)

          [JENKINS-4293] MultiClassLoaderSerializer throws NPE

          Alan Harder added a comment -
              • Issue 4295 has been marked as a duplicate of this issue. ***

          Alan Harder added a comment - Issue 4295 has been marked as a duplicate of this issue. ***

          lifeless added a comment -

          Just noting here, as the master bug - I've checked the ObjectInputStream source,
          and this looks like it is likely to be a bug in MultiClassLoaderSerializer.java
          generating a bad slot descriptor array (see
          http://www.docjar.com/html/api/java/io/ObjectInputStream.java.html line 1871).
          rev 21002 is the cuplrit.

          lifeless added a comment - Just noting here, as the master bug - I've checked the ObjectInputStream source, and this looks like it is likely to be a bug in MultiClassLoaderSerializer.java generating a bad slot descriptor array (see http://www.docjar.com/html/api/java/io/ObjectInputStream.java.html line 1871). rev 21002 is the cuplrit.

          Alan Harder added a comment -

          Using svn plugin 1.5 and hudson current svn I saw the below error trying to do a
          new svn checkout on a slave node. I'm mentioning it in this issue because it
          also went away when I reverted r21002.

          FATAL: cannot assign instance of hudson.model.StreamBuildListener to field
          hudson.scm.SubversionSCM$IsUpdatableTask.listener of type
          hudson.model.TaskListener in instance of hudson.scm.SubversionSCM$IsUpdatableTask
          java.lang.ClassCastException: cannot assign instance of
          hudson.model.StreamBuildListener to field
          hudson.scm.SubversionSCM$IsUpdatableTask.listener of type
          hudson.model.TaskListener in instance of hudson.scm.SubversionSCM$IsUpdatableTask
          at
          java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2004)
          at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1184)
          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1923)
          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1718)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1917)
          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1718)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
          at hudson.remoting.UserRequest.deserialize(UserRequest.java:168)
          at hudson.remoting.UserRequest.perform(UserRequest.java:88)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:236)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
          at java.util.concurrent.FutureTask.run(FutureTask.java:123)
          at
          java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
          at java.lang.Thread.run(Thread.java:595)

          Alan Harder added a comment - Using svn plugin 1.5 and hudson current svn I saw the below error trying to do a new svn checkout on a slave node. I'm mentioning it in this issue because it also went away when I reverted r21002. FATAL: cannot assign instance of hudson.model.StreamBuildListener to field hudson.scm.SubversionSCM$IsUpdatableTask.listener of type hudson.model.TaskListener in instance of hudson.scm.SubversionSCM$IsUpdatableTask java.lang.ClassCastException: cannot assign instance of hudson.model.StreamBuildListener to field hudson.scm.SubversionSCM$IsUpdatableTask.listener of type hudson.model.TaskListener in instance of hudson.scm.SubversionSCM$IsUpdatableTask at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2004) at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1184) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1923) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1718) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1917) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1718) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349) at hudson.remoting.UserRequest.deserialize(UserRequest.java:168) at hudson.remoting.UserRequest.perform(UserRequest.java:88) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:236) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595)

          sogabe added a comment -

          fixed in 1.322

          sogabe added a comment - fixed in 1.322

          huybrechts added a comment -

          What was fixed in 1.322 exactly ?
          I'm getting this on trunk now, and I did not have this exception before (with
          1.321-SNAPSHOT).

          java.lang.NullPointerException
          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.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82)
          at
          hudson.remoting.MultiClassLoaderSerializer$Input.resolveProxyClass(MultiClassLoaderSerializer.java:102)
          at java.io.ObjectInputStream.readProxyDesc(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.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82)
          at
          hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:94)
          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:168)
          at hudson.remoting.UserRequest.perform(UserRequest.java:88)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:236)
          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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)

          huybrechts added a comment - What was fixed in 1.322 exactly ? I'm getting this on trunk now, and I did not have this exception before (with 1.321-SNAPSHOT). java.lang.NullPointerException 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.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82) at hudson.remoting.MultiClassLoaderSerializer$Input.resolveProxyClass(MultiClassLoaderSerializer.java:102) at java.io.ObjectInputStream.readProxyDesc(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.MultiClassLoaderSerializer$Input.readClassLoader(MultiClassLoaderSerializer.java:82) at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:94) 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:168) at hudson.remoting.UserRequest.perform(UserRequest.java:88) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:236) 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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

          The root cause of this is the multi-classloader serialization support in the
          remoting module, which was disabled before we hit a release.

          Rev.21356 disables this, for the reference.

          Kohsuke Kawaguchi added a comment - The root cause of this is the multi-classloader serialization support in the remoting module, which was disabled before we hit a release. Rev.21356 disables this, for the reference.

            Unassigned Unassigned
            sogabe sogabe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: