[JIRA] [core] (JENKINS-29405) NoClassDefFoundError on master restart

1 view
Skip to first unread message

david.ishee@gmail.com (JIRA)

unread,
Jul 13, 2015, 5:59:01 PM7/13/15
to jenkinsc...@googlegroups.com
David Ishee created an issue
 
Jenkins / Bug JENKINS-29405
NoClassDefFoundError on master restart
Issue Type: Bug Bug
Assignee: Unassigned
Components: core
Created: 13/Jul/15 9:58 PM
Environment: Jenkins 1.580.3
Red Hat Enterprise Linux 5
Java v1.7 (jdk1.7.0_67), 64 bit
Unix slave, version 2.47
standalone install, not in Tomcat / etc
Priority: Minor Minor
Reporter: David Ishee

I get errors like this everytime I restart the master. Some slaves are very sensitive to this, and others never seem to have this issue. I have some jobs that run on a schedule such as "H/30 * * * *" and they will fail until I manually disconnect the slave and re-launch it.

java.io.IOException: Remote call on myslavename failed
	at hudson.remoting.Channel.call(Channel.java:760)
	at hudson.Launcher$RemoteLauncher.launch(Launcher.java:916)
	at hudson.Launcher$ProcStarter.start(Launcher.java:381)
	at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:97)
	at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
	at hudson.model.Build$BuildExecution.build(Build.java:199)
	at hudson.model.Build$BuildExecution.doRun(Build.java:160)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
	at hudson.model.Run.execute(Run.java:1745)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:89)
	at hudson.model.Executor.run(Executor.java:240)
Caused by: java.lang.NoClassDefFoundError: hudson/remoting/ProxyOutputStream
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Class.java:2436)
	at java.lang.Class.getDeclaredField(Class.java:1946)
	at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1659)
	at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:72)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:480)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:468)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:468)
	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:602)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
	at hudson.util.StreamTaskListener.readObject(StreamTaskListener.java:166)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
	at hudson.remoting.UserRequest.deserialize(UserRequest.java:185)
	at hudson.remoting.UserRequest.perform(UserRequest.java:99)
	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
	at hudson.remoting.Request$2.run(Request.java:324)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
	at ......remote call to fwjsfimat15_Linux_caeadm(Native Method)
	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1356)
	at hudson.remoting.UserResponse.retrieve(UserRequest.java:221)
	at hudson.remoting.Channel.call(Channel.java:752)
	... 13 more
Caused by: java.lang.ClassNotFoundException: hudson.remoting.ProxyOutputStream
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Class.java:2436)
	at java.lang.Class.getDeclaredField(Class.java:1946)
	at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1659)
	at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:72)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:480)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:468)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:468)
	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:602)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
	at hudson.util.StreamTaskListener.readObject(StreamTaskListener.java:166)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
	at hudson.remoting.UserRequest.deserialize(UserRequest.java:185)
	at hudson.remoting.UserRequest.perform(UserRequest.java:99)
	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
	at hudson.remoting.Request$2.run(Request.java:324)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.zip.ZipException: error reading zip file
	at java.util.zip.ZipFile.read(Native Method)
	at java.util.zip.ZipFile.access$1400(ZipFile.java:56)
	at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:679)
	at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:415)
	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
	at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:479)
	at sun.misc.Resource.getBytes(Resource.java:124)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:444)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	... 45 more
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

david.ishee@gmail.com (JIRA)

unread,
Jul 13, 2015, 6:00:01 PM7/13/15
to jenkinsc...@googlegroups.com
David Ishee updated an issue
Change By: David Ishee
Environment:
Jenkins 1.580.3
Red Hat Enterprise Linux 5
Java v1.7 (jdk1.7.0_67), 64 bit
Unix slave, version 2.47 , launched by SSH
standalone install, not in Tomcat / etc

dbeck@cloudbees.com (JIRA)

unread,
Jul 16, 2015, 2:41:02 PM7/16/15
to jenkinsc...@googlegroups.com
Daniel Beck commented on Bug JENKINS-29405
 
Re: NoClassDefFoundError on master restart

This looks like the slave.jar file is corrupt.

bpri@loc.gov (JIRA)

unread,
Nov 2, 2015, 8:51:01 PM11/2/15
to jenkinsc...@googlegroups.com

I am having this same issue with jenkins 1.635 on RHEL 6.5 with java1.8u5

brad.bowling@bankofamerica.com (JIRA)

unread,
Dec 16, 2015, 10:03:05 AM12/16/15
to jenkinsc...@googlegroups.com

I am currently experiencing this same issue. Has anyone made any progress in explaining or resolving this issue? Possibly a work-around has been discovered?

me@wilfred.me.uk (JIRA)

unread,
Sep 1, 2016, 4:44:02 PM9/1/16
to jenkinsc...@googlegroups.com

OK, I bumped into this issue recently, and I have a guess of the cause:

I think it's corrupt slave.jar files.

I had two nodes running two boxes: jenkinsdev@box1 and jenkinsdev@box2. Both slaves were configured to write to /home/jenkinsdev/jenkins_workspace. This home directory is mirrored between box1 and box2.

As a result, both slaves try to write to the same file, which is /home/jenkinsdev/jenkins_workspace/slave.jar. This would explain why the traceback complains about the zip file. I couldn't find anything obviously corrupt in my slave.jar file, but I didn't look very hard.

This would explain why restarting the master causes this. This restarts all the slaves, so they start up simultaneously, and try to write the slave.jar simultaneously.

This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

toemossgarcia@gmail.com (JIRA)

unread,
Dec 15, 2016, 3:00:01 PM12/15/16
to jenkinsc...@googlegroups.com

Brilliant. I was essentially running into the same issue because I was using a shared workspace location. Not sure how long it would've taken me to figure out this was happening. Thank you!!

Reply all
Reply to author
Forward
0 new messages