-
Bug
-
Resolution: Fixed
-
High
-
3.13.4
-
None
-
Java 6.07, Tomcat 5.5, MySQL 5.0.32, Debian Etch
-
3.13
-
Here is the scenario:
- add new a status in JIRA (in my case "Validated")
- copy the current workflow ("WFwithvalidation") and add the "Validated" status and add transitions to/from this new status
- create a new workflow scheme, all issue types are associated to the new "WFwithvalidation"
- migrate an existing project to the new workflow scheme: no status association necessary
- create a new issue and apply transitions until the "Validated" status
Then, the issue supposed to be in "Validated" cannot be opened - I got the "Oops System Error":
java.lang.RuntimeException: Could not find workflow status for issue VUGIS-634. at com.atlassian.jira.permission.PermissionContextImpl.getStatusGV(PermissionContextImpl.java:106) at com.atlassian.jira.permission.PermissionContextImpl.getRelevantStepDescriptor(PermissionContextImpl.java:83) at com.atlassian.jira.permission.WorkflowPermissionFactory.getWorkflowPermissions(WorkflowPermissionFactory.java:26) at com.atlassian.jira.security.WorkflowBasedPermissionManager.hasPermission(WorkflowBasedPermissionManager.java:73) at com.atlassian.jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:121) at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:71) at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28) at $Proxy1.hasPermission(Unknown Source) at com.atlassian.jira.web.action.issue.AbstractIssueSelectAction.getIssue(AbstractIssueSelectAction.java:74) at com.atlassian.jira.web.action.issue.ViewIssue.doExecute(ViewIssue.java:156) at webwork.action.ActionSupport.execute(ActionSupport.java:153) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:178) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.atlassian.jira.servlet.QuickLinkServlet.service(QuickLinkServlet.java:58) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:204) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:120) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:138) at ro.softwin.elearning.jiratools.NTLMLoginFilter.doFilter(NTLMLoginFilter.java:127) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132) at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:350) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:75) at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:33) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:619)
The atlassian-jira.log file only contains the stack trace ([500ErrorPage.jsp] Exception caught in 500 page Could not find workflow status for issu
e VUGIS-634) and stack traces from IssueMailQueueItem.send failure with the same cause.
Moreover, if I use new transitions to move an pre-existing issue (before workflow scheme migration) to "Validated", that issue has the same trouble too.
I got the same trouble on my test system and then on my productive system, I have applied exactly the same process, except I have imported the workflow from XML into productive system.
As the issue navigator does not display the new status (see Selection_019.png), I have tested a basic "re-index" on issues without success.
Integrity Checker does not detect any trouble, see Selection_020.png.
Database content seems perfectly correct, my issuestatus "Validated" has id 10008;
I have used queries from http://confluence.atlassian.com/display/JIRA/Issue+status+and+workflow :
mysql> select issuestatus from jiraissue where pkey='VUGIS-634'; +-------------+ | issuestatus | +-------------+ | 10008 | +-------------+ 1 row in set (0.00 sec) mysql> select pname from issuestatus, jiraissue where issuestatus.id=jiraissue.issuestatus and pkey='VUGIS-634'; +-----------+ | pname | +-----------+ | Validated | +-----------+ 1 row in set (0.00 sec) mysql> select * from OS_WFENTRY where ID=(select workflow_id from jiraissue where pkey='VUGIS-634'); +-------+--------------------------------------+-------------+-------+ | ID | NAME | INITIALIZED | STATE | +-------+--------------------------------------+-------------+-------+ | 50392 | Standard 3 with validation v1.1 | NULL | 1 | +-------+--------------------------------------+-------------+-------+ 1 row in set (0.00 sec) mysql> select * from OS_CURRENTSTEP where ENTRY_ID=(select workflow_id from jiraissue where pkey='VUGIS-634'); +--------+----------+---------+-----------+-------+---------------------+----------+-------------+-----------+--------+ | ID | ENTRY_ID | STEP_ID | ACTION_ID | OWNER | START_DATE | DUE_DATE | FINISH_DATE | STATUS | CALLER | +--------+----------+---------+-----------+-------+---------------------+----------+-------------+-----------+--------+ | 158276 | 50392 | 10 | 0 | | 2011-03-22 18:50:44 | NULL | NULL | Validated | NULL | +--------+----------+---------+-----------+-------+---------------------+----------+-------------+-----------+--------+ 1 row in set (0.00 sec)
I have found the following workaround:
- Shutdown JIRA
- Startup JIRA, now the issue is displayed properly (no longer Oops System Error) but Issue Navigator still reports an empty status
- re-index to fix the Issue Navigator display
My guess: the "workflow permission" cache has not been invalidated after the workflow scheme migration and this trouble raised when a new status is added.
- relates to
-
JRASERVER-23196 Renaming Priority, Resolution, Status, Issue Type does not get reflected until a system restart
- Closed