Jenkins classloader problems (race condition?)

29 views
Skip to first unread message

Ulli Hafner

unread,
Sep 27, 2012, 11:23:09 AM9/27/12
to jenkin...@googlegroups.com
I'm currently investigating a problem with my static analysis plug-ins where some jobs where not loaded during the initialization of Jenkins because not all classes are found by Jenkins classloader. E.g., I have a project action from plug-in findbugs that uses a base class from plug-in analysis-core. During startup in some jobs the base class is not found by the class loader. This happens not every time so I think there might be a race condition in Jenkins class loading mechanism (or somewhere else). Actually, I don't have a clue on how to fix this issue. Has someone an idea on how to tackle this problem? Any hints on how to debug that bug are welcome:-)

Here is the stack trace, a lot of users have reported that problem in JENKINS-12124 [1]:

27.09.2012 16:58:49 jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
27.09.2012 16:58:55 jenkins.InitReactorRunner$1 onTaskFailed
SCHWERWIEGEND: Failed Loading job Freestyle
java.lang.NoClassDefFoundError: hudson/plugins/analysis/core/AbstractProjectAction
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at hudson.plugins.checkstyle.CheckStylePublisher.getProjectAction(CheckStylePublisher.java:133)
at hudson.tasks.BuildStepCompatibilityLayer.getProjectActions(BuildStepCompatibilityLayer.java:73)
at hudson.model.Project.createTransientActions(Project.java:213)
at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:658)
at hudson.model.AbstractProject.onLoad(AbstractProject.java:292)
at hudson.model.Project.onLoad(Project.java:88)
at hudson.model.Items.load(Items.java:221)
at jenkins.model.Jenkins$17.run(Jenkins.java:2491)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:875)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
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:680)
Caused by: java.lang.ClassNotFoundException: hudson.plugins.analysis.core.AbstractProjectAction
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 27 more
27.09.2012 16:58:55 jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs



[1] https://issues.jenkins-ci.org/browse/JENKINS-12124
Reply all
Reply to author
Forward
0 new messages