Maven Cascade Release plugin breaks Jenkins Initialization

Issue

Jenkins master fails to start after update with following error:

2020-01-01 00:00:00.000+0000 [id=77]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed Contributed.load
java.lang.NullPointerException
    at jenkins.security.CustomClassFilter$Contributed.load(CustomClassFilter.java:155)
Caused: java.lang.reflect.InvocationTargetException
    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)
Caused: java.lang.Error
    at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:110)
    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:1121)
    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)

In addition, you may also see the following in the logs prior to the Failed Contributed.load error:

2020-01-01 00:00:00.000+0000 [id=77]    SEVERE  h.ExtensionFinder$GuiceFinder#<init>: Failed to create Guice container from all the plugins
java.lang.NoClassDefFoundError: hudson/plugins/depgraph_view/model/graph/EdgeProvider
    at com.barchart.jenkins.cascade.GraphModule.configure(GraphModule.java:39)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
    at com.google.inject.spi.Elements.getElements(Elements.java:110)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
    at com.google.inject.Guice.createInjector(Guice.java:96)
    at com.google.inject.Guice.createInjector(Guice.java:73)
    at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:284)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
    at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:704)
    at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:690)
    at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
    at hudson.ExtensionList.load(ExtensionList.java:381)
    at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
    at hudson.ExtensionList.getComponents(ExtensionList.java:183)
    at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1151)
    at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:83)
    at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
    at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
    at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
    at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
    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)

Environment

Resolution

Uninstall Maven Cascade Release. It has not been updated in 7 years as of moment of writing hence appears abandoned. It uses the API that plugs into Jenkins initialization process in a way that can cause the initialization failure.

OR

If uninstalling is not yet possible, downgrade the Dependency Graph Viewer plugin to 0.15.0. The API changes in 1.x version of Dependency Graph Viewer cause the error in the Maven Cascade Release plugin that breaks the initialization. Versions from 0.11 to 0.15.0 appear compatible.

Tested product/plugin versions

References

Jenkins fails to start after upgrading to v1.0.1 · Issue #23 · jenkinsci/depgraph-view-plugin

Have more questions?

0 Comments

Please sign in to leave a comment.