Bitbucket Server does not start - Unable to start the following plugins due to timeout while waiting for plugin to enable
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
Problem
Bitbucket Server does not start.
The following appears in the atlassian-bitbucket.log
2016-02-08 12:26:08,992 ERROR [spring-startup] c.a.plugin.manager.PluginEnabler Unable to start the following plugins due to timeout while waiting for plugin to enable: com.atlassian.bitbucket.bitbucket-branch-utils,com.atlassian.plugins.atlassian-nav-links-plugin,com.atlassian.bitbucket.bitbucket-dev-summary-plugin,org.tmatesoft.subgit.bitbucket-svn-importer,com.atlassian.plugins.atlassian-remote-event-common-plugin,com.atlassian.bitbucket.bitbucket-jira-integration,com.atlassian.plugins.atlassian-remote-event-producer-plugin,com.atlassian.upm.atlassian-universal-plugin-manager-plugin,com.atlassian.plugins.atlassian-remote-event-consumer-plugin
Cause
As the Bitbucket Server application starts up, it loads the installed plugins from the available ones.
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 Bitbucket Server application instance.
If the required resources aren't available, the plugins may timeout and cause the application to be left in an unusable state.
The default timeout value is 300 seconds.
Workaround
It is possible to increase the plugin timeout period. To do this, add the the following argument to file:
$BITBUCKET_INSTALLATION/bin/_start-webapp.sh
Locate the line starting with JVM_SUPPORT_RECOMMENDED_ARGS
and remove any leading hash character (#
) if there is one. Add the following in between the double quotes on that line:
-Datlassian.plugins.enable.wait=360
That section should now look like:
JVM_SUPPORT_RECOMMENDED_ARGS="-Datlassian.plugins.enable.wait=360"
This increases the timeout value to 360 seconds.
This may increase the time taken to start the Bitbucket Server 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.