It's all about the answers!

Ask a question

Classloading problem with multiple slaves


David Keller (111) | asked Jan 24 '17, 10:26 a.m.

Hello all,

I am having troubles with a classloading problem. I have very little experiences with classloading issues, so please be patient with me.
If a Jenkins job is run multiple times more and more slaves start to pick up the issue. Once a slave had the problem it persists. Not even restarting the slave helps. This is the stacktracke:

 FATAL: RTC : checkout failure: Could not initialize class com.ibm.team.repository.client.internal.ContributorManager
 java.lang.NoClassDefFoundError: Could not initialize class com.ibm.team.repository.client.internal.ContributorManager
     at com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:427)
     at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:102)
     at com.bosch.jenkins.plugins.loadrulegenerator.LoadRuleGenExtension.getComponentLoadRules(LoadRuleGenExtension.java:73)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at com.ibm.team.build.internal.hjplugin.rtc.RtcExtensionProviderUtil.getComponentLoadRules(RtcExtensionProviderUtil.java:78)
     at com.ibm.team.build.internal.hjplugin.rtc.RepositoryConnection.load(RepositoryConnection.java:784)
     at com.ibm.team.build.internal.hjplugin.rtc.RTCFacade.load(RTCFacade.java:501)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at com.ibm.team.build.internal.hjplugin.RTCFacadeFactory$RTCFacadeWrapper.invoke(RTCFacadeFactory.java:125)
     at com.ibm.team.build.internal.hjplugin.RTCLoadTask.invoke(RTCLoadTask.java:172)
     at com.ibm.team.build.internal.hjplugin.RTCLoadTask.invoke(RTCLoadTask.java:35)
     at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2719)
     at hudson.remoting.UserRequest.perform(UserRequest.java:152)
     at hudson.remoting.UserRequest.perform(UserRequest.java:50)
     at hudson.remoting.Request$2.run(Request.java:332)
     at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
     at java.util.concurrent.FutureTask.run(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     at hudson.remoting.Engine$1$1.run(Engine.java:85)
     at java.lang.Thread.run(Unknown Source)
 FATAL: RTC : checkout failure: RTC : checkout failure: Could not initialize class com.ibm.team.repository.client.internal.ContributorManager
 hudson.AbortException: RTC : checkout failure: Could not initialize class com.ibm.team.repository.client.internal.ContributorManager
     at com.ibm.team.build.internal.hjplugin.RTCLoadTask.invoke(RTCLoadTask.java:219)
     at com.ibm.team.build.internal.hjplugin.RTCLoadTask.invoke(RTCLoadTask.java:35)
     at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2719)
     at hudson.remoting.UserRequest.perform(UserRequest.java:152)
     at hudson.remoting.UserRequest.perform(UserRequest.java:50)
     at hudson.remoting.Request$2.run(Request.java:332)
     at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
     at java.util.concurrent.FutureTask.run(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     at hudson.remoting.Engine$1$1.run(Engine.java:85)
     at java.lang.Thread.run(Unknown Source)
     at ......remote call to ABTVZ438(Native Method)
     at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
     at hudson.remoting.UserResponse.retrieve(UserRequest.java:252)
     at hudson.remoting.Channel.call(Channel.java:781)
     at hudson.FilePath.act(FilePath.java:979)
     at hudson.FilePath.act(FilePath.java:968)
     at com.ibm.team.build.internal.hjplugin.RTCScm.checkout(RTCScm.java:1749)
     at hudson.scm.SCM.checkout(SCM.java:485)
     at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
     at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
     at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
     at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
     at hudson.model.Run.execute(Run.java:1738)
     at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
     at hudson.model.ResourceController.execute(ResourceController.java:98)
     at hudson.model.Executor.run(Executor.java:410)

Since it is missing an rtc-related class (ContributorManager) I looked for rtc-based plugin and found two. So I checked their dependencies for any hints. Only one of the plugins is dependend on rtcplain lib 5.0.2 which contains the missing class. So no help there.
But the plugins are dependend on two different versions of the teamconcert plugin (1.1.9.2 and 1.2.0) might this problem have anything to do with this? Or do any of you have any other ideas what I could check?

Be the first one to answer this question!


Register or to post your answer.