tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [Bug 54220] New: ErrorReportValve invoked on non-error responses too
Date Wed, 28 Nov 2012 20:19:49 GMT

            Bug ID: 54220
           Summary: ErrorReportValve invoked on non-error responses too
           Product: Tomcat 6
           Version: 6.0.36
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
    Classification: Unclassified

If you issue a response.setStatus(404) from a servlet, you expect as per spec
that the response is left untouched. No error page written. There is sendError
for that.

Unfortunately, ErrorReportValve reacts on line 158
> if ((statusCode < 400) || (response.getContentCount() > 0))
>            return;

If you take a look at the StandardHostValve, it invokes error handling on line
> if (!response.isError())
>            return;
On errors only (correct behavior).

The ErrorReportValve must react on response.isError() == true only. Regardless
of the status code or the content count.
The Javadoc does not limit this to status codes >= 400 but is says that
reponse.sendError() has to clears buffers. As far I understand that, regardless
of the response body is disposed and the error reponse is always written.

You are receiving this mail because:
You are the assignee for the bug.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message