Crowd Pruning App fails to enable

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Low
    • 4.4.2, 5.0.0
    • Affects Version/s: 4.4.1
    • Component/s: Plugins
    • None
    • 1
    • Severity 3 - Minor

      Issue Summary

      The Crowd Delegated Directory Pruning Plugin (DDPP) App fails to enable.

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Install Crowd 4.4.1
      2. Navigate to Crowd Administration » Manage Apps
        • Update Atlassian Troubleshooting and Support Tools app to the available v1.39.0
      3. Once the app is updated, restart Crowd
      4. Navigate to Crowd Administration » Manage Apps
        • Change to All apps
        • Search for Directory Pruning Plugin

      Expected Results

      The Directory Pruning Plugin should be enabled.

      Actual Results

      The Directory Pruning Plugin is disabled .

      In atlassian-crowd.log, the following shows up after startup:

      2022-08-16 08:10:03,441 localhost-startStop-1 INFO [com.atlassian.crowd.startup] Starting Crowd Server, Version: 4.4.1 (Build:#1688 - 2022-03-02) 
      ...
      2022-08-16 08:09:39,970 ThreadPoolAsyncTaskExecutor::Thread 17 ERROR [plugin.osgi.factory.OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.labs.crowd.directory-pruning-plugin'
      org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.atlassian.com/schema/atlassian-scanner]
      Offending resource: URL [bundle://29.0:0/META-INF/spring/plugin-context.xml]
      
      	at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72)
      	at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:119)
      	at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:111)
      	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:281)
      	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1388)
      	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1371)
      	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:179)
      	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:149)
      	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:96)
      	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:511)
      	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
      	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338)
      	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
      	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
      	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224)
      	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195)
      	at org.eclipse.gemini.blueprint.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:171)
      	at org.eclipse.gemini.blueprint.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:141)
      	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
      	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:676)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:57)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:239)
      	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:217)
      	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:224)
      	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:177)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:154)
      	at org.eclipse.gemini.blueprint.extender.internal.activator.LifecycleManager$1.run(LifecycleManager.java:213)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      ...
      2022-08-16 08:09:40,078 FelixDispatchQueue INFO [osgi.container.felix.FelixOsgiContainerManager] Stopped bundle com.atlassian.crowd.directory-pruning-plugin (29)
      ...
      2022-08-16 08:09:41,197 localhost-startStop-1 INFO [atlassian.plugin.manager.PluginEnabler] Plugin 'com.atlassian.labs.crowd.directory-pruning-plugin' is now DISABLED
      

      Root cause

      ATST v1.39.0 contains a bundled atlassian-spring-scanner that conflicts with the atlassian-spring-scanner that the Pruning App in Crowd 4.4.1 also bundles.

      Workaround

      1. Shutdown Crowd
      2. Delete the <crowd-home>/shared/plugins/plugin.*.plugin-crowd-1.39.0.jar
        • Crowd will then revert back to the bundled ATST version inside the <crowd-install-directory>
      3. Restart Crowd
      4. Update: 21 Aug 2022. Manage Apps will now only show update for ATST to compatible ATST 1.37.0.

            Assignee:
            Unassigned
            Reporter:
            Eric L
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: