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

Pipeline plugin installs in upgrade wizard throws exceptions

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • core

      Reported on IRC:

      [2016-04-13 07:14:46]  <benh57>	 rc1 update failed updating Multibranch
      [2016-04-13 07:14:47]  <benh57>	 Pipeline: Multibranch    
      [2016-04-13 07:14:47]  <benh57>	 Failure -
      [2016-04-13 07:14:47]  <benh57>	 java.lang.NoClassDefFoundError: jenkins/scm/api/SCMNavigatorDescriptor
      [2016-04-13 07:14:47]  <benh57>	     at jenkins.branch.CustomOrganizationFolderDescriptor.doAddSpecificDesc
      [2016-04-13 07:15:47]  <benh57>	 it seems to have actually installed fine though, looks normal after restart
      [2016-04-13 11:08:40]  <@danielbeck>	 benh57_ Still around? If so, could you please explain what exactly was updated, and where you see the error message?
      [2016-04-13 20:54:23]  <benh57_>	 danielbeck: that error message was on the initial plugin upgrade screen that appears when updating to 2.0rc1.
      [2016-04-13 20:55:05]  <@danielbeck>	 benh57_ To clarify, are you upgrading or installing new?
      [2016-04-13 20:55:35]  <benh57_>	 upgrading from 1.6something
      [2016-04-13 20:55:47]  <benh57_>	 i clicked the 'click here to finish updating!' screen
      [2016-04-13 20:56:07]  <benh57_>	 however, after jenkins restarted, the plugin appears to have updated fine
      [2016-04-13 20:56:31]  <benh57_>	 i can check the log for the exact full details and email that to you
      [2016-04-13 20:59:29]  <benh57_>	 there are various SCM-related exceptions in there actually
      [2016-04-13 20:59:51]  <benh57_>	 1) Error injecting constructor, java.lang.NoClassDefFoundError: jenkins/scm/api/SCMSourceObserver
      [2016-04-13 20:59:51]  <benh57_>	   at jenkins.branch.OrganizationFolder$DescriptorImpl.<init>(OrganizationFolder.java:266)
      [2016-04-13 21:00:11]  <benh57_>	 Apr 13, 2016 5:13:52 AM hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
      [2016-04-13 21:00:11]  <benh57_>	 WARNING: Failed to load jenkins.branch.BranchProjectFactory$HeadByItemImpl
      [2016-04-13 21:00:11]  <benh57_>	 java.lang.InstantiationException: java.lang.NoClassDefFoundError: jenkins/scm/api/SCMHead$HeadByItem
      

      My guess: The old dependency system (JENKINS-21486 ) does not take into account that dependencies may exist but be outdated when trying to dynamically load a plugin.

      In the case of an outdated SCM API plugin (judging from these messages), this results in exceptions upon Pipeline plugin installation.

          [JENKINS-34209] Pipeline plugin installs in upgrade wizard throws exceptions

          Daniel Beck added a comment -

          FYI kohsuke.

          rtyler Something to investigate tomorrow, perhaps? Not trivial to reproduce, likely requires specifically installing an older version of the SCM API plugin.

          Daniel Beck added a comment - FYI kohsuke . rtyler Something to investigate tomorrow, perhaps? Not trivial to reproduce, likely requires specifically installing an older version of the SCM API plugin.

          R. Tyler Croy added a comment -

          I'll try to nail down some reproduction steps

          R. Tyler Croy added a comment - I'll try to nail down some reproduction steps

          Daniel Beck added a comment -

          Mercurial Plugin still depends on SCM API 0.1. These extension points were added in 0.3. So it should be possible setting up a Jenkins 1.651.1 install with Mercurial Plugin, manually downgrade SCM API to 0.2, restart, everything works, upgrade to 2.0 RC, install Pipelines, expect it to explode.

          Daniel Beck added a comment - Mercurial Plugin still depends on SCM API 0.1. These extension points were added in 0.3. So it should be possible setting up a Jenkins 1.651.1 install with Mercurial Plugin, manually downgrade SCM API to 0.2, restart, everything works, upgrade to 2.0 RC, install Pipelines, expect it to explode.

          Daniel Beck added a comment -

          Reproducible by installing the latest weekly, then installing 2.0 RC on top of it, then installing these plugins. Will show a similar error for Credentials Plugin.

          As Jenkins is showing the update center install progress screen, and tells people to restart, I don't think this is particularly critical. It's certainly not nice, but we're working on this behavior in the context of JENKINS-21486, JENKINS-34073 (which barely got pulled out of 2.0 due to risk of perceived regressions).

          Daniel Beck added a comment - Reproducible by installing the latest weekly, then installing 2.0 RC on top of it, then installing these plugins. Will show a similar error for Credentials Plugin. As Jenkins is showing the update center install progress screen, and tells people to restart, I don't think this is particularly critical. It's certainly not nice , but we're working on this behavior in the context of JENKINS-21486 , JENKINS-34073 (which barely got pulled out of 2.0 due to risk of perceived regressions).

          Jesse Glick added a comment -

          Does not sound like it would still be reproducible.

          Jesse Glick added a comment - Does not sound like it would still be reproducible.

            Unassigned Unassigned
            danielbeck Daniel Beck
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: