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

JDK jdk1.5.0_12 builds fail with java.lang.UnsupportedClassVersionError since upgrade to Jenkins 1.520

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Blocker Blocker
    • maven-plugin
    • None
    • Windows Server 2008
      Jenkins 1.520 (en 1.521) als windows service behind Apache 2.2.19
      JDK jdk1.7.0_09

      projects build with jdk1.5.0_12

      Projects build with jdk1.5.0_12 fail since the upgrade to Jenkins 1.520

      <===[JENKINS REMOTING CAPACITY]===>channel started
      erreicht: 902
      ERROR: Failed to parse POMs
      java.io.IOException: Remote call on Channel to Maven [D:\apps\Java\jdk1.5.0_12/bin/java, -cp, D:\apps\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven-agent-1.3.jar;D:\apps\Maven\apache-maven-2.2.1\boot\classworlds-1.1.jar, hudson.maven.agent.Main, D:\apps\Maven\apache-maven-2.2.1, D:\apps\Jenkins\war\WEB-INF\lib\remoting-2.24.jar, D:\apps\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven-interceptor-1.3.jar, 51928, D:\apps\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven2.1-interceptor-1.2.jar] failed
      at hudson.remoting.Channel.call(Channel.java:731)
      at hudson.maven.ProcessCache$MavenProcess.<init>(ProcessCache.java:112)
      at hudson.maven.ProcessCache.get(ProcessCache.java:231)
      at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:694)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
      at hudson.model.Run.execute(Run.java:1593)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:247)
      Caused by: java.lang.ClassFormatError: Failed to load hudson.maven.ProcessCache$GetSystemProperties
      at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:291)
      at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:242)
      at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:113)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
      at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
      at hudson.remoting.UserRequest.perform(UserRequest.java:98)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      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.lang.UnsupportedClassVersionError: Bad version number in .class file
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
      at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:289)
      ... 22 more

          [JENKINS-18592] JDK jdk1.5.0_12 builds fail with java.lang.UnsupportedClassVersionError since upgrade to Jenkins 1.520

          Bob Verbrugge created issue -

          Bob Verbrugge added a comment -

          Is this related to the following 1.520 change?

          Core started relying on Java 1.6 as per the agreement in the dev list. If you have a serious objection against it, please let us know before we really start relying on 1.6 features.

          Bob Verbrugge added a comment - Is this related to the following 1.520 change? Core started relying on Java 1.6 as per the agreement in the dev list. If you have a serious objection against it, please let us know before we really start relying on 1.6 features.

          Same problem here:

          java.lang.ClassFormatError: Failed to load hudson.maven.ProcessCache$GetSystemProperties

          It shouldn't be related to core using Java 6, it's a separated classloader, AFAIK.

          Bruno Medeiros added a comment - Same problem here: java.lang.ClassFormatError: Failed to load hudson.maven.ProcessCache$GetSystemProperties It shouldn't be related to core using Java 6, it's a separated classloader, AFAIK.

          Tony Sweeney added a comment -

          We see the same problem. None of our Java5 Maven builds work any longer. Some of the classes in the maven-plugin.hpi are Java6 format:

          [sweeney@hudson0 plugins]$ unzip -l -p maven-plugin.hpi 'WEB-INF/classes/hudson/maven/ProcessCache$GetSystemProperties.class' > xxx
          [sweeney@hudson0 plugins]$ file xxx
          xxx: compiled Java class data, version 50.0
          [sweeney@hudson0 plugins]$ rm xxx
          [sweeney@hudson0 plugins]$
          

          We have to have Java5 artefacts because the target J2EE container runs atop Java5. We can work round this by using the Java6 compiler and modifying the build to explicitly request Java5-compatible artefacts, but that means changing several dozen jobs. If Java5 is deprecated in this release I would have expected to see something in the changelog.

          Tony Sweeney added a comment - We see the same problem. None of our Java5 Maven builds work any longer. Some of the classes in the maven-plugin.hpi are Java6 format: [sweeney@hudson0 plugins]$ unzip -l -p maven-plugin.hpi 'WEB-INF/classes/hudson/maven/ProcessCache$GetSystemProperties.class' > xxx [sweeney@hudson0 plugins]$ file xxx xxx: compiled Java class data, version 50.0 [sweeney@hudson0 plugins]$ rm xxx [sweeney@hudson0 plugins]$ We have to have Java5 artefacts because the target J2EE container runs atop Java5. We can work round this by using the Java6 compiler and modifying the build to explicitly request Java5-compatible artefacts, but that means changing several dozen jobs. If Java5 is deprecated in this release I would have expected to see something in the changelog.
          Jesse Glick made changes -
          Link New: This issue duplicates JENKINS-18403 [ JENKINS-18403 ]
          Jesse Glick made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

          Bob Verbrugge added a comment -

          After installing Jenkins 1.525 the builds using jdk1.5.0_12 still fail with UnsupportedClassVersionError

          Bob Verbrugge added a comment - After installing Jenkins 1.525 the builds using jdk1.5.0_12 still fail with UnsupportedClassVersionError
          Bob Verbrugge made changes -
          Resolution Original: Duplicate [ 3 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]

          Bob Verbrugge added a comment -

          Notice that Jenkins-18403 break builds since 1.518, this issue arises after upgrade from 1.519 to 1.520

          Bob Verbrugge added a comment - Notice that Jenkins-18403 break builds since 1.518, this issue arises after upgrade from 1.519 to 1.520

          Pavel Cervenka added a comment - - edited

          Hello, I have similar problem:

          ... /var/lib/jenkins/tools/hudson.model.JDK/Java_1.5_v22/bin/java -Xms512m -Xmx768m -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.3.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1/boot/classworlds-1.1.jar hudson.maven.agent.Main /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1 /var/cache/jenkins/war/WEB-INF/lib/remoting-2.28.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.3.jar 53755 /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven2.1-interceptor-1.2.jar
          <===[JENKINS REMOTING CAPACITY]===>channel started
          ERROR: Failed to parse POMs
          java.io.IOException: Remote call on Channel to Maven [/var/lib/jenkins/tools/hudson.model.JDK/Java_1.5_v22/bin/java, -Xms512m, -Xmx768m, -cp, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.3.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1/boot/classworlds-1.1.jar, hudson.maven.agent.Main, /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.28.jar, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.3.jar, 53755, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven2.1-interceptor-1.2.jar] failed
          	at hudson.remoting.Channel.call(Channel.java:722)
          	at hudson.maven.ProcessCache$MavenProcess.<init>(ProcessCache.java:112)
          	at hudson.maven.ProcessCache.get(ProcessCache.java:231)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:693)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
          	at hudson.model.Run.execute(Run.java:1593)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:247)
          Caused by: java.lang.ClassFormatError: Failed to load hudson.maven.ProcessCache$GetSystemProperties
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:291)
          	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
          	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
          	at java.lang.Class.forName0(Native Method)
          	at java.lang.Class.forName(Class.java:242)
          	at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:113)
          	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
          	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
          	at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:98)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          	at hudson.remoting.Request$2.run(Request.java:326)
          	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          	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:651)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
          	at java.lang.Thread.run(Thread.java:595)
          Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
          	at java.lang.ClassLoader.defineClass1(Native Method)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:289)
          	... 22 more
          

          I have Jenkins 1.525 on Ora Java 6, patch 45, Redhat 6. What I found is problem with Jenkins Maven plugin, when JAR "classes.jar" (at WEB-INF/lib) was compiled only with Java 6 (magic number is "50"). Other 3rd party libs are based on Java 5 (or lower) ...
          (Class "hudson.maven.ProcessCache" comes from that JAR "classes.jar")

          So maybe will help to rebuild this Jenkins Maven plugin with target Java 5 ???

          Pavel Cervenka added a comment - - edited Hello, I have similar problem: ... /var/lib/jenkins/tools/hudson.model.JDK/Java_1.5_v22/bin/java -Xms512m -Xmx768m -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.3.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1/boot/classworlds-1.1.jar hudson.maven.agent.Main /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1 /var/cache/jenkins/war/WEB-INF/lib/remoting-2.28.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.3.jar 53755 /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven2.1-interceptor-1.2.jar <===[JENKINS REMOTING CAPACITY]===>channel started ERROR: Failed to parse POMs java.io.IOException: Remote call on Channel to Maven [/var/lib/jenkins/tools/hudson.model.JDK/Java_1.5_v22/bin/java, -Xms512m, -Xmx768m, -cp, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.3.jar:/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1/boot/classworlds-1.1.jar, hudson.maven.agent.Main, /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_2.2.1, /var/cache/jenkins/war/WEB-INF/lib/remoting-2.28.jar, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.3.jar, 53755, /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven2.1-interceptor-1.2.jar] failed at hudson.remoting.Channel.call(Channel.java:722) at hudson.maven.ProcessCache$MavenProcess.<init>(ProcessCache.java:112) at hudson.maven.ProcessCache.get(ProcessCache.java:231) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:693) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586) at hudson.model.Run.execute(Run.java:1593) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) Caused by: java.lang.ClassFormatError: Failed to load hudson.maven.ProcessCache$GetSystemProperties at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:291) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:229) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:113) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at hudson.remoting.UserRequest.deserialize(UserRequest.java:182) at hudson.remoting.UserRequest.perform(UserRequest.java:98) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 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:651) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.lang.ClassLoader.defineClass(ClassLoader.java:466) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:289) ... 22 more I have Jenkins 1.525 on Ora Java 6, patch 45, Redhat 6. What I found is problem with Jenkins Maven plugin, when JAR "classes.jar" (at WEB-INF/lib) was compiled only with Java 6 (magic number is "50"). Other 3rd party libs are based on Java 5 (or lower) ... (Class "hudson.maven.ProcessCache" comes from that JAR "classes.jar") So maybe will help to rebuild this Jenkins Maven plugin with target Java 5 ???

            kohsuke Kohsuke Kawaguchi
            bverbrug Bob Verbrugge
            Votes:
            9 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: