https://bz.apache.org/bugzilla/show_bug.cgi?id=62258

            Bug ID: 62258
           Summary: getOutputStream() has already been called for this
                    response with caught IOException and jsp error page
           Product: Tomcat 9
           Version: 9.0.6
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: clem...@guillaume.bzh
  Target Milestone: -----

Created attachment 35839
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=35839&action=edit
log of the Exception

When an IOException that occurred while writing the response doesn't bubble up
the through the Servlet.service and a jsp error page is specified, the
following Exception will happen when tomcat tries to render the jsp:

2018-04-04 18:33:04 SEVERE org.apache.catalina.core.ApplicationDispatcher
invoke Servlet.service() for servlet [jsp] threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for
this response
[...]
2018-04-04 18:33:04 SEVERE org.apache.catalina.core.StandardHostValve custom
Exception Processing ErrorPage[errorCode=0, location=/error.jsp]
org.apache.jasper.JasperException: java.lang.IllegalStateException:
getOutputStream() has already been called for this response


It's reproductible with a ClientAbortException: call a page that take long time
to write the response and interrupt that call (ctr+c on curl). See this project
for example: https://github.com/guillaumecle/tomcat-error-page

This doesn't happen in 9.0.5, only 9.0.6. I beleive it's related to bug 41007

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to