-
Bug
-
Resolution: Duplicate
-
Major
-
None
Since an update to jenkins 1.395 the maven projects running with an JDK 1.5 arent working anymore.
The error "Bad version number in .class file" looks like something got compiled with a newer java version. This error happens on a slave with maven 2.0.11 and oracle-jdk 1.5.21.
- When i reconfigure the project to oracle-jdk 1.6.20 it works.
- It also works with java 1.5 when executed directly on den shell.
-> The only thing different there is the magic agent stuff.
So i extracted the jars : maven-interceptor, maven-agent, slave.jar, classworlds. Non of which there seems to be a newer .class version number. Any ideas which files could cause the problem? Pretty sure this is a jenkins issue, otherwise maven wouldn't compile it directly on the build system.
LOG:
At revision 56650 no change for http://.../trunk since the previous build Found mavenVersion 2.0.11 from file jar:file:/srv/hudson/tools/maven-2.0.x/lib/maven-2.0.11-uber.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties No emails were triggered. Parsing POMs [maven-versioninfo-plugin] $ /srv/hudson/tools/Java-1.5.x/bin/java -Xmx512m -Xms64m -XX:PermSize=64m -XX:MaxPermSize=128m -cp /srv/hudson/maven-agent.jar:/srv/hudson/classworlds.jar hudson.maven.agent.Main /srv/hudson/tools/maven-2.0.x /srv/hudson/slave.jar /srv/hudson/maven-interceptor.jar 44373 <===[HUDSON REMOTING CAPACITY]===>���channel started channel stopped ERROR: POMs konnten nicht geparst werden java.io.IOException: Remote call on Channel to Maven [/srv/hudson/tools/Java-1.5.x/bin/java, -Xmx512m, -Xms64m, -XX:PermSize=64m, -XX:MaxPermSize=128m, -cp, /srv/hudson/maven-agent.jar:/srv/hudson/classworlds.jar, hudson.maven.agent.Main, /srv/hudson/tools/maven-2.0.x, /srv/hudson/slave.jar, /srv/hudson/maven-interceptor.jar, 44373] failed at hudson.remoting.Channel.call(Channel.java:638) at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156) at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:665) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:420) at hudson.model.Run.run(Run.java:1362) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:424) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:145) 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:151) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131) 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 hudson.plugins.cobertura.MavenCoberturaPublisher.<clinit>(MavenCoberturaPublisher.java:237) at sun.misc.Unsafe.ensureClassInitialized(Native Method) at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25) at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122) at java.lang.reflect.Field.acquireFieldAccessor(Field.java:918) at java.lang.reflect.Field.getFieldAccessor(Field.java:899) at java.lang.reflect.Field.getLong(Field.java:528) at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1586) at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52) at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:408) at java.security.AccessController.doPrivileged(Native Method) at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:400) at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297) at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:531) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552) 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 java.util.ArrayList.readObject(ArrayList.java:591) 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:592) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1812) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at java.util.HashMap.readObject(HashMap.java:1067) 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:592) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1812) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1910) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1834) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at hudson.remoting.UserRequest.deserialize(UserRequest.java:178) at hudson.remoting.UserRequest.perform(UserRequest.java:98) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:270) 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:651) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676) at java.lang.Thread.run(Thread.java:595)
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
src/main/java/hudson/remoting/RemoteClassLoader.java
http://jenkins-ci.org/commit/remoting/220e39d1de592c573ede84acb03d9aedf055819e
Log:
JENKINS-8744improving error diagnosis so that we can pin-point exactly which class is failing to load.