Uploaded image for project: 'Beehive'
  1. Beehive
  2. BEEHIVE-756

Major badness when moving between page flows in the same request, with multiple concurrent requests

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • V1Alpha, V1Beta, v1m1
    • 1.0
    • NetUI
    • None

    Description

      There's actually a whole class of bugs like this; the repro below is only one example.

      Repro:

      • Add the attached page flows to a webapp, build, and hit /first/Controller.jpf.
      • Click the "goNested" twice quickly.

      You'll see the following stacktrace on the console:

      org.apache.beehive.netui.pageflow.EmptyNestingStackException: Empty nesting stack for returned action nestedDone from page flow /nested/Controller.jpf.
      at org.apache.beehive.netui.pageflow.internal.DefaultActionForwardHandler.doNestingReturn(DefaultActionForwardHandler.java:464)
      at org.apache.beehive.netui.pageflow.internal.DefaultActionForwardHandler.doForward(DefaultActionForwardHandler.java:167)
      at org.apache.beehive.netui.pageflow.FlowController.forwardTo(FlowController.java:491)
      at org.apache.beehive.netui.pageflow.PageFlowController.forwardTo(PageFlowController.java:896)
      at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:428)
      at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:282)
      at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:306)
      at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:48)
      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:109)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:1979)
      at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:63)
      at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:86)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2048)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:592)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:856)
      at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:600)
      at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:163)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
      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:312)
      at org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:127)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1755)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processPageFlowRequest(PageFlowRequestProcessor.java:758)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:517)
      at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:856)
      at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:600)
      at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:163)
      at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at

      Attachments

        1. jira756.zip
          3 kB
          Richard Feit

        Issue Links

          Activity

            People

              jzhuo Julie Zhuo
              rich Richard Feit
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: