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

"incompatible InnerClasses attribute" error in IBM J9 VM

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Critical
    • Resolution: Fixed
    • core
    • windows 2008 R2, Tomcat 6.0.32, IBM Java 1.6 SR15

    Description

      When starting Jenkins, it always happen that a Slave disappears. The node is simply vanished.
      I have tried looking for specific errors in the log without success, even looking at all log levels. There is an error while unmarshalling an xml, but unsure if it is related. See the stack trace below in any case.

      I have to note that only one disappears, not all.

      The curious thing comes that if I click "Reload configuration from disk", the disappeared slave is loaded correctly this time (the configuration was in the xml there all along, and I'm not overwriting it).

      Information about my instance:
      Version: 1.547 (happened with 1.532 as well)
      java.vm.info JRE 1.6.0 IBM J9 2.4 Windows Server 2008 R2 amd64-64 jvmwa6460sr15-20131016_170922 (JIT enabled, AOT enabled)>J9VM - 20131016_170922>JIT - r9_20130920_46510ifx2>GC - GA24_Java6_SR15_20131016_1337_B170922 (happened with an older version as well, tried updating. I'm aware that IBM Java is not officially supported).
      Using tomcat 6.0.32, on a windows 2008 R2 Standard.

      Possible related bug: https://issues.jenkins-ci.org/browse/JENKINS-21867
      (Also on Windows 2008)

      Error that might be related:
      FINE hudson.util.RobustReflectionConverter addErrorInContext
      Failed to load
      java.lang.IncompatibleClassChangeError: incompatible InnerClasses attribute between "hudson.model.Queue$ItemList" and "hudson.model.Queue"
      at java.lang.Class.getDeclaringClass(Class.java:781)
      at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:46)
      at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:89)
      at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:98)
      at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:134)
      at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:43)
      at sun.reflect.generics.repository.FieldRepository.getGenericType(FieldRepository.java:79)
      at java.lang.reflect.Field.getGenericType(Field.java:236)
      at com.thoughtworks.xstream.mapper.AnnotationMapper.processTypes(AnnotationMapper.java:207)
      at com.thoughtworks.xstream.mapper.AnnotationMapper.processAnnotations(AnnotationMapper.java:165)
      at com.thoughtworks.xstream.mapper.AnnotationMapper.defaultImplementationOf(AnnotationMapper.java:122)
      at hudson.util.xstream.MapperDelegate.defaultImplementationOf(MapperDelegate.java:59)
      at com.thoughtworks.xstream.mapper.MapperWrapper.defaultImplementationOf(MapperWrapper.java:46)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:54)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
      at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
      at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:83)
      at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:61)
      at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:74)
      at hudson.slaves.NodeList$ConverterImpl.unmarshal(NodeList.java:162)
      at hudson.util.XStream2$AssociatedConverterImpl.unmarshal(XStream2.java:338)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
      at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
      at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:328)
      at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:274)
      at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:221)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
      at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
      at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
      at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
      at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1061)
      at hudson.util.XStream2.unmarshal(XStream2.java:109)
      at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1045)
      at hudson.XmlFile.unmarshal(XmlFile.java:163)
      at jenkins.model.Jenkins$17.run(Jenkins.java:2545)
      at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
      at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
      at jenkins.model.Jenkins$7.runTask(Jenkins.java:899)
      at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
      at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:906)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:929)
      at java.lang.Thread.run(Thread.java:761)

      Attachments

        1. Queue.diff
          116 kB
        2. Queue-compile.javap
          208 kB
        3. Queue-package.javap
          211 kB

        Issue Links

          Activity

            jglick Jesse Glick added a comment -

            @dantran because it was committed toward 1.576.

            jglick Jesse Glick added a comment - @dantran because it was committed toward 1.576.
            danielbeck Daniel Beck added a comment -

            Literally one click away: "Upcoming changes"

            danielbeck Daniel Beck added a comment - Literally one click away: "Upcoming changes"
            dantran dan tran added a comment -

            thanks, I am now running 1.576-SNAPSHOT. Good to see this issue is fixed

            dantran dan tran added a comment - thanks, I am now running 1.576-SNAPSHOT. Good to see this issue is fixed
            martinkutter Martin Kutter added a comment -

            IBM has tracked the issue with "incompatible inner Class attribute" as APAR IV62298 - see http://www-01.ibm.com/support/docview.wss?uid=swg1IV62298
            I've received an iFix for Java 7SR7 from IBM, which fixes the issue.

            The fix will be applied in the upcoming IBM JDK 7 SR 8.

            martinkutter Martin Kutter added a comment - IBM has tracked the issue with "incompatible inner Class attribute" as APAR IV62298 - see http://www-01.ibm.com/support/docview.wss?uid=swg1IV62298 I've received an iFix for Java 7SR7 from IBM, which fixes the issue. The fix will be applied in the upcoming IBM JDK 7 SR 8.

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            core/pom.xml
            pom.xml
            http://jenkins-ci.org/commit/jenkins/e4dc3b4210fb6afd80ddf138cafc6bfcb866df5f
            Log:
            [FIXED JENKINS-22525]

            Integrated a bridge-method-injector that rebuilds the constant pool from
            scratch.

            (cherry picked from commit 4e23793f62aa5019226f2ba96f8063f01affeb92)

            Conflicts:
            changelog.html

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/pom.xml pom.xml http://jenkins-ci.org/commit/jenkins/e4dc3b4210fb6afd80ddf138cafc6bfcb866df5f Log: [FIXED JENKINS-22525] Integrated a bridge-method-injector that rebuilds the constant pool from scratch. (cherry picked from commit 4e23793f62aa5019226f2ba96f8063f01affeb92) Conflicts: changelog.html

            People

              kohsuke Kohsuke Kawaguchi
              gabriel Gabriel Lopez
              Votes:
              6 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: