-
Bug
-
Resolution: Not A Defect
-
Major
-
Debian Jessie
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-1~deb8u1)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
Jenkins installed from Debian Repositories
I was upgrading Jenkins from 1.656 to 2.0 when I stumbled on this issue. My Jenkins installation comes from the DEB packages provided by http://pkg.jenkins-ci.org/debian.
My procedure for the update was the following:
- Unpin all Plugins (problem also exists if I don't do this)
- Update all Plugins to their latest version (problem also exists if I don't do this)
- Shutdown Jenkins
- Update the DEB packages
- Start Jenkins
- Run the "New feature wizard"
- Restart Jenkins
All went well until the "Install new features"-wizard tries to install a series of plugins. Since I've already experimented with workflows, only the following plugins are installed:
- Pipeline
- Pipeline: REST API Plugin
- JavaScript GUI Lib: Handlebars bundle plugin
- JavaScript GUI Lib: Moment.js bundle plugin
- Pipeline: Stage View Plugin
- GitHub API Plugin
- Plain Credentials Plugin
- GitHub plugin
- GitHub Branch Source Plugin
- GitHub Organization Folder Plugin
The last Plugin fails to install with the following error:
java.io.IOException: Failed to dynamically deploy this plugin at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1678) at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1456) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: Failed to install github-organization-folder plugin at hudson.PluginManager.dynamicLoad(PluginManager.java:698) at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1674) ... 5 more Caused by: jenkins.ExtensionRefreshException: com.google.inject.internal.guava.collect.$ComputationException: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/workflow/job/WorkflowJob at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:347) at jenkins.model.Jenkins.refreshExtensions(Jenkins.java:2383) at hudson.PluginManager.dynamicLoad(PluginManager.java:691) ... 6 more Caused by: com.google.inject.internal.guava.collect.$ComputationException: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/workflow/job/WorkflowJob at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:397) at com.google.inject.internal.FailableCache.get(FailableCache.java:49) at com.google.inject.internal.MembersInjectorStore.get(MembersInjectorStore.java:66) at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:74) at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:38) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393) at com.google.inject.internal.FailableCache.get(FailableCache.java:49) at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50) at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:137) at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:537) at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160) at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:230) at hudson.ExtensionFinder$GuiceFinder.refresh(ExtensionFinder.java:334) ... 8 more Caused by: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/workflow/job/WorkflowJob at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2595) at java.lang.Class.getDeclaredConstructors(Class.java:1914) at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245) at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:99) at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:661) at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:871) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:798) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:787) at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:286) at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:218) at com.google.inject.internal.SingleFieldInjector.<init>(SingleFieldInjector.java:42) at com.google.inject.internal.MembersInjectorStore.getInjectors(MembersInjectorStore.java:126) at com.google.inject.internal.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:96) at com.google.inject.internal.MembersInjectorStore.access$000(MembersInjectorStore.java:35) at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:43) at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:40) at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:38) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69) at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393) ... 30 more Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.workflow.job.WorkflowJob at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1376) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1079) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 61 more
When I restart Jenkins now, it will be dead (i.e. just come up with an error, no way to interact with the Web-UI). The error is the following:
hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException at hudson.WebAppMain$3.run(WebAppMain.java:237) Caused by: org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269) at jenkins.InitReactorRunner.run(InitReactorRunner.java:44) at jenkins.model.Jenkins.executeReactor(Jenkins.java:1020) at jenkins.model.Jenkins.<init>(Jenkins.java:864) at hudson.model.Hudson.<init>(Hudson.java:85) at hudson.model.Hudson.<init>(Hudson.java:81) at hudson.WebAppMain$3.run(WebAppMain.java:225) Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException 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:282) at jenkins.model.Jenkins$8.runTask(Jenkins.java:1009) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104) ... 8 more Caused by: java.lang.NullPointerException at hudson.plugins.git.GitSCM.onLoaded(GitSCM.java:1734) ... 13 more
Since I can't tell the Upgrade Wizard to exclude the Github Plugins a workaround I've found is to prevent the restart and after the wizard is done uninstall all GitHub Plugins (uninstall is required, just deactivating them is not sufficient). Only then will Jenkins come up again with a usable interface and no exceptions in the logs.
This is an installation running on a test-server so if it helps, I can reset it to a snapshot before the update to gain additional info.
- is related to
-
JENKINS-34494 Enable disabled (transitive) dependencies when installing a new plugin
- Resolved