What does the exception "javax.servlet.jsp.JspException: Broken pipe" signify?

Ruepen picture Ruepen · May 5, 2010 · Viewed 18.2k times · Source

I'm getting the following error:

javax.servlet.jsp.JspException: Broken pipe

Now I have seen questions/answers with respects to the socket exception, but this error is coming from a different package. Any help is greatly appreciated.
BTW, I am seeing quite a lot of these errors in a struts web app Weblogic Node logs and I am thinking that it has to do with end users closing their web browser before the page reloads/executes the next step (database transaction which takes quite a bit of time to execute, anywhere from 30 seconds to 4 mins).

Answer

BalusC picture BalusC · May 5, 2010

I am thinking that it has to do with end users closing their web browser before the page reloads/executes the next step

You are entirely correct. This exception will be thrown when the client aborts the current request by navigating away, closing the tab/window, refreshing the request, etc while the request is still running. In other words, the client abruptly closed the connection and the server side can't write/flush any byte to it anymore. It has normally an IOException as the root cause, usually in flavor of a servletcontainer specific subclass like ClientAbortException in case of Tomcat and clones. If you investigate the entire stacktrace in the server logs, you'll find it somewhere at the bottom.