Unable to start the plugin container for plugin 'com.atlassian.upm.plugin-license-storage-plugin' after upgrade to Confluence 6.x

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server and Data Center Only. This article only applies to Atlassian products on the server and data center platforms.

Problem

After upgrading to Confluence 6.x, the Atlassian Universal Plugin Manager - Plugin License Storage plugin (com.atlassian.upm.plugin-license-storage-plugin) can't be enabled. 

 

The following error appears in the atlassian-confluence.log:

2017-03-16 17:07:07,764 ERROR [ThreadPoolAsyncTaskExecutor::Thread 24] [plugin.osgi.factory.OsgiPlugin] onPluginContainerFailed Unable to start the plugin container for plugin 'com.atlassian.upm.plugin-license-storage-plugin'
 -- referer: https://wiki.wiki.com/plugins/servlet/upm/manage/all | url: /rest/plugins/1.0/com.atlassian.upm.plugin-license-storage-plugin-key | traceId: 1fe445b981f47ecc | userName: billy
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'licenseReceiptValidator' defined in URL [bundle://206.0:0/META-INF/spring/atlassian-plugins-components.xml]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.atlassian.upm.license.internal.PluginLicenseRepository]...Error creating bean with name 'licenseManagerProvider' defined in URL [bundle://206.0:0/META-INF/spring/atlassian-plugins-components.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.upm.license.internal.impl.LicenseManagerProviderImpl]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.extras.decoder.v1.Version1LicenseDecoder
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:185)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
	...
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.extras.decoder.v1.Version1LicenseDecoder
	at com.atlassian.upm.license.internal.impl.LicenseManagerProviderImpl.<init>(LicenseManagerProviderImpl.java:40)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
	... 61 more

Cause

This problem affects customers who have previously upgraded the Atlassian Universal Plugin Manager - Plugin License Storage plugin.  When a system plugin is upgraded via UPM, Confluence considers it to be a "user installed" plugin and stores data in the PLUGINDATA table.  As  the Plugin License Storage plugin (com.atlassian.upm.plugin-license-storage-plugin) has been unbundled from Confluence 6.x, it fails to load the PLUGINDATA entry.

Notes

This issue has been resovled in Confluence 6.2.4 and Confluence 6.3.1, see

Workaround

Always back up your data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.

To resolve this problem you'll need to remove the entry for this plugin manually: 

  1. Stop Confluence.
  2. Check whether there is an entry for this plugin in the PLUGINDATA table:

    select * from PLUGINDATA where PLUGINKEY='com.atlassian.upm.plugin-license-storage-plugin';
  3. Delete the bad entry in PLUGINDATA by executing the following DELETE statement:

     delete from PLUGINDATA where PLUGINKEY='com.atlassian.upm.plugin-license-storage-plugin';
  4. Clear the Confluence plugin cache - see How to clear Confluence plugins cache for more info. 
  5. Start Confluence.

   


Last modified on Oct 22, 2017

Was this helpful?

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