Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.4.5, 6.4.7, 7.1.0, 7.1.9, 7.0.0
-
6.04
-
4
-
Severity 3 - Minor
-
0
-
Description
ISsue Summary
When a user creates a transition from Anyone to itself and presses the post function of the specified transition, they get a 404 page error.
Steps to Reproduce
- In a Workflow, create a transition that transitions from Any Status to itself.
- With the transition select, click on any of the options (post function, condition, validator,e.t.c)
Expected Result
JIRA would show the page selected.
Actual Result
JIRA throws a 404 page error.
Environment
I successfully reproduced on a vanilla JIRA 7.1.0, JIRA 6.4.5 and my customer also experienced it on a JIRA 7.0.X instance.
Logs
I saw the following in the logs:
2016-02-29 22:59:44,415 http-nio-7710-exec-2 ERROR jira 1379x509x1 ytrlzi 0:0:0:0:0:0:0:1 /secure/admin/workflows/ViewWorkflowTransition.jspa [c.a.j.w.util.component.RequestComponentManager] For input string: "undefined" java.lang.NumberFormatException: For input string: "undefined" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at com.atlassian.jira.web.util.component.RequestComponentManager.injectWorkflow(RequestComponentManager.java:85) at com.atlassian.jira.web.util.component.RequestComponentManager.getContainer(RequestComponentManager.java:42) at com.atlassian.jira.web.util.component.PicoWebworkObjectCreator.instantiate(PicoWebworkObjectCreator.java:30) at webwork.util.injection.ObjectFactory.instantiate(ObjectFactory.java:47) at com.atlassian.jira.config.webwork.JiraActionFactory$JiraPluginActionFactory.instantiateAction(JiraActionFactory.java:421) at com.atlassian.jira.config.webwork.JiraActionFactory$JiraPluginActionFactory.getActionImpl(JiraActionFactory.java:397) at webwork.action.factory.PrefixActionFactoryProxy.getActionImpl(PrefixActionFactoryProxy.java:82) at webwork.action.factory.JspActionFactoryProxy.getActionImpl(JspActionFactoryProxy.java:59) at webwork.action.factory.CommandActionFactoryProxy.getActionImpl(CommandActionFactoryProxy.java:60) at com.atlassian.jira.config.webwork.LookupAliasActionFactoryProxy.getActionImpl(LookupAliasActionFactoryProxy.java:61) at webwork.action.factory.CommandActionFactoryProxy.getActionImpl(CommandActionFactoryProxy.java:60) at webwork.action.factory.ContextActionFactoryProxy.getActionImpl(ContextActionFactoryProxy.java:36) at webwork.action.factory.PrepareActionFactoryProxy.getActionImpl(PrepareActionFactoryProxy.java:37) at com.atlassian.jira.config.webwork.JiraActionFactory$SafeParameterSettingActionFactoryProxy.getActionImpl(JiraActionFactory.java:147) at webwork.action.factory.ChainingActionFactoryProxy.getActionImpl(ChainingActionFactoryProxy.java:53) at com.atlassian.jira.config.webwork.JiraActionFactory.getActionImpl(JiraActionFactory.java:301) ... 2 filtered at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) ... 50 filtered at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:59) ... 66 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70) ... 89 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) 2016-02-29 22:59:44,556 http-nio-7710-exec-2 ERROR jira 1379x509x1 ytrlzi 0:0:0:0:0:0:0:1 /secure/admin/workflows/ViewWorkflowTransition.jspa [webwork] Error instantiating 'com.atlassian.jira.web.action.admin.workflow.ViewWorkflowTransition': com.atlassian.jira.web.action.admin.workflow.ViewWorkflowTransition has unsatisfied dependency 'class com.opensymphony.workflow.loader.ActionDescriptor' for constructor 'public com.atlassian.jira.web.action.admin.workflow.ViewWorkflowTransition(com.atlassian.jira.workflow.JiraWorkflow,com.opensymphony.workflow.loader.ActionDescriptor,com.atlassian.plugin.PluginAccessor,com.atlassian.jira.config.ConstantsManager,com.atlassian.jira.bc.workflow.WorkflowService,com.atlassian.jira.workflow.tabs.WorkflowTransitionTabProvider,com.atlassian.event.api.EventPublisher)' from org.picocontainer.DefaultPicoContainer@78171728:1<[Immutable]:com.atlassian.jira.component.CachingMutablePicoContainer@4bccbcd8 org.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException: com.atlassian.jira.web.action.admin.workflow.ViewWorkflowTransition has unsatisfied dependency 'class com.opensymphony.workflow.loader.ActionDescriptor' for constructor 'public com.atlassian.jira.web.action.admin.workflow.ViewWorkflowTransition(com.atlassian.jira.workflow.JiraWorkflow,com.opensymphony.workflow.loader.ActionDescriptor,com.atlassian.plugin.PluginAccessor,com.atlassian.jira.config.ConstantsManager,com.atlassian.jira.bc.workflow.WorkflowService,com.atlassian.jira.workflow.tabs.WorkflowTransitionTabProvider,com.atlassian.event.api.EventPublisher)' from org.picocontainer.DefaultPicoContainer@78171728:1<[Immutable]:com.atlassian.jira.component.CachingMutablePicoContainer@4bccbcd8 at org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:191) at org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:110) at org.picocontainer.injectors.ConstructorInjector.access$100(ConstructorInjector.java:51) at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:331) at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) at org.picocontainer.behaviors.Locked.getComponentInstance(Locked.java:40) at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698) at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646) at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:677) at com.atlassian.jira.component.CachingMutablePicoContainer.getComponent(CachingMutablePicoContainer.java:137) at com.atlassian.jira.web.util.component.PicoWebworkObjectCreator.instantiate(PicoWebworkObjectCreator.java:36) at webwork.util.injection.ObjectFactory.instantiate(ObjectFactory.java:47) at com.atlassian.jira.config.webwork.JiraActionFactory$JiraPluginActionFactory.instantiateAction(JiraActionFactory.java:421) at com.atlassian.jira.config.webwork.JiraActionFactory$JiraPluginActionFactory.getActionImpl(JiraActionFactory.java:397) at webwork.action.factory.PrefixActionFactoryProxy.getActionImpl(PrefixActionFactoryProxy.java:82) at webwork.action.factory.JspActionFactoryProxy.getActionImpl(JspActionFactoryProxy.java:59) at webwork.action.factory.CommandActionFactoryProxy.getActionImpl(CommandActionFactoryProxy.java:60) at com.atlassian.jira.config.webwork.LookupAliasActionFactoryProxy.getActionImpl(LookupAliasActionFactoryProxy.java:61) at webwork.action.factory.CommandActionFactoryProxy.getActionImpl(CommandActionFactoryProxy.java:60) at webwork.action.factory.ContextActionFactoryProxy.getActionImpl(ContextActionFactoryProxy.java:36) at webwork.action.factory.PrepareActionFactoryProxy.getActionImpl(PrepareActionFactoryProxy.java:37) at com.atlassian.jira.config.webwork.JiraActionFactory$SafeParameterSettingActionFactoryProxy.getActionImpl(JiraActionFactory.java:147) at webwork.action.factory.ChainingActionFactoryProxy.getActionImpl(ChainingActionFactoryProxy.java:53) at com.atlassian.jira.config.webwork.JiraActionFactory.getActionImpl(JiraActionFactory.java:301) ... 2 filtered at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) ... 50 filtered at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:59) ... 66 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70) ... 89 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) 2016-02-29 22:59:44,851 http-nio-7710-exec-2 ERROR [c.a.j.w.util.component.RequestComponentManager] For input string: "undefined" java.lang.NumberFormatException: For input string: "undefined" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at com.atlassian.jira.web.util.component.RequestComponentManager.injectWorkflow(RequestComponentManager.java:85) at com.atlassian.jira.web.util.component.RequestComponentManager.getContainer(RequestComponentManager.java:42) at com.atlassian.jira.web.util.component.PicoWebworkObjectCreator.instantiate(PicoWebworkObjectCreator.java:30) at webwork.util.injection.ObjectFactory.instantiate(ObjectFactory.java:47) at com.atlassian.jira.config.webwork.JiraActionFactory$JiraPluginActionFactory.instantiateAction(JiraActionFactory.java:421) at com.atlassian.jira.config.webwork.JiraActionFactory$JiraPluginActionFactory.getActionImpl(JiraActionFactory.java:397) at webwork.action.factory.PrefixActionFactoryProxy.getActionImpl(PrefixActionFactoryProxy.java:82) at webwork.action.factory.JspActionFactoryProxy.getActionImpl(JspActionFactoryProxy.java:59) at webwork.action.factory.CommandActionFactoryProxy.getActionImpl(CommandActionFactoryProxy.java:60) at com.atlassian.jira.config.webwork.LookupAliasActionFactoryProxy.getActionImpl(LookupAliasActionFactoryProxy.java:61) at webwork.action.factory.CommandActionFactoryProxy.getActionImpl(CommandActionFactoryProxy.java:60) at webwork.action.factory.ContextActionFactoryProxy.getActionImpl(ContextActionFactoryProxy.java:36) at webwork.action.factory.PrepareActionFactoryProxy.getActionImpl(PrepareActionFactoryProxy.java:37) at com.atlassian.jira.config.webwork.JiraActionFactory$SafeParameterSettingActionFactoryProxy.getActionImpl(JiraActionFactory.java:147) at webwork.action.factory.ChainingActionFactoryProxy.getActionImpl(ChainingActionFactoryProxy.java:53) at com.atlassian.jira.config.webwork.JiraActionFactory.getActionImpl(JiraActionFactory.java:301) ... 2 filtered at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) ... 90 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
The second error of the logs thrown matches the log shown in this JAC: https://jira.atlassian.com/browse/JRA-38221
Workaround
Use Text Workflow Mode to add the post function, condition or validator on a workflow transition.