Details
-
Bug
-
Status: Resolved (View Workflow)
-
Major
-
Resolution: Fixed
-
Jenkins 1.584, Maven plugin 2.3 or 2.7, Tomcat 6 running on Java6, with JDK 5 selected as Java compiler during Maven build
Description
Hey community,
after the last upgrade (I guess it was from Jenkins 1.551) to Jenkins 1.584 we encounter serious problems with our legacy Java5 Maven builds.
When Jenkins calls the Maven plugin (right after "Parsing poms") the build crashes with the following stacktrace:
Parsing POMs Modules changed, recalculating dependency graph [my-maven-project] $ /var/apphome/162_cipbld/jdk_1.5_latest/bin/java -Xms64m -Xmx256m -XX:PermSize=64m -XX:MaxPermSize=256m -cp /var/apphome/162_cipbld/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.5.jar:/var/apphome/162_cipbld/apache-maven-3.0.4/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /var/apphome/162_cipbld/apache-maven-3.0.4 /var/apphome/162_cipbld/162_cipbld-0/webapps/jenkins/WEB-INF/lib/remoting-2.46.jar /var/apphome/162_cipbld/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.5.jar /var/apphome/162_cipbld/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.5.jar 58566 Exception in thread "main" 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.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386) at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.java:135) at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.java:64) [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties file path '/path/to/my.properties' [EnvInject] - Variables injected successfully. ERROR: Failed to parse POMs java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at java.io.FilterInputStream.read(FilterInputStream.java:116) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:198) at hudson.remoting.Channel.<init>(Channel.java:418) at hudson.remoting.Channel.<init>(Channel.java:397) at hudson.remoting.Channel.<init>(Channel.java:393) at hudson.remoting.Channel.<init>(Channel.java:382) at hudson.remoting.Channel.<init>(Channel.java:374) at hudson.remoting.Channel.<init>(Channel.java:366) at hudson.slaves.Channels$1.<init>(Channels.java:70) at hudson.slaves.Channels.forProcess(Channels.java:70) at hudson.maven.AbstractMavenProcessFactory.newProcess(AbstractMavenProcessFactory.java:280) at hudson.maven.ProcessCache.get(ProcessCache.java:235) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:759) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533) at hudson.model.Run.execute(Run.java:1754) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529) at hudson.model.ResourceController.execute(ResourceController.java:89) at hudson.model.Executor.run(Executor.java:240) Email was triggered for: Failure - Any
I figured out that the only difference between succeeding and failing builds was the version of remoting.jar. The new Jenkins version ships with version 2.46. When I stopped Tomcat and exchanged the remoting-2.46.jar with remoting-2.44.jar the builds work again.
Could you please investigate this as it is crucial to us that the Java5 builds are still stable to build?
Thanks!
Attachments
Issue Links
- is blocking
-
JENKINS-18403 Jenkins 1.518 causes Java 5 Maven builds to fail
-
- Resolved
-
- is duplicated by
-
JENKINS-25325 Update to Jenkins 1.565.3 causes Java 5 Maven builds to fail
-
- Resolved
-
- is related to
-
JENKINS-15198 Support toolchains configuration file like other Maven configuration files (settings, global settings)
-
- Open
-
-
JENKINS-27947 JDK 1.6 maven builds fail when running on Tomcat 8
-
- Resolved
-
-
JENKINS-28120 Jenkins core to require Java7
-
- Resolved
-
- relates to
-
JENKINS-40990 Jenkins 2.27 with remoting 3.0 causes Java 5/6 Maven builds to fail
-
- Resolved
-
- links to
Code changed in jenkins
User: Jesse Glick
Path:
src/main/java/hudson/maven/AbstractMavenProcessFactory.java
http://jenkins-ci.org/commit/maven-plugin/0913aa1f42f004786ea9b34b8cdfdbd9aa8dc4d6
Log:
[FIXED JENKINS-25272] Extend
JENKINS-18403workaround for newer remoting.jar built with -target 6.Also handle a SocketException in Channels.forProcess, arising because Maven31Main tries to load remoting classes and fails.