3rd party apps blocking CCMA enabling

XMLWordPrintable

    • 4
    • Minor
    • 22

      Issue Summary

      3rd party apps blocking CCMA enabling

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Install Markdown Extensions for Confluence version 2.5.0
      2. Upgrade CCMA to the version 3.9.17

      Expected Results

      We expect CCMA to be upgraded and enabled.

      Actual Results

      CCMA fails with the message: The app has been installed but cannot be enabled. Refer to the logs for more information.

      The below exception is thrown in the atlassian-confluence.log file:

      2024-06-27 06:04:53,295 ERROR [ThreadPoolAsyncTaskExecutor::Thread 44] [plugin.osgi.factory.OsgiPlugin] onPluginContainerFailed Unable to start the plugin container for plugin 'com.atlassian.migration.agent'
       -- event: com.atlassian.confluence.event.events.plugin.PluginEnableEvent(com.atlassian.migration.agent) | originatingMemberUuid: aaa99a99-9999-999a-99a9-9a9999aaa9a9
      org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'migrationMetadataAggregatorService' defined in OSGi resource[classpath:com/atlassian/migration/agent/CommonBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Unsatisfied dependency expressed through method 'migrationMetadataAggregatorService' parameter 11; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appsAssessmentService' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Unsatisfied dependency expressed through method 'appsAssessmentService' parameter 6; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appAccessScopeService' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Unsatisfied dependency expressed through method 'appAccessScopeService' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultRegistrar' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.migration.app.AbstractCloudMigrationRegistrar] from ClassLoader [migration-agent [321]]
      	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)
      	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
      	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:57)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:322)
      	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:287)
      	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.base/java.lang.Thread.run(Unknown Source)
      Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appsAssessmentService' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Unsatisfied dependency expressed through method 'appsAssessmentService' parameter 6; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appAccessScopeService' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Unsatisfied dependency expressed through method 'appAccessScopeService' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultRegistrar' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.migration.app.AbstractCloudMigrationRegistrar] from ClassLoader [migration-agent [321]]
      	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)
      	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
      	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
      	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
      	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
      	... 19 more
      Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appAccessScopeService' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Unsatisfied dependency expressed through method 'appAccessScopeService' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultRegistrar' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.migration.app.AbstractCloudMigrationRegistrar] from ClassLoader [migration-agent [321]]
      	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)
      	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
      	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
      	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
      	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
      	... 33 more
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultRegistrar' defined in OSGi resource[classpath:com/atlassian/migration/agent/ServiceBeanConfiguration.class|bnd.id=321|bnd.sym=migration-agent]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.migration.app.AbstractCloudMigrationRegistrar] from ClassLoader [migration-agent [321]]
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
      	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
      	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
      	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
      	... 47 more
      Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.migration.app.AbstractCloudMigrationRegistrar] from ClassLoader [migration-agent [321]]
      	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485)
      	at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321)
      	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:232)
      	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:210)
      	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:149)
      	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:305)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1116)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
      	... 57 more
      Caused by: java.lang.NoClassDefFoundError: com/atlassian/migration/app/listener/ListenerMetadata
      	at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
      	at java.base/java.lang.Class.privateGetDeclaredMethods(Unknown Source)
      	at java.base/java.lang.Class.getDeclaredMethods(Unknown Source)
      	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467)
      	... 64 more
      Caused by: java.lang.ClassNotFoundException: com.atlassian.migration.app.listener.ListenerMetadata not found by mohamicorp-render-markdown [313]
      	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639)
      	at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
      	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
      	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
      	at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1414)
      	at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1660)
      	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1590)
      	at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
      	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
      	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
      	... 68 more
      

      Workaround

      Downgrade CCMA to the version 3.9.16.
      Instructions to downgrade CCMA outlined here: How to install a specific version of the Confluence Cloud Migration Assistant

      If version 3.9.17 CCMA is desired. Uninstall Markdown Extensions for Confluence then update CCMA to version 3.9.17. Afterwards, re-install Markdown Extensions for Confluence

            Assignee:
            Clive Karsten Lim
            Reporter:
            Mario Cardia
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: