Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-28955

Jenkins unusable after downgrade from latest weekly release to LTS

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • core
    • None
    • Host: Ubuntu 14.04 server VM
      Jenkins 1.617 --> Jenkins 1.609.1

      After doing a dpkg -i of jenkins_1.609.1_all.deb on top of my current weekly release of jenkins_1.617_all.deb, Jenkins is no longer usable (see main screen screenshot).

      I tried going back to 617, but I get the same result. This is my Jenkins sandbox. I'm not sure what to do to recover from this. I was going to test the latest LTS so we could move our production Jenkins instance to it, but my sandbox is unusable now, so we're stuck unless I copy over a new Jenkins backup and set it back up as a sandbox. I'm not sure that solves my problem though. I've switched around between Jenkins releases before and never had this happen.

      Ouptut:

      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:915)
      at jenkins.model.Jenkins.<init>(Jenkins.java:814)
      at hudson.model.Hudson.<init>(Hudson.java:83)
      at hudson.model.Hudson.<init>(Hudson.java:79)
      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:176)
      at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
      at jenkins.model.Jenkins$7.runTask(Jenkins.java:904)
      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:106)
      ... 8 more
      Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
      at java.util.ArrayList.rangeCheck(ArrayList.java:635)
      at java.util.ArrayList.get(ArrayList.java:411)
      at hudson.ExtensionList.get(ExtensionList.java:158)
      at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1257)
      at hudson.maven.PluginImpl.init(PluginImpl.java:58)
      ... 13 more

          [JENKINS-28955] Jenkins unusable after downgrade from latest weekly release to LTS

          Shannon Kerr added a comment -

          Updated to latest weekly release and issue still exists. I disabled security on this instance, but that made no difference. I would hate to lose all of my projects and configuration. I hope someone will be able to give me some guidance.

          Shannon Kerr added a comment - Updated to latest weekly release and issue still exists. I disabled security on this instance, but that made no difference. I would hate to lose all of my projects and configuration. I hope someone will be able to give me some guidance.

          Shannon Kerr added a comment -

          Sorry, I had to move on. I created a new sandbox from a backup of our official env and pulled over my jobs.

          Shannon Kerr added a comment - Sorry, I had to move on. I created a new sandbox from a backup of our official env and pulled over my jobs.

          Kanstantsin Shautsou added a comment - - edited

          Got the same issue after disabling/uninstalling number of plugins on 1.609.3

          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:915)
          	at jenkins.model.Jenkins.<init>(Jenkins.java:814)
          	at hudson.model.Hudson.<init>(Hudson.java:83)
          	at hudson.model.Hudson.<init>(Hudson.java:79)
          	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:176)
          	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
          	at jenkins.model.Jenkins$7.runTask(Jenkins.java:904)
          	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:1142)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          	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:62)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:497)
          	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:106)
          	... 8 more
          Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
          	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
          	at java.util.ArrayList.get(ArrayList.java:429)
          	at hudson.ExtensionList.get(ExtensionList.java:158)
          	at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1257)
          	at hudson.maven.PluginImpl.init(PluginImpl.java:58)
          	... 13 more
          

          Kanstantsin Shautsou added a comment - - edited Got the same issue after disabling/uninstalling number of plugins on 1.609.3 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:915) at jenkins.model.Jenkins.<init>(Jenkins.java:814) at hudson.model.Hudson.<init>(Hudson.java:83) at hudson.model.Hudson.<init>(Hudson.java:79) 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:176) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) at jenkins.model.Jenkins$7.runTask(Jenkins.java:904) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 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:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:106) ... 8 more Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at hudson.ExtensionList.get(ExtensionList.java:158) at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1257) at hudson.maven.PluginImpl.init(PluginImpl.java:58) ... 13 more

          Oleg Nenashev added a comment -

          I see the same issue during plugins debug against 1.609.3

          Oleg Nenashev added a comment - I see the same issue during plugins debug against 1.609.3

          Oleg Nenashev added a comment -

          Got into the issue as well.
          In my case it happens due to the fatal GuiceFinder initialization issue on the startup. It has been caused by a closed-source plugin in my case, but there are potential causes in other plugins and the Jenkins core.

          Oct 09, 2015 8:00:04 PM hudson.ExtensionFinder$GuiceFinder <init>
          SEVERE: Failed to create Guice container from all the plugins
          com.google.inject.CreationException: Guice creation errors:
          
          1) No implementation for XXXXr was bound.
            while locating XXXX
              for parameter 0 at YYYYY.<init>(Feeder.java:61)
            while locating ZZZZZZZ
              for field at ZZZZZZ
            at ZZZZZZZ
          
          1 error
          	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
          	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
          	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
          	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:280)
          	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:422)
          	at java.lang.Class.newInstance(Class.java:442)
          	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
          	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:643)
          	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:618)
          	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:388)
          	at hudson.ExtensionList.load(ExtensionList.java:349)
          	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
          	at hudson.ExtensionList.iterator(ExtensionList.java:156)
          	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:381)
          	at hudson.ExtensionList.load(ExtensionList.java:349)
          	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
          	at hudson.ExtensionList.get(ExtensionList.java:171)
          	at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1258)
          	at hudson.maven.PluginImpl.init(PluginImpl.java:58)
          	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:497)
          	at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:106)
          	at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:176)
          	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
          	at jenkins.model.Jenkins$7.runTask(Jenkins.java:905)
          	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:1142)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          	at java.lang.Thread.run(Thread.java:745)
          
          Oct 09, 2015 8:00:04 PM hudson.ExtensionFinder$Sezpoz _find
          WARNING: Failed to load hudson.ExtensionFinder$GuiceFinder
          java.lang.InstantiationException: com.google.inject.CreationException: Guice creation errors:
          
          1) Could not find a suitable constructor in jenkins.model.Jenkins. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
            at jenkins.model.Jenkins.class(Jenkins.java:307)
            while locating jenkins.model.Jenkins
              for field at jenkins.security.s2m.AdminCallableMonitor.jenkins(AdminCallableMonitor.java:31)
            at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:514)
          
          2) Could not find a suitable constructor in jenkins.model.Jenkins. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
            at jenkins.model.Jenkins.class(Jenkins.java:307)
            while locating jenkins.model.Jenkins
              for field at jenkins.security.s2m.MasterKillSwitchConfiguration.jenkins(MasterKillSwitchConfiguration.java:19)
            at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:514)
          
          3) Could not find a suitable constructor in jenkins.model.Jenkins. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
            at jenkins.model.Jenkins.class(Jenkins.java:307)
            while locating jenkins.model.Jenkins
              for field at jenkins.diagnostics.PinningIsBlockingBundledPluginMonitor.jenkins(PinningIsBlockingBundledPluginMonitor.java:19)
            at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:514)
          

          Oleg Nenashev added a comment - Got into the issue as well. In my case it happens due to the fatal GuiceFinder initialization issue on the startup. It has been caused by a closed-source plugin in my case, but there are potential causes in other plugins and the Jenkins core. Oct 09, 2015 8:00:04 PM hudson.ExtensionFinder$GuiceFinder <init> SEVERE: Failed to create Guice container from all the plugins com.google.inject.CreationException: Guice creation errors: 1) No implementation for XXXXr was bound. while locating XXXX for parameter 0 at YYYYY.<init>(Feeder.java:61) while locating ZZZZZZZ for field at ZZZZZZ at ZZZZZZZ 1 error at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) 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:280) 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:422) at java.lang.Class.newInstance(Class.java:442) at net.java.sezpoz.IndexItem.instance(IndexItem.java:181) at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:643) at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:618) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:388) at hudson.ExtensionList.load(ExtensionList.java:349) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287) at hudson.ExtensionList.iterator(ExtensionList.java:156) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:381) at hudson.ExtensionList.load(ExtensionList.java:349) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287) at hudson.ExtensionList.get(ExtensionList.java:171) at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1258) at hudson.maven.PluginImpl.init(PluginImpl.java:58) 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:497) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:106) at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:176) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) at jenkins.model.Jenkins$7.runTask(Jenkins.java:905) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Oct 09, 2015 8:00:04 PM hudson.ExtensionFinder$Sezpoz _find WARNING: Failed to load hudson.ExtensionFinder$GuiceFinder java.lang.InstantiationException: com.google.inject.CreationException: Guice creation errors: 1) Could not find a suitable constructor in jenkins.model.Jenkins. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private. at jenkins.model.Jenkins.class(Jenkins.java:307) while locating jenkins.model.Jenkins for field at jenkins.security.s2m.AdminCallableMonitor.jenkins(AdminCallableMonitor.java:31) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:514) 2) Could not find a suitable constructor in jenkins.model.Jenkins. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private. at jenkins.model.Jenkins.class(Jenkins.java:307) while locating jenkins.model.Jenkins for field at jenkins.security.s2m.MasterKillSwitchConfiguration.jenkins(MasterKillSwitchConfiguration.java:19) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:514) 3) Could not find a suitable constructor in jenkins.model.Jenkins. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private. at jenkins.model.Jenkins.class(Jenkins.java:307) while locating jenkins.model.Jenkins for field at jenkins.diagnostics.PinningIsBlockingBundledPluginMonitor.jenkins(PinningIsBlockingBundledPluginMonitor.java:19) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:514)

          Hit that problem as well. To me the crux of the issue is that plugins dependency checking doesn't verify required versions, it only checks if dependencies are installed.

          Then comes the Extension phase and everything blows up because extensions of all loaded plugins are loaded at the same time and we can't disable faulty plugins anymore.

          I think it would be much safer to just disable plugins for which dependencies are outdated.

          Vincent Latombe added a comment - Hit that problem as well. To me the crux of the issue is that plugins dependency checking doesn't verify required versions, it only checks if dependencies are installed. Then comes the Extension phase and everything blows up because extensions of all loaded plugins are loaded at the same time and we can't disable faulty plugins anymore. I think it would be much safer to just disable plugins for which dependencies are outdated.

          Submitted https://github.com/jenkinsci/jenkins/pull/2172 to disable plugins whose dependencies are obsolete, which should allow Jenkins to successfully boot without the faulty plugins.

          Vincent Latombe added a comment - Submitted https://github.com/jenkinsci/jenkins/pull/2172 to disable plugins whose dependencies are obsolete, which should allow Jenkins to successfully boot without the faulty plugins.

          Jesse Glick added a comment -

          Sounds like a duplicate of JENKINS-21486, no?

          Jesse Glick added a comment - Sounds like a duplicate of JENKINS-21486 , no?

            Unassigned Unassigned
            kerrhome Shannon Kerr
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: