java.lang.NoSuchFieldError: USED_USER after upgrade from 5.1.7 to 5.2

Guido Grune November 19, 2012

I have tried to upgrade our JIRA test environment from 5.1.7 to 5.2. After configuration, build and deployment I have got the following error in the tomcat log:

2012-11-20 13:37:04,560 main INFO atlassian.plugin.manager.DefaultPluginManager Initialising the plugin system

2012-11-20 13:37:05,277 main ERROR atlassian.event.internal.EventPublisherImpl There was an exception thrown trying to dispatch event 'com.atlassian.plugin.event.events.PluginFrameworkStartingEvent@625795ce' from the invoker 'com.atlassian.event.internal.SingleParameterMethodListenerInvoker@2aa05bc3'.

java.lang.RuntimeException: USED_USER

at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54)

at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60)

at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:28)

at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:56)

at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:151)

at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:70)

at com.atlassian.multitenant.event.DefaultPeeringEventPublisherManager.publish(DefaultPeeringEventPublisherManager.java:17)

at com.atlassian.multitenant.event.PeeringEventPublisher.publish(PeeringEventPublisher.java:23)

at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:84)

at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:149)

at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:58)

at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:671)

at com.atlassian.jira.ComponentManager.startJIRA(ComponentManager.java:220)

at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:212)

at com.atlassian.jira.ComponentManager.start(ComponentManager.java:197)

at com.atlassian.jira.upgrade.PluginSystemLauncher.start(PluginSystemLauncher.java:23)

at com.atlassian.jira.startup.DefaultJiraLauncher$3.run(DefaultJiraLauncher.java:105)

at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:284)

at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseActivated(DatabaseConfigurationManagerImpl.java:169)

at com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:98)

at com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:25)

at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:64)

at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:33)

at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:59)

at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:80)

at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:75)

at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.get(MultiTenantComponentMapImpl.java:121)

at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.onTenantStart(MultiTenantComponentMapImpl.java:165)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:134)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:131)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForEachListener(DefaultMultiTenantManager.java:256)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startTenant(DefaultMultiTenantManager.java:130)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startAll(DefaultMultiTenantManager.java:203)

at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:108)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)

at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:593)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Caused by: java.lang.NoSuchFieldError: USED_USER

at com.atlassian.jira.user.SessionBasedAnonymousUserHistoryStore.(SessionBasedAnonymousUserHistoryStore.java:62)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:100)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:200)

at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getConstructorArguments(ConstructorInjectionComponentAdapter.java:222)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:198)

at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getConstructorArguments(ConstructorInjectionComponentAdapter.java:222)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:198)

at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getConstructorArguments(ConstructorInjectionComponentAdapter.java:222)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:198)

at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)

at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:298)

at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:113)

at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:91)

at com.atlassian.jira.issue.fields.DefaultFieldManager.createAndRegister(DefaultFieldManager.java:200)

at com.atlassian.jira.issue.fields.DefaultFieldManager.init(DefaultFieldManager.java:83)

at com.atlassian.jira.issue.fields.DefaultFieldManager.(DefaultFieldManager.java:64)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:100)

at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:200)

at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)

at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)

at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)

at com.atlassian.jira.ComponentContainer.getComponentInstance(ComponentContainer.java:105)

at com.atlassian.jira.ComponentContainer$Registry.getComponents(ComponentContainer.java:334)

at com.atlassian.jira.ComponentContainer$HostComponentProviderImpl.provide(ComponentContainer.java:124)

at com.atlassian.jira.multitenant.MultiTenantHostComponentProvider.provide(MultiTenantHostComponentProvider.java:31)

at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.collectHostComponents(FelixOsgiContainerManager.java:470)

at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.start(FelixOsgiContainerManager.java:232)

at com.atlassian.jira.plugin.JiraOsgiContainerManager.start(JiraOsgiContainerManager.java:79)

at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.onStart(FelixOsgiContainerManager.java:194)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36)

... 57 more

2012-11-20 13:37:06,964 main ERROR atlassian.plugin.manager.DefaultPluginManager There was an error loading the descriptor 'View Issue Ops Bar Assign Link' of plugin 'com.atlassian.jira.plugin.system.issueoperations'. Disabling.

java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.jira.user.SessionBasedAnonymousUserHistoryStore

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

I have found missing USED_USER field in the source code (5.2) of the class com.atlassian.jira.user.UserHistoryItem. But I didn't found a class UserHistoryItem in the WAR or build environment.

Did I make a mistake?

2 answers

1 accepted

0 votes
Answer accepted
Guido Grune November 25, 2012

Removing of the plugins was my 2nd idea after cleaning Tomcat work directory but this doesn't help.

But I have found my mistake. In edit-webapps directory I have found a jira-api-5.1.7.jar under WEB-INF/lib. I do not know how it get there but after I removed it and build, cleaned and deployed JIRA everything was fine.

Thanx for your help.

0 votes
Faisal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 19, 2012

Hi there,

From the problem description, it sounds like you are running on JIRA WAR installation type, can you kindly confirm this? If this is true, then may I know if you have clear Tomcat's work directory after upgrading JIRA to 5.2?

If you haven't performed the steps yet, can you kindly try to clear the work directory, restart Tomcat and see if it helps?

Cheers.

Guido Grune November 20, 2012

Hi,

thanx for your answer. You are right it's a WAR installation. I have already cleared the work directory and restarted Tomcat but it doesn't help.

Here my environment:

Linux CentOS 6.2
JIRA 5.2 WAR
Tomcat 6
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Database Oracle XE 11.2.0.2.0

Best regards.

Faisal
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 20, 2012

Hi,

Thanks for your input on this.

To be honest, I haven't seen such exceptions before. However, since clearing the work directory doesn't help, I have my suspicion that this perhaps may be caused by:
- incompatible third party plugin
- JIRA plugin cache issue

Therefore, may I know if the 5.2 installation is using the same home directory as JIRA 5.1.7? If this is true, then can you kindly check if all of the deployed third party plugin is compatible with JIRA 5.2? You may check for the plugin version compatibility with JIRA by going to https://marketplace.atlassian.com

And also, you can try to clear the plugin cache by performing the following steps:
- Go to $JIRA_HOME/plugins
- Clear the content of .bundled-plugins and .osgi-plugins
- Restart JIRA, and the removed files will be recompiled again

Kindly let us know how it goes.

Guido Grune November 20, 2012

Removing of the plugins was my 2nd idea after cleaning Tomcat work directory but this doesn't help.

But I have found my mistake. In edit-webapps directory I have found a jira-api-5.1.7.jar under WEB-INF/lib. I do not know how it get there but after I removed it and build, cleaned and deployed JIRA everything was fine.

Thanx for your help.

Suggest an answer

Log in or Sign up to answer