SSH add-on does not load when Stash starts
Symptoms
Stash loads and the SSH add-on doesn't.
The following information is logged to atlassian-stash.log:
2014-05-01 09:25:57,340 INFO [localhost-startStop-1] c.a.s.i.server.BuildInfoLogger Starting Stash 2.12.1 (ee5019c built on Wed Apr 02 00:31:37 EDT 2014)
2014-05-01 09:25:57,342 INFO [localhost-startStop-1] c.a.s.i.server.BuildInfoLogger JVM: Oracle Corporation OpenJDK 64-Bit Server VM 1.7.0_09-icedtea-mockbuild_2013_01_16_11_20-b00
2014-05-01 09:25:58,225 INFO [localhost-startStop-1] c.a.s.internal.home.HomeLockAcquirer Successfully acquired lock on home directory /data/atlassian/stash-home for 4343@seigwpdevgs01
2014-05-01 09:26:15,049 INFO [localhost-startStop-1] c.a.s.i.hook.DefaultHookService Hook callback socket listening on 127.0.0.1:47099
2014-05-01 09:26:18,345 WARN [ThreadPoolAsyncTaskExecutor::Thread 9] o.s.beans.TypeConverterDelegate PropertyEditor [com.sun.beans.editors.EnumEditor] found through deprecated global PropertyEdit
orManager fallback - consider using a more isolated form of registration, e.g. on the BeanWrapper/BeanFactory!
2014-05-01 09:26:49,723 WARN [active-objects-ddl-0] c.a.a.o.AOConfigurationServiceProviderImpl Timeout (30000 MILLISECONDS) waiting for ActiveObjectConfiguration for Bundle : com.atlassian.stash.
build-integration [64].
To avoid this warning add an ao configuration module to your plugin
2014-05-01 09:26:49,728 WARN [active-objects-ddl-0] c.a.a.o.AOConfigurationServiceProviderImpl Didn't find any configuration service for bundle com.atlassian.stash.build-integration nor any entit
ies scanning for default AO packages.
2014-05-01 09:26:49,730 WARN [ListenableFutureAdapter-thread-0] c.a.a.o.ActiveObjectsServiceFactory Resubmitting AO bundle with longer timeout 180000 ms for bundle : com.atlassian.stash.build-int
egration [64]
2014-05-01 09:27:19,729 WARN [active-objects-ddl-0] c.a.a.o.AOConfigurationServiceProviderImpl Timeout (30000 MILLISECONDS) waiting for ActiveObjectConfiguration for Bundle : com.atlassian.stash.
stash-audit [60].
To avoid this warning add an ao configuration module to your plugin
2014-05-01 09:27:19,729 WARN [active-objects-ddl-0] c.a.a.o.AOConfigurationServiceProviderImpl Didn't find any configuration service for bundle com.atlassian.stash.stash-audit nor any entities sc
anning for default AO packages.
2014-05-01 09:27:19,730 WARN [ListenableFutureAdapter-thread-1] c.a.a.o.ActiveObjectsServiceFactory Resubmitting AO bundle with longer timeout 180000 ms for bundle : com.atlassian.stash.stash-aud
it [60]
2014-05-01 09:27:21,749 ERROR [localhost-startStop-1] c.a.plugin.manager.PluginEnabler Unable to start the following plugins due to timeout while waiting for plugin to enable: com.atlassian.stash.
ssh-plugin
2014-05-01 09:27:21,753 ERROR [ThreadPoolAsyncTaskExecutor::Thread 2] o.s.o.e.i.a.ContextLoaderListener Application context refresh failed (NonValidatingOsgiBundleXmlApplicationContext(bundle=com.
atlassian.stash.ssh, config=osgibundle:/META-INF/spring/*.xml))
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sshServer_osgiService': Initialization of bean failed; nested exception is java.lang.IllegalStateException: C
an only register services while bundle is active or activating.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480) ~[spring-beans-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_09-icedtea]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) ~[spring-context-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_09-icedtea]
at java.lang.Thread.run(Thread.java:722) [na:1.7.0_09-icedtea]
... 14 frames trimmed
Caused by: java.lang.IllegalStateException: Can only register services while bundle is active or activating.
at org.apache.felix.framework.Felix.registerService(Felix.java:2831) ~[org.apache.felix.framework-3.0.9.jar:na]
... 5 common frames omitted
2014-05-01 09:27:49,730 WARN [active-objects-ddl-0] c.a.a.o.AOConfigurationServiceProviderImpl Timeout (30000 MILLISECONDS) waiting for ActiveObjectConfiguration for Bundle : com.atlassian.stash.
ssh [58].
To avoid this warning add an ao configuration module to your plugin
Cause
Stash will intially extract a number of core plugins from <Stash installation directory>/atlassian-stash/WEB-INF/classes/bundled-plugins.zip
and put them into $STASH_HOME/plugins/.bundled-plugins/
and <STASH_HOME>/plugins/.osgi-cache/
. If one or more of these extracted plugins has become corrupt Stash will fail to start in the manner described above.
Resolution
- Shut Stash down.
- Remove the following directories. They will be rebuilt when Stash starts again.
$STASH_HOME
/plugins/.bundled-plugins/$STASH_HOME
/plugins/.osgi-cache/
- From the database, remove any required plugins from the
plugin-state
table (see https://jira.atlassian.com/browse/STASH-4290 for more information). - Restart Stash.
Upon starting up, Stash will re-extract the required plugins from
and rebuild those plugin directories.<Stash installation directory>
/atlassian-stash/WEB-INF/classes/bundled-plugins.zip