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

java.lang.NoSuchMethodError: 'void org.springframework.util.Assert.isTrue(boolean)'

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • ldap-plugin
    • Jenkins 2.475
      CentOs 9
    • 733.vd3700c27b_043

      Jenkins web dashboard works fine, but when trying to log in, thist page is displayed:

      URL: https://<server>/j_spring_security_check

       

      /var/log/messages:

      Sep 10 11:06:56 <server> jenkins[97353]: 2024-09-10 09:06:56.305+0000 [id=14]#011WARNING#011h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 8dac7e6e-b77f-42fc-afc2-07f21a32fdf7
      Sep 10 11:06:56 <server> jenkins[97353]: java.lang.NoSuchMethodError: 'void org.springframework.util.Assert.isTrue(boolean)'
      Sep 10 11:06:56 <server> jenkins[97353]: #011at PluginClassLoader for ldap//org.springframework.ldap.support.LdapUtils$CollectingAttributeValueCallbackHandler.handleAttributeValue(LdapUtils.java:343)
      Sep 10 11:06:56 <server> jenkins[97353]: #011at PluginClassLoader for ldap//org.springframework.ldap.support.LdapUtils.handleAttributeValue(LdapUtils.java:321)
      Sep 10 11:06:56 <server> jenkins[97353]: #011at PluginClassLoader for ldap//org.springframework.ldap.support.LdapUtils.iterateAttributeValues(LdapUtils.java:305)
      Sep 10 11:06:56 <server> jenkins[97353]: #011at PluginClassLoader for ldap//org.springframework.ldap.support.LdapUtils.collectAttributeValues(LdapUtils.java:287)
      Sep 10 11:06:56 <server> jenkins[97353]: #011at PluginClassLoader for ldap//org.springframework.ldap.core.DirContextAdapter.collectAttributeValuesAsList(DirContextAdapter.java:787)
      .....

       

          [JENKINS-73745] java.lang.NoSuchMethodError: 'void org.springframework.util.Assert.isTrue(boolean)'

          Basil Crow added a comment -

          Users of the LDAP plugin must upgrade it to version 733.vd3700c27b_043. in lockstep with upgrading Jenkins core 2.475 or newer.

          Basil Crow added a comment - Users of the LDAP plugin must upgrade it to version 733.vd3700c27b_043 . in lockstep with upgrading Jenkins core 2.475 or newer.

          Andreas added a comment -

          Hi Basil, 

          thanks for the hint. Works perfectly. Sorry for not checking upfront.

          Andreas

          Andreas added a comment - Hi Basil,  thanks for the hint. Works perfectly. Sorry for not checking upfront. Andreas

          Frank added a comment -

          it might be useful to note that you can use the jenkins-plugin-manager CLI tool to accomplish this:

          java -jar jenkins-plugin-manager-*.jar --war /your/path/to/jenkins.war --plugin-download-directory /your/path/to/plugins/ --plugins ldap:733.vd3700c27b_043 

           

           

          Frank added a comment - it might be useful to note that you can use the jenkins-plugin-manager CLI tool to accomplish this: java -jar jenkins-plugin-manager-*.jar --war /your/path/to/jenkins.war --plugin-download-directory /your/path/to/plugins/ --plugins ldap:733.vd3700c27b_043    

          Phil R added a comment -

          Just ran into the same issue, thou pretty much all of jenkins ui is gone after the update to 2.480.

          I rolled the install back to 2.473 via our package manager.

          Then looking on jenkins 2.473, there is no option to update ldap from the plugin manager.

          Latest version shown in the plugin manager is LDAP Plugin Version 725.v3cb_b_711b_1a_ef 

           

           

          Phil R added a comment - Just ran into the same issue, thou pretty much all of jenkins ui is gone after the update to 2.480. I rolled the install back to 2.473 via our package manager. Then looking on jenkins 2.473, there is no option to update ldap from the plugin manager. Latest version shown in the plugin manager is LDAP Plugin Version 725.v3cb_b_711b_1a_ef     

          It's wonderful! Users must upgrade, and nobody cares that UI is not working. Just do it somehow!

          Dmitry Mikhirev added a comment - It's wonderful! Users must upgrade, and nobody cares that UI is not working. Just do it somehow!

          Please provide some path to accomplish upgrade without breaking the UI.

          Dmitry Mikhirev added a comment - Please provide some path to accomplish upgrade without breaking the UI.

          Mark Waite added a comment -

          bizdelnick we've provided a path to accomplish the upgrade without breaking the UI. We have documented that path in the Jenkins 2.479.1 upgrade guide where it says:

          Users of the LDAP plugin must upgrade it to version 733.vd3700c27b_043 in tandem with upgrading Jenkins core.

          To upgrade the LDAP plugin, follow these steps:

          1. Stop the Jenkins service with systemctl stop jenkins on Linux or similar commands on other operating systems.
          2. Download the LDAP plugin from the Jenkins update center.
          3. Move ldap.hpi into $JENKINS_HOME/plugins/ldap.jpi and set the correct ownership and permissions.
          4. Start the Jenkins service with systemctl start jenkins or similar commands on other operating systems.

          The Jenkins project has upgraded from Spring Security 5 to Spring Security 6, from Jetty 10 to Jetty 12, and from Java EE 8 to Jakarta EE 9. The LDAP plugin embeds Spring Security components in the plugin (for LDAP authentication). There was no feasible way to create an LDAP plugin that would work with both Spring Security 5 and Spring Security 6. The lockstep upgrade is required.

          Mark Waite added a comment - bizdelnick we've provided a path to accomplish the upgrade without breaking the UI. We have documented that path in the Jenkins 2.479.1 upgrade guide where it says: Users of the LDAP plugin must upgrade it to version 733.vd3700c27b_043 in tandem with upgrading Jenkins core. To upgrade the LDAP plugin, follow these steps: Stop the Jenkins service with systemctl stop jenkins on Linux or similar commands on other operating systems. Download the LDAP plugin from the Jenkins update center. Move ldap.hpi into $JENKINS_HOME/plugins/ldap.jpi and set the correct ownership and permissions. Start the Jenkins service with systemctl start jenkins or similar commands on other operating systems. The Jenkins project has upgraded from Spring Security 5 to Spring Security 6, from Jetty 10 to Jetty 12, and from Java EE 8 to Jakarta EE 9. The LDAP plugin embeds Spring Security components in the plugin (for LDAP authentication). There was no feasible way to create an LDAP plugin that would work with both Spring Security 5 and Spring Security 6. The lockstep upgrade is required.

            basil Basil Crow
            harff Andreas
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: