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

NotSerializableException: org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • remoting
    • None
    • Platform: All, OS: Linux

      Hi,
      i have setup a master slave env. All builds failed with the following exception:
      hudson.util.IOException2: remote file operation failed
      at hudson.FilePath.act(FilePath.java:287)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:239)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:192)
      at hudson.model.Run.run(Run.java:649)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:172)
      at hudson.model.ResourceController.execute(ResourceController.java:70)
      at hudson.model.Executor.run(Executor.java:64)
      Caused by: java.io.IOException: Unable to serialize hudson.util.IOException2:
      Cannot find parent: suite4p.maven:suite4p.maven.toolkit for project:
      suite4p.messaging:suite4p.messaging:pom:6.2.0-SNAPSHOT
      at hudson.remoting.UserRequest.serialize(UserRequest.java:103)
      at hudson.remoting.UserRequest.perform(UserRequest.java:83)
      at hudson.remoting.UserRequest.perform(UserRequest.java:23)
      at hudson.remoting.Request$2.run(Request.java:200)
      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)
      Caused by: java.io.NotSerializableException:
      org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
      at java.util.ArrayList.writeObject(ArrayList.java:569)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
      at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:391)
      at java.lang.Throwable.writeObject(Throwable.java:649)
      at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
      at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:391)
      at java.lang.Throwable.writeObject(Throwable.java:649)
      at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
      at hudson.remoting.UserRequest.serialize(UserRequest.java:100)
      ... 9 more

          [JENKINS-1041] NotSerializableException: org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout

          kleinmantara added a comment -

          Hudson Version: 1.159
          Master VM: 1.6.0_01-b06
          Slave VM: 1.6.0_01-b06

          kleinmantara added a comment - Hudson Version: 1.159 Master VM: 1.6.0_01-b06 Slave VM: 1.6.0_01-b06

          Note to myself. This is the remote operation failing with the "Cannot find
          parent: suite4p.maven:suite4p.maven.toolkit for project" exception, which
          contains a non-serializable DefaultRepositoryLayout object (presumably indirectly.)

          So the error detection and reporting needs to be done on remote.

          Kohsuke Kawaguchi added a comment - Note to myself. This is the remote operation failing with the "Cannot find parent: suite4p.maven:suite4p.maven.toolkit for project" exception, which contains a non-serializable DefaultRepositoryLayout object (presumably indirectly.) So the error detection and reporting needs to be done on remote.

          kleinmantara added a comment -

          This is the log (Hudson » nodes » note01) from the slave
          [11/26/07 21:01:35] Launching slave agent
          $ ssh hudson@10.10.10.19 /home/DATA/java/jdk1.6.0_01/bin/java -jar
          /home/DATA/hudson/slave.jar
          channel started
          Copied maven-agent.jar
          Copied maven-interceptor.jar
          This is a Unix slave

          kleinmantara added a comment - This is the log (Hudson » nodes » note01) from the slave [11/26/07 21:01:35] Launching slave agent $ ssh hudson@10.10.10.19 /home/DATA/java/jdk1.6.0_01/bin/java -jar /home/DATA/hudson/slave.jar channel started Copied maven-agent.jar Copied maven-interceptor.jar This is a Unix slave

          alrubinger added a comment -

          Created an attachment (id=570)
          Error trace

          alrubinger added a comment - Created an attachment (id=570) Error trace

          Code changed in hudson
          User: : kohsuke
          Path:
          trunk/hudson/main/remoting/src/main/java/hudson/remoting/ProxyException.java
          trunk/hudson/main/remoting/src/main/java/hudson/remoting/UserRequest.java
          trunk/hudson/main/remoting/src/test/java/hudson/remoting/NonSerializableExceptionTest.java
          trunk/www/changelog.html
          http://fisheye4.cenqua.com/changelog/hudson/?cs=15497
          Log:
          [FIXED JENKINS-1041] Improved the handling of this problem by transforming an exception into a proxy type that can be serialized.

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : kohsuke Path: trunk/hudson/main/remoting/src/main/java/hudson/remoting/ProxyException.java trunk/hudson/main/remoting/src/main/java/hudson/remoting/UserRequest.java trunk/hudson/main/remoting/src/test/java/hudson/remoting/NonSerializableExceptionTest.java trunk/www/changelog.html http://fisheye4.cenqua.com/changelog/hudson/?cs=15497 Log: [FIXED JENKINS-1041] Improved the handling of this problem by transforming an exception into a proxy type that can be serialized.

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

              Created:
              Updated:
              Resolved: