Bitbucket Server fails to start - The Spring WebApplicationContext could not be started - Unresolved constraint in bundle

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

When starting (or restarting Bitbucket Server) after an upgrade, the application fails and the message displayed is:

The Spring WebApplicationContext could not be started

The following is logged in atlassian-bitbucket.log:

2014-08-12 07:00:56,123 ERROR [localhost-startStop-1]  c.a.plugin.osgi.factory.OsgiPlugin Detected an error (BundleException) enabling the plugin 'com.atlassian.bitbucket.plugin.bitbucket-scm-cache' : Unresolved constraint in bundle com.atlassian.bitbucket.plugin.bitbucket-scm-cache [73]: Unable to resolve 73.0: missing requirement [73.0] package; (&(package=org.apache.commons.io)(version>=2.0.0)).  This error usually occurs when your plugin imports a package from another bundle with a specific version constraint and either the bundle providing that package doesn't meet those version constraints, or there is no bundle available that provides the specified package. For more details on how to fix this, see http://confluence.atlassian.com/x/1xy6D
2014-08-12 07:00:56,126 WARN  [localhost-startStop-1]  c.a.plugin.osgi.factory.OsgiPlugin Unable to enable plugin 'com.atlassian.bitbucket.plugin.bitbucket-scm-cache'
com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: com.atlassian.bitbucket.plugin.bitbucket-scm-cache
	at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:445) ~[atlassian-plugins-osgi-2.13.4.jar:na]
	at com.atlassian.plugin.impl.AbstractPlugin.enable(AbstractPlugin.java:237) ~[atlassian-plugins-core-2.13.4.jar:na]
	at com.atlassian.plugin.manager.PluginEnabler.actualEnable(PluginEnabler.java:114) [atlassian-plugins-core-2.13.4.jar:na]
	at com.atlassian.plugin.manager.PluginEnabler.enable(PluginEnabler.java:99) [atlassian-plugins-core-2.13.4.jar:na]
	at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:725) [atlassian-plugins-core-2.13.4.jar:na]
	at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:178) [atlassian-plugins-core-2.13.4.jar:na]
	at com.atlassian.bitbucket.internal.plugin.CorePluginManager.onApplicationEvent(CorePluginManager.java:45) [bitbucket-platform-2.4.2.jar:na]
	at com.atlassian.bitbucket.internal.plugin.CorePluginManager.onApplicationEvent(CorePluginManager.java:16) [bitbucket-platform-2.4.2.jar:na]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97) [spring-context-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334) [spring-context-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:948) [spring-context-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) [spring-context-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) [spring-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) [spring-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at com.atlassian.johnson.spring.web.context.JohnsonContextLoaderListener.initWebApplicationContext(JohnsonContextLoaderListener.java:102) [atlassian-johnson-spring-2.1.0.jar:na]
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) [spring-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887) [catalina.jar:7.0.40]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381) [catalina.jar:7.0.40]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.40]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) [catalina.jar:7.0.40]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) [catalina.jar:7.0.40]
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_33]
	at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_33]
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_33]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_33]
	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_33]
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.atlassian.bitbucket.plugin.bitbucket-scm-cache [73]: Unable to resolve 73.0: missing requirement [73.0] package; (&(package=org.apache.commons.io)(version>=2.0.0))
	at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409) ~[org.apache.felix.framework-3.0.2.jar:na]
	at org.apache.felix.framework.Felix.startBundle(Felix.java:1709) ~[org.apache.felix.framework-3.0.2.jar:na]
	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905) ~[org.apache.felix.framework-3.0.2.jar:na]
	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892) ~[org.apache.felix.framework-3.0.2.jar:na]
	at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:417) ~[atlassian-plugins-osgi-2.13.4.jar:na]
	... 25 common frames omitted

Cause

Bitbucket Server will intially extract a number of core plugins from <Bitbucket Server installation directory>/atlassian-bitbucket/WEB-INF/classes/bundled-plugins.zip and put them into $BITBUCKET_HOME/plugins/.bundled-plugins/ and <BITBUCKET_HOME>/plugins/.osgi-cache/. If one or more of these extracted plugins has become corrupt Bitbucket Server will fail to start in the manner described above.

Resolution

  1. Shut Bitbucket Server down.
  2. Backup and remove the following directories. They will be rebuilt when Bitbucket Server starts again.
    1. $BITBUCKET_HOME/plugins/.bundled-plugins/
    2. $BITBUCKET_HOME/plugins/.osgi-cache/
  3. Restart Bitbucket Server.
Last modified on Feb 26, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.