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

4

12

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).

Extractor answered 5/5, 2010 at 17:48 Comment(0)
B
11

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.

Blather answered 5/5, 2010 at 18:7 Comment(0)
S
1

I am sure the underlying package uses pipes internally to transfer the result from a to b. Now B (the ServletOutputStream) closes, and the other end of the pipe notifies this by throwing this exception.

Splashboard answered 5/5, 2010 at 18:4 Comment(0)
A
1

The HTTPRequest is handled by a chain of servlets which are connected to each other using pipes. When the browser abandons the connection and the socket gets closed, that is being caught by the servlet chaining managment layer. The servlet probably is indirectly catching the socket closed exception and is thowing it as the broken pipe. Look at any wrapped exception for more details.

Anaesthesiology answered 5/5, 2010 at 18:11 Comment(0)
C
-2

It happens when the user clicks stop, or logs off, or otherwise prematurely aborts the connection, We can ignore this exception.

Christianize answered 17/3, 2012 at 10:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.