Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-59997

Opening Post Function Page on a Workflow Transition leads to 404 page Error

    XMLWordPrintable

Details

    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

      1. In a Workflow, create a transition that transitions from Any Status to itself.
      2. 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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ijimoh Ismael Olusula Jimoh (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated: