Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370892 - gef-nightly-tycho fails because of ClassLoader problem within Hudson
Summary: gef-nightly-tycho fails because of ClassLoader problem within Hudson
Status: RESOLVED NOT_ECLIPSE
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: CI-Jenkins (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Webmaster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-07 17:15 EST by Alexander Nyßen CLA
Modified: 2012-02-09 10:02 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Nyßen CLA 2012-02-07 17:15:35 EST
GEF nightly build is failing for the last five days because the following class loading problems occur.

Started by timer
Building remotely on hudson-slave1
hudson.util.IOException2: remote file operation failed: /opt/users/hudsonbuild/workspace/gef-nightly-tycho at hudson.remoting.Channel@17e2c93c:hudson-slave1
	at hudson.FilePath.act(FilePath.java:754)
	at hudson.FilePath.act(FilePath.java:740)
	at hudson.scm.CVSSCM.isUpdatable(CVSSCM.java:439)
	at hudson.scm.CVSSCM.checkout(CVSSCM.java:310)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1229)
	at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:507)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:424)
	at hudson.model.Run.run(Run.java:1367)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:145)
Caused by: java.io.IOException: Remote call on hudson-slave1 failed
	at hudson.remoting.Channel.call(Channel.java:659)
	at hudson.FilePath.act(FilePath.java:747)
	... 10 more
Caused by: java.lang.LinkageError: loader (instance of  hudson/remoting/RemoteClassLoader): attempted  duplicate class definition for name: "hudson/model/AbstractProject"
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:151)
	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
	at java.lang.Class.getDeclaredMethod(Class.java:1935)
	at java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:1382)
	at java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:52)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:438)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:547)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	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:283)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Recording test results
Archiving artifacts
Sending e-mails to: alexander.nyssen@itemis.de
[DEBUG] Skipping watched dependency update for build: gef-nightly-tycho #148 due to result: FAILURE
Finished: FAILURE
Comment 1 Eclipse Webmaster CLA 2012-02-08 11:26:26 EST
Slave1 has been restarted.  It would appear that increasing the number of executors (on a given slave) causes this problem to occur more often.

I'm going to close as 'not_eclipse' since this actually seems to be a Hudson issue.

-M.
Comment 2 Alexander Nyßen CLA 2012-02-08 16:33:40 EST
(In reply to comment #1)
> Slave1 has been restarted.  It would appear that increasing the number of
> executors (on a given slave) causes this problem to occur more often.
> 
> I'm going to close as 'not_eclipse' since this actually seems to be a Hudson
> issue.
> 
> -M.

Agreed, but thats the second or third time the gef build ran into this problems. Do you have any idea what is the underlying cause. Is there a change we can find out and report it?
Comment 3 Eclipse Webmaster CLA 2012-02-09 10:02:15 EST
I don't have any special insight(not being a Java wizard), but I do recall seeing others(via Google) with this issue.

My simplistic guess is that the 'widget' that tracks slave activity/execution is easily corrupted when the number of executor threads on a slave starts to climb(and one of the threads falls over).

We're working with the Hudson folks to get them some debug access so hopefully they may be able to explain this(or even fix it)

-M.