Plugin does not fully uninstall, causing OSGi loading issues
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Bamboo starts up as expected, but there are configurations that do not load as expected. There are stack traces visible both in the User Interface and the logs showing OSGi plugin loader issues.
Diagnosis
The Manage apps page shows at least one plugin as Uninstalled. In a Support Zip, the plugin would show
<plugin>
<key>com.plugin.key.</key>
<name>Plugin Name</name>
<version>x.yy</version>
<vendor>Atlassian</vendor>
<status>UNINSTALLED</status>
<vendor-url>http://www.atlassian.com/</vendor-url>
<framework-version>2</framework-version>
<bundled>User installed</bundled>
</plugin>
From the command line, there would be output from
grep -B5 -A4 -i uninstalled Support_Zip_path/application-properties/application.xml
Output logs, such as catalina.out
or bamboo-stdout.YYYY-MM-DD.log
, would show errors such as the following during the plugin load process
2021-01-12 14:41:12,299 ERROR [Spring DM Context Creation Timer] [OsgiPlugin] Plugin 'com.atlassian.plugins.atlassian-nav-links-plugin' never resolved service '&activeObjects' with filter '(objectClass=com.atlassian.activeobjects.external.ActiveObjects)'
2021-01-12 14:41:12,299 ERROR [Spring DM Context Creation Timer] [OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.plugins.atlassian-nav-links-plugin'
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.plugins.atlassian-nav-links-plugin' has timed out waiting for (objectClass=com.atlassian.activeobjects.external.ActiveObjects)
...
2021-01-12 14:41:12,314 INFO [ThreadPoolAsyncTaskExecutor::Thread 16] [OsgiServiceFactoryBean] Publishing service under classes [{com.atlassian.activeobjects.external.ActiveObjects}]
2021-01-12 14:41:12,314 ERROR [Spring DM Context Creation Timer] [ExtenderConfiguration] Application context refresh failed (NonValidatingOsgiBundleXmlApplicationContext(bundle=com.atlassian.plugins.atlassian-nav-links-plugin, config=osgibundle:/META-INF/spring/*.xml))
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.plugins.atlassian-nav-links-plugin' has timed out waiting for (objectClass=com.atlassian.activeobjects.external.ActiveObjects)
...
2021-01-12 14:41:12,314 ERROR [Spring DM Context Creation Timer] [DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.atlassian.plugins.atlassian-nav-links-plugin], unsatisfied dependencies: Dependency on [(objectClass=com.atlassian.activeobjects.external.ActiveObjects)] (from bean [&activeObjects])
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.plugins.atlassian-nav-links-plugin' has timed out waiting for (objectClass=com.atlassian.activeobjects.external.ActiveObjects)
...
In the User Interface, stack traces such as the following may be seen:
com.atlassian.soy.renderer.SoyException: Unable to compile Soy templates at: com.atlassian.plugins.atlassian-nav-links-plugin:rotp-menu
...
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Required plugin module com.atlassian.plugins.atlassian-nav-links-plugin:rotp-menu was either missing or disabled
...
Cause
The plugin was uninstalled, but the uninstallation required a restart to complete. The classpaths that did not get removed caused errors when Bamboo attempts to initialize plugins.
Solution
To resolve this issue, please restart Bamboo.