Issue
Controller fails to start. One of the first errors in the log looks like following:
2023-07-28 05:28:57.205+0000 [id=47] SEVERE h.ExtensionFinder$GuiceFinder#<init>: Failed to create Guice container from all the plugins com.google.inject.CreationException: Unable to create injector, see the following errors: 1) [Guice/MissingConstructor]: No injectable constructor for type BuildQueueWidget. class BuildQueueWidget does not have a @Inject annotated constructor or a no-arg constructor. Requested by: 1 : BuildQueueWidget.class(BuildQueueWidget.java:49) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:575) Learn more: https://github.com/google/guice/wiki/MISSING_CONSTRUCTOR 2) [Guice/MissingConstructor]: No injectable constructor for type ExecutorsWidget. class ExecutorsWidget does not have a @Inject annotated constructor or a no-arg constructor. Requested by: 1 : ExecutorsWidget.class(ExecutorsWidget.java:28) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:575) Learn more: https://github.com/google/guice/wiki/MISSING_CONSTRUCTOR 2 errors ====================== Full classname legend: ====================== BuildQueueWidget: "jenkins.widgets.BuildQueueWidget" ExecutorsWidget: "jenkins.widgets.ExecutorsWidget" ======================== End of classname legend: ======================== at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:589) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:163) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) at com.google.inject.Guice.createInjector(Guice.java:87) at com.google.inject.Guice.createInjector(Guice.java:69) at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:282) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.lang.Class.newInstance(Class.java:584) at net.java.sezpoz.IndexItem.instance(IndexItem.java:181) at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:748) at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:359) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.iterator(ExtensionList.java:172) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:352) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.size(ExtensionList.java:194) at hudson.ExtensionList.lookupSingleton(ExtensionList.java:453) at com.cloudbees.jenkins.support.filter.DataFaker.get(DataFaker.java:52) at com.cloudbees.jenkins.support.filter.NameProvider.<clinit>(NameProvider.java:98) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:398) at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:772) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:353) at hudson.ExtensionList.load(ExtensionList.java:384) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320) at hudson.ExtensionList.getComponents(ExtensionList.java:184) at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1201) at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:88) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:108) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:116) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:108) at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:182) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
Resolution
Check if Synopsys Detect plugin version 8.0.0 is installed. It is blackduck-detect.jpi
in the $JENKINS_HOME/plugins
. The version can be double-checked by extracting META-INF/MANIFEST.MF
from the jpi
archive. If it is installed, disable it to get the controller up and running.
Version 8.0.1 does not appear to cause the same issue. Hence, if plugin is needed, update it by either:
-
From
Manage Jenkins
→Plugins
→Installed plugins
uninstall the currently disabled plugin and restart, then install the correct version after restart -
From the filesystem, stop the controller and run:
cd $JENKINS_HOME/plugins rm blackduck-detect.jpi rm blackduck-detect.hpi rm -rf blackduck-detect/
Then once the controller is back online after restart, install the desired plugin version using Manage Jenkins
→ Plugins
→ Available plugins