JIRA applications System Plugin Timeout While Waiting for Add-ons to Enable
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
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)
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.zipis extracted to
$JIRA_HOME/plugins/installed-pluginsis extracted to
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.
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.
- 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 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.