Beehive
  1. Beehive
  2. BEEHIVE-757

503 error when @Jpf.Catch forwards to an error page with a compile error in it

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: v1m1
    • Fix Version/s: 1.0
    • Component/s: NetUI
    • Labels:
      None
    • Environment:
      Tomcat 5.0.25

      Description

      Repro:

      • Add the attached page flow to a Beehive webapp, build, and hit /foo/Controller.jpf.
      • Click the 'throwException' link.

      EXPECTED: a Tomcat error page for the IllegalStateException thrown from the page.
      ACTUAL: a 503 error returned to the browser; the original exception is nowhere to be found, in the logs or on the console.

      This only happens when the JSP's page flow has a @Jpf.Catch with type=Exception.class. There's an infinite loop happening, where the page exception is getting caught by the @Jpf.Catch, which re-forwards to the error page. The 503 is the Page Flow framework's decision to break out of the string of forwards when some threshold is reached (25 by default).

      1. j757.zip
        1 kB
        Rich Feit

        Activity

        Rich Feit created issue -
        Hide
        Rich Feit added a comment -

        I never attached the repro – will do it shortly.

        Show
        Rich Feit added a comment - I never attached the repro – will do it shortly.
        Rich Feit made changes -
        Field Original Value New Value
        Fix Version/s TBD [ 10950 ]
        Description Repro:
            - Add the attached page flow to a Beehive webapp, build, and hit /foo/Controller.jpf.

            - Click the 'throwException' link.

        EXPECTED: a Tomcat error page describing the compilation error on the page ('blah' is not a valid attribute for netui:anchor).
        ACTUAL: a 503 error returned to the browser; the original exception is nowhere to be found, in the logs or on the console.

        This only happens when the JSP's page flow has a @Jpf.Catch with type=Exception.class. There's an infinite loop happening, where the Jasper exception is getting caught by the @Jpf.Catch, which re-forwards to the error page. The 503 is the Page Flow framework's decision to break out of the string of forwards when some threshold is reached (25 by default).
        Repro:
            - Add the attached page flow to a Beehive webapp, build, and hit /foo/Controller.jpf.

            - Click the 'throwException' link.

        EXPECTED: a Tomcat error page for the IllegalStateException thrown from the page.
        ACTUAL: a 503 error returned to the browser; the original exception is nowhere to be found, in the logs or on the console.

        This only happens when the JSP's page flow has a @Jpf.Catch with type=Exception.class. There's an infinite loop happening, where the page exception is getting caught by the @Jpf.Catch, which re-forwards to the error page. The 503 is the Page Flow framework's decision to break out of the string of forwards when some threshold is reached (25 by default).
        Fix Version/s V1 [ 12310123 ]
        Hide
        Rich Feit added a comment -

        Repro app – note that it goes under /bugs/j757, not just /j757.

        Show
        Rich Feit added a comment - Repro app – note that it goes under /bugs/j757, not just /j757.
        Rich Feit made changes -
        Attachment j757.zip [ 12310905 ]
        Hide
        Rich Feit added a comment -

        Fixed with revision 193001.

        Show
        Rich Feit added a comment - Fixed with revision 193001.
        Rich Feit made changes -
        Resolution Fixed [ 1 ]
        Assignee Rich Feit [ rich ] Alejandro Ramirez [ alramire ]
        Status Open [ 1 ] Resolved [ 5 ]
        Hide
        Alejandro Ramirez added a comment -

        Verified Fixed. Executed the repro steps and now the user is sent to the Tomcat error page.

        I also executed the tests with sharedflows catching Exception.class instead of the pageflow. The same results was observed (the tomcat error page is displayed instead of the 503 error page).

        Show
        Alejandro Ramirez added a comment - Verified Fixed. Executed the repro steps and now the user is sent to the Tomcat error page. I also executed the tests with sharedflows catching Exception.class instead of the pageflow. The same results was observed (the tomcat error page is displayed instead of the 503 error page).
        Alejandro Ramirez made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Alejandro Ramirez
            Reporter:
            Rich Feit
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development