Bundled plugin not available error thrown on Jira server login
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
Symptoms
Upon logging into a Jira application, users encounter errors such as the following:
ERROR The Gadget Dashboard bundled plugin is not available. Please contact an administrator to ensure the Gadget Dashboard plugin is enabled! If you think this message is wrong, please consult your administrators about getting the necessary permissions.
The following or similar errors may be found within
atlassian-jira.log
:2012-06-13 16:21:19,887 Timer-0 ERROR [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.pyxis.greenhopper.jira], unsatisfied dependencies: Dependency on [(objectClass=com.atlassian.gadgets.view.GadgetViewFactory)] (from bean [&gadgetViewFactory]) org.springframework.context.ApplicationContextException: Application context initialization for 'com.pyxis.greenhopper.jira' has timed out at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)
2015-05-04 02:13:00,945 localhost-startStop-1 INFO [atlassian.plugin.util.WaitUntil] Plugins that have yet to be enabled: [com.pyxis.greenhopper.jira], 2 seconds remaining 2015-05-04 02:13:01,959 localhost-startStop-1 INFO [atlassian.plugin.util.WaitUntil] Plugins that have yet to be enabled: [com.pyxis.greenhopper.jira], 1 seconds remaining 2015-05-04 02:13:02,973 localhost-startStop-1 INFO [atlassian.plugin.util.WaitUntil] Plugins that have yet to be enabled: [com.pyxis.greenhopper.jira], 0 seconds remaining 2015-05-04 02:13:03,987 localhost-startStop-1 INFO [atlassian.plugin.manager.DefaultPluginManager] Disabling com.pyxis.greenhopper.jira 2015-05-04 02:13:07,044 localhost-startStop-1 ERROR [atlassian.plugin.manager.PluginEnabler] Unable to start the following plugins due to timeout while waiting for plugin to enable: com.pyxis.greenhopper.jira 2015-05-04 02:13:07,263 ThreadPoolAsyncTaskExecutor::Thread 24 ERROR [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.pyxis.greenhopper.jira], unsatisfied dependencies: none java.lang.IllegalStateException: Invalid BundleContext. at org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:365) at org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:307) (...) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Cause
As the Jira application starts up, it goes through the following steps when starting the Plugin System:
$JIRA_INSTALL/atlassian-jira/WEB-INF/classes/atlassian-bundled-plugins.zip
is extracted to$JIRA_HOME/plugins/.bundled-plugins
.$JIRA_HOME/plugins/installed-plugins
is extracted to$JIRA_HOME/plugins/.osgi-plugins
.
This is a fairly resource intensive process and can place a sizeable load on the I/O of the disk and CPU of the machine that is hosting the Jira application instance. If the required resources aren't available, the plugins may timeout and cause the application to be left in an unusable state.
This error can happen quite often on servers that only have a single-core vCPU available - Jira applications are multi-threaded and there will be CPU contention on startup which can subsequently cause timeouts to occur.
Workaround
It is possible to increase the plugin timeout period by adding the -Datlassian.plugins.enable.wait=300
argument to the Jira application startup arguments, as in Setting Properties and Options on Startup.
This will increase the time taken to start the Jira application up, and it does address the symptom rather than the root cause. If the machine is not powerful enough to run the application, we would suggest looking at upgrading to a more powerful host.
Resolution
- Ensure the machine meets minimum requirements and has enough memory, CPU, and disk I/O available as outlined in Jira applications requirements.
- Test your disk speed, as per our Testing Disk Access Speed KB. A slow disk or network mount can indicate problems with a Jira application startup as it will not be able to write to the disk in time.
- Check if any Antivirus is running on the host. Jira application and Antivirus are known to be mortal enemies - even if an exception is set in the Jira application directory, it may not be respected. Try disabling the Antivirus altogether and starting Jira application up.