Getting error message "com.opensymphony.user.EntityNotFoundException" when operating on issue

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

When operating on issue, for example changing Assignee, Assigning ticket or mention user in the comment, once you save the modification, there is a popup message said : "Exception occurred: java.lang.ClassNotFoundException: com.opensymphony.user.EntityNotFoundException".  And the modification can be display correctly after refreshing the page.

 The following appears in the atlassian-jira.log:

java.lang.NoClassDefFoundError: com/opensymphony/user/EntityNotFoundException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	at java.lang.Class.getDeclaredConstructors(Class.java:1836)
	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getSortedMatchingConstructors(ConstructorInjectionComponentAdapter.java:229)
	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getGreediestSatisifableConstructor(ConstructorInjectionComponentAdapter.java:76)
	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:193)
	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.workflow.DefaultOSWorkflowConfigurator$LegacyJiraTypeResolver.loadObject(DefaultOSWorkflowConfigurator.java:168)
	at com.opensymphony.workflow.TypeResolver.getCondition(TypeResolver.java:73)
	at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$JiraTypeResolverDelegator.getCondition(DefaultOSWorkflowConfigurator.java:115)
	at sun.reflect.GeneratedMethodAccessor420.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareMethodInterceptor.intercept(MultiTenantComponentFactoryImpl.java:230)
	at com.opensymphony.workflow.TypeResolver$$EnhancerByCGLIB$$34dcebff.getCondition(<generated>)
	at com.opensymphony.workflow.AbstractWorkflow.passesCondition(AbstractWorkflow.java:1077)
	at com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1119)
	at com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1143)
	at com.opensymphony.workflow.AbstractWorkflow.getAvailableActionsForStep(AbstractWorkflow.java:723)
	at com.opensymphony.workflow.AbstractWorkflow.getAvailableActions(AbstractWorkflow.java:115)
	at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getAvailableActionIds(IssueWorkflowManagerImpl.java:140)
	at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getAvailableActions(IssueWorkflowManagerImpl.java:41)
	at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getSortedAvailableActions(IssueWorkflowManagerImpl.java:65)
	at com.atlassian.jira.issue.transitions.TransitionLinkFactory.getAvailableActions(TransitionLinkFactory.java:63)
	at com.atlassian.jira.issue.transitions.TransitionLinkFactory.getLinks(TransitionLinkFactory.java:52)
......
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: com.opensymphony.user.EntityNotFoundException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	... 319 more

Cause

It could be that there is one transition is using a condition which is still using the old class, which cause this issue as each modification on JIRA issue, the whole page will be reload and the component will be all rend it again.

Here is an example: 

This issue could probably reproduced when importing an workflow XML file from an older version of JIRA (4.x or earlier).

Workaround

  1. Export the workflow to XML file and search the term 'opensymphony' to locate the transition which is currently using the condition. 
  2. Create a draft of the workflow and edit the workflow. 
  3. Delete the condition and recreate the same within a standard way. (in the example, the 'OSUserGroupCondition' should be reproduced by 'User in Group').
  4. Publish the new workflow.
Last modified on Mar 30, 2016

Was this helpful?

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