Issue Navigator displays an error when searching for certain issues

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

When you search the Issue Navigator, you get the message "An error occurred whilst rendering this message. Please contact the administrators, and inform them of this bug."

The following appears in the atlassian-jira.log:

2013-08-03 16:04:13,960 http-apr-8080-exec-5 ERROR admin 964x14x1 xxxxx 192.168.0.1 /issues/ [velocity] Exception in macro #issues at templates/jira/issue/table/issuetable-issue.vm[line 3, column 1]
2013-08-03 16:04:13,961 http-apr-8080-exec-5 ERROR admin 964x14x1 xxxxx 192.168.0.1 /issues/ [com.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: java.lang.NullPointerException
java.lang.NullPointerException
	at com.atlassian.jira.permission.PermissionContextImpl.getRelevantStepDescriptor(PermissionContextImpl.java:90)
	at com.atlassian.jira.permission.WorkflowPermissionFactory.getWorkflowPermissions(WorkflowPermissionFactory.java:30)
	at com.atlassian.jira.security.WorkflowBasedPermissionManager.hasPermission(WorkflowBasedPermissionManager.java:75)
	at com.atlassian.jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:113)
	at com.atlassian.jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:142)  <+3>
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:81)
	at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
	at $Proxy80.hasPermission(Unknown Source)
....
	at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
	at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:67)
	at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.asHtml(DefaultVelocityTemplatingEngine.java:104)
	at com.atlassian.jira.web.component.AbstractWebComponent.getHtml(AbstractWebComponent.java:35)
	at com.atlassian.jira.web.component.IssueTableWebComponent$1.write(IssueTableWebComponent.java:149)
	at com.atlassian.jira.web.component.IssueTableWebComponent.getHtml(IssueTableWebComponent.java:81)
	at com.atlassian.jira.web.component.IssueTableWebComponent.getHtml(IssueTableWebComponent.java:47)
	at com.atlassian.jira.bc.issue.table.DefaultIssueTableService.createIssueTable(DefaultIssueTableService.java:361)
	at com.atlassian.jira.bc.issue.table.DefaultIssueTableService.getIssueTable(DefaultIssueTableService.java:262)
	at com.atlassian.jira.bc.issue.table.DefaultIssueTableService.getIssueTableFromFilterWithJql(DefaultIssueTableService.java:183)  <+3>
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareInvocationHandler.invoke(MultiTenantComponentFactoryImpl.java:211)
	at $Proxy395.getIssueTableFromFilterWithJql(Unknown Source)  <+3>
	

Cause

There's a workflow scheme which is associated to a non-existent workflow.

 

Diagnosis

In order to confirm that please execute the following SQL query (made in PostgreSQL)

select * from workflowschemeentity where workflow not in (select workflowname from jiraworkflows)

Resolution

Always back up your data before performing any modification to the database. If possible, try your modifications on a test server.

 

The workflow scheme should be updated manually with a valid workflow first via UI (if possible) else, it has to be modified in the database, as well as any entries associated to the invalid workflow at the changeitem and os_wfentry tables. The steps to perform this are as follows:

  • Shutdown JIRA
  • Run the update statements to change the non-existent workflow name to the valid workflow
  • Restart JIRA
  • Use the following update statements as an example of how it should look

    UPDATE workflowschemeentity
    SET workflow = 'valid workflow'
    WHERE workflow = 'non-existent workflow';
    
     
    UPDATE changeitem
    SET newstring = 'valid workflow'
    WHERE newstring = 'non-existent workflow';
     
    UPDATE os_wfentry
    SET name = 'valid workflow'
    WHERE name = 'non-existent workflow';

Last modified on Jan 20, 2017

Was this helpful?

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