I'm getting closer - Remy or Kin-Man, I need your help. As I expected, the flush() was hiding some other behaviors.
Right now I'm looking at ApplicationDispatcher.doForward(). What happens is: - error happens - we forward to the error page - error page executes, put the data in the out buffer - BEFORE: the out buffer was commited - now we just return from servlet to doForward() - The "commiting and closing response" reached ( line 471 ) What happens here is response is a ResponseFacade, and finish is called. But the real flushing and closing doesn't actually happens. I changed the code to first flush/close, the call finish - and it now seems to work fine. But I'm not sure what else may be affected by this - or if it's safe to make the change ( well, for 5.0 it may be, but what about 4.1 ? ) In any case, I expect this to have caused some weird behavior for normal forward - since forward doesn't seem to really flush/close as it was supposed to do ( unless response is not facade - does this case ever happen ? ). A bit strange no other test detected that, normal servlets don't have flush/close that the jsp page had. Costin Costin Manolache wrote: > I get more info on the issue. The error page worked before > because the forward() that was used to redirect to the > error page did commit the buffer. > > Right now the control returns to the page with error, where > the buffer seems to be overriden. > > I'm still debugging it - if I can't find any simple fix I'll > just roll back in the 4.1 tree, and continue to try for 5.0 > > Costin -- To unsubscribe, e-mail: <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>