java.net.SocketException: Broken pipe (errno:32)
843790Jan 3 2009 — edited Jan 3 2009Hello,
Our platform: Weblogic Server 9.2.2, MP1, on HP-UX.
The following error occurs on our production servers on a seemingly
random basis. The exception is thrown during the rendering of a
response to the browser from our servers.
{color:#ff0000}java.net.SocketException: Broken pipe (errno:32)
{color}bq. {color:#ff0000} at java.net.SocketOutputStream.socketWrite0(Native Method) \\ at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:97) \\ at java.net.SocketOutputStream.write(SocketOutputStream.java:141) \\ at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:525) \\ at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:504) \\ at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382) \\ at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:249) \\ at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469) \\ at weblogic.servlet.internal.CharsetChunkOutput.implWrite(CharsetChunkOutput.java:396) \\ at weblogic.servlet.internal.CharsetChunkOutput.write(CharsetChunkOutput.java:198) \\ at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:133) \\ at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:168) \\ at weblogic.servlet.internal.DelegateChunkWriter.write(DelegateChunkWriter.java:108) \\ at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:133) \\ at weblogic.servlet.jsp.JspWriterImpl.write(JspWriterImpl.java:245) \\ at jsp_servlet._ui._menu.__displayservicelistmenu._writeText(__displayservicelistmenu.java:53) \\ at jsp_servlet._ui._menu.__displayservicelistmenu._jspService(__displayservicelistmenu.java:201) \\ at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) \\ (other lines deleted...) {color}
If we look at the generated jsp code, we find the following code in __displayservicelistmenu (line numbers added by me):
{color:#0000ff}(048) private static void
_writeText(javax.servlet.ServletResponse rsp,
javax.servlet.jsp.JspWriter out, String block, byte[] blockBytes)
(049) throws java.io.IOException {
(050) if (!_WL_ENCODED_BYTES_OK || _hasEncodingChanged(rsp)){
(051) out.print(block);
(052) } else {
(053) ((weblogic.servlet.jsp.ByteWriter)out).write(blockBytes, block);
(054) }
(055) }
{color}
So the error is on line 53 occurring in the call to ByteWriter.write(...).
Line 201 in the same file is a call to this method of course, with a block of bytes to print out to the client.
Additional information: the same error does occur many times in the
log, but not necessarily from line 201. However, all of the exceptions
indicate a broken pipe during an output operation.
There is not much information on this error in the Java world, so any advice would be appreciated.
Thanks in advance,
Bland.