Issue
After upgrading an instance, it appears to hang on the startup process. We found out that:
-
The jenkins log is stuck at the following point:
Apr 15, 2019 1:19:38 PM hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1 error
WARNING: Failed to instantiate Key[type=jenkins.telemetry.Correlator, annotation=[none]]; skipping this component
com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Tried proxying jenkins.telemetry.Correlator to support a circular dependency, but it is not an interface.
1 error
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:440)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:402)
at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:393)
...
-
Thread dump shows a deadlock with the Claim plugin
"PreventRefreshFilter.initAutoRefreshFilter":
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:316)
- waiting to lock <0x00000006c0c20380> (a hudson.ExtensionList$Lock)
at hudson.ExtensionList.getComponents(ExtensionList.java:183)
at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:192)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:318)
- locked <0x00000006c3070d28> (a hudson.DescriptorExtensionList)
at hudson.ExtensionList.iterator(ExtensionList.java:172)
at hudson.ExtensionList.get(ExtensionList.java:149)
at hudson.plugins.claim.ClaimConfig.get(ClaimConfig.java:202)
at hudson.plugins.claim.http.PreventRefreshFilter.initAutoRefreshFilter(PreventRefreshFilter.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1069)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Found 1 deadlock.
Environment
Resolution
The issue can be resolved with either of the following options:
-
Option 1: Upgrade the Claim plugin to 2.14.1 or newer
-
Option 2: Downgrade the Claim Plugin to 2.12
-
Option 3: Disable the Claim Plugin.
Tested product/plugin versions
-
Upgrading CloudBees Jenkins Platform - Client controller from 2.121.1.2 to 2.150.2.3
-
Claim plugin 2.15