JIRA application does not start due or Third party plugins are not working because of plugin-license-storage-plugin.jar
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
Symptoms
JIRA does not start or a few third party plugins are disabled and you are not allowed to enable it. The following appears in the atlassian-jira.log
:
2013-06-26 09:45:08,304 http-bio-8443-exec-21 ERROR xxxxx 585x5058x1 xorc8p 172.30.81.xxx /secure/admin/workflows/ViewWorkflowTransition.jspa [webwork.util.ValueStack] METHOD: "formatDescriptor", exception:
java.lang.LinkageError: loader constraint violation: when resolving interface method "com.atlassian.upm.api.license.PluginLicenseManager.getLicense()Lcom/atlassian/upm/api/util/Option;" the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoader) of the current class, com/atlassian/upm/license/storage/lib/ThirdPartyPluginLicenseStorageManagerImpl$1, and the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoader) for resolved class, com/atlassian/upm/api/license/PluginLicenseManager, have different Class objects for the type com/atlassian/upm/api/util/Option used in the signature
at com.atlassian.upm.license.storage.lib.ThirdPartyPluginLicenseStorageManagerImpl$1.call(ThirdPartyPluginLicenseStorageManagerImpl.java:61)
at com.atlassian.upm.license.storage.lib.ThirdPartyPluginLicenseStorageManagerImpl$1.call(ThirdPartyPluginLicenseStorageManagerImpl.java:57)
..
Caused by: java.lang.LinkageError: loader constraint violation: when resolving interface method "com.atlassian.upm.api.license.PluginLicenseManager.getLicense()Lcom/atlassian/upm/api/util/Option;" the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoader) of the current class, com/atlassian/upm/license/storage/lib/ThirdPartyPluginLicenseStorageManagerImpl$1, and the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoader) for resolved class, com/atlassian/upm/api/license/PluginLicenseManager, have different Class objects for the type com/atlassian/upm/api/util/Option used in the signature
at com.atlassian.upm.license.storage.lib.ThirdPartyPluginLicenseStorageManagerImpl$1.call(ThirdPartyPluginLicenseStorageManagerImpl.java:61)
at com.atlassian.upm.license.storage.lib.ThirdPartyPluginLicenseStorageManagerImpl$1.call(ThirdPartyPluginLicenseStorageManagerImpl.java:57)
...
or
2017-04-05 05:05:23,635 ThreadPoolAsyncTaskExecutor::Thread 9 ERROR [c.a.p.osgi.factory.OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.upm.plugin-license-storage-plugin'
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'licenseReceiptValidator' defined in URL [bundle://178.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 'pluginLicenseRepository' defined in URL [bundle://178.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.HostLicenseProvider]: : Error creating bean with name 'jiraHostLicenseProvider' defined in URL [bundle://178.0:0/META-INF/spring/atlassian-plugins-components.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [com.atlassian.upm.license.internal.LicenseManagerProvider]: : Error creating bean with name 'licenseManagerProvider' defined in URL [bundle://178.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.NoSuchMethodError: com.google.common.collect.ImmutableSet.of([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;; nested exception is
...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'licenseManagerProvider' defined in URL [bundle://178.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.NoSuchMethodError: com.google.common.collect.ImmutableSet.of([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
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:1139)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325)
at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290)
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Diagnosis
This happen after you upgraded the UPM plugins via UI or if you have recently upgraded to JIRA 7.3.x
Cause
There is plugin-license-storage-plugin-x.x.x.jar that is not the same with your current UPM version under the $JIRA-HOME/plugins/installed-plugins directory.
Resolution
- Remove the plugin-license-storage-plugin-x.x.x.jar from the $JIRA-HOME/plugins/installed-plugins directory
- Restart JIRA instance