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

Packaging of spring-context-support causes crowd plugin to prevent Jenkins starting properly

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Blocker
    • Resolution: Unresolved
    • Component/s: crowd-plugin
    • Labels:
      None
    • Environment:
      jenkins from version 1.502
      crowd 1.3-SNAPSHOT
    • Similar Issues:

      Description

      As described here: http://jenkins.361315.n4.nabble.com/Getting-NoSuchClassDefFoundError-for-ehcache-td391329.html, the spring-context-support JAR that is now (from version 1.502 on) packaged into the jenkins.war is loaded instead of the one from crowd/WEB-INF/lib. So it does not find classes from the ehcache JAR packaged only in the crowd/WEB-INF/lib.

      (see attached jenkins.log for complete stack trace)

      Two possible solutions:

      1. remove the spring-context-support JAR from jenkins.war/WEB-INF/lib
      2. switch class loader lookup order to search "plugin/WEB-INF/lib" first (this way it would be possible for plugin developers to override JARs delivered with the jenkins core)

      This issue prevents me from using the newest jenkins versions (starting from 1.502).

        Attachments

          Activity

          Hide
          rmorgenstein Ruth Morgenstein added a comment -

          I first encountered this problem in an upgrade to 1.497.

          Show
          rmorgenstein Ruth Morgenstein added a comment - I first encountered this problem in an upgrade to 1.497.
          Hide
          farrez09 Shane Farrell added a comment -

          Has anyone got any Jenkins LTS version beyond 1.480.2 to work? 1.480.2 seems to be the last LTS version that works with the crowd plugin.

          Show
          farrez09 Shane Farrell added a comment - Has anyone got any Jenkins LTS version beyond 1.480.2 to work? 1.480.2 seems to be the last LTS version that works with the crowd plugin.
          Hide
          tapiomtr tapiomtr added a comment -

          I got latest LTS Jenkins to work with the latest crowd pluging, but I have to delete spring-context-support JAR as the possible solutions 1. says.

          Show
          tapiomtr tapiomtr added a comment - I got latest LTS Jenkins to work with the latest crowd pluging, but I have to delete spring-context-support JAR as the possible solutions 1. says.
          Hide
          marc_guenther Marc Günther added a comment -

          So is this a problem with core or with the crowd plugin?

          I don't understand the nabble link above. It is from 2009, and it seems the problem was FIXED at that time. So why has it suddenly resurfaced? Can we apply the same "fix" again?

          Why was that jar file included again? Maybe related to this commit? (which is from 6 months ago):
          https://github.com/jenkinsci/jenkins/commit/e52c7efa997534e31526d1ba0ae80ea560619fc9

          Show
          marc_guenther Marc Günther added a comment - So is this a problem with core or with the crowd plugin? I don't understand the nabble link above. It is from 2009, and it seems the problem was FIXED at that time. So why has it suddenly resurfaced? Can we apply the same "fix" again? Why was that jar file included again? Maybe related to this commit? (which is from 6 months ago): https://github.com/jenkinsci/jenkins/commit/e52c7efa997534e31526d1ba0ae80ea560619fc9
          Hide
          c2pa_it C2PA IT added a comment -

          Anyone know if this is going to be fixed by chance or if we just need to plan on implementing the workarounds in the future?

          Show
          c2pa_it C2PA IT added a comment - Anyone know if this is going to be fixed by chance or if we just need to plan on implementing the workarounds in the future?
          Hide
          marc_guenther Marc Günther added a comment -

          Still not fixed in Jenkins LTS 1.532.2 and Crowd Plugin 1.2

          This essentially means that we cannot even upgrade to LTS. We are on 1.501 currently...

          Show
          marc_guenther Marc Günther added a comment - Still not fixed in Jenkins LTS 1.532.2 and Crowd Plugin 1.2 This essentially means that we cannot even upgrade to LTS. We are on 1.501 currently...
          Hide
          mcflyfr Clément Billiot added a comment -

          Same issue for us, we are stuck with version 1.498

          Show
          mcflyfr Clément Billiot added a comment - Same issue for us, we are stuck with version 1.498
          Hide
          marc_guenther Marc Günther added a comment -

          And Crowd2-Plugin has severe perfomance issues (we tried it), so it's not an option either: JENKINS-16703

          Show
          marc_guenther Marc Günther added a comment - And Crowd2-Plugin has severe perfomance issues (we tried it), so it's not an option either: JENKINS-16703
          Hide
          mcflyfr Clément Billiot added a comment -

          You should use jenkins with tomcat and not with the embedded jetty, it has worked for us.

          Show
          mcflyfr Clément Billiot added a comment - You should use jenkins with tomcat and not with the embedded jetty, it has worked for us.
          Hide
          marc_guenther Marc Günther added a comment -

          We use the standalone jar with embedded winstone, and it works when we delete the spring-context-support-2.5.6.SEC03.jar from the jenkins.war.

          Show
          marc_guenther Marc Günther added a comment - We use the standalone jar with embedded winstone, and it works when we delete the spring-context-support-2.5.6.SEC03.jar from the jenkins.war .
          Hide
          danielbeck Daniel Beck added a comment -

          Can't the Crowd plugin just switch to using the plugin first classloader?

          http://javadoc.jenkins-ci.org/hudson/PluginFirstClassLoader.html

          Show
          danielbeck Daniel Beck added a comment - Can't the Crowd plugin just switch to using the plugin first classloader? http://javadoc.jenkins-ci.org/hudson/PluginFirstClassLoader.html
          Hide
          danielbeck Daniel Beck added a comment -

          Removing core component. Issues like these are what PluginFirstClassloader is designed for, and if not using that, it's no surprise this breaks.

          Show
          danielbeck Daniel Beck added a comment - Removing core component. Issues like these are what PluginFirstClassloader is designed for, and if not using that, it's no surprise this breaks.
          Hide
          marc_guenther Marc Günther added a comment -

          Any news on this one? We still have to remove that spring-context jar file manually, every time we do an upgrade of Jenkins...

          Show
          marc_guenther Marc Günther added a comment - Any news on this one? We still have to remove that spring-context jar file manually, every time we do an upgrade of Jenkins...
          Hide
          c2pa_it C2PA IT added a comment -

          Still an issue for us as well.

          Show
          c2pa_it C2PA IT added a comment - Still an issue for us as well.

            People

            Assignee:
            rmangi rmangi
            Reporter:
            rzanner rzanner
            Votes:
            6 Vote for this issue
            Watchers:
            11 Start watching this issue

              Dates

              Created:
              Updated: