tags:

views:

325

answers:

2

What is the reason for encountering this Exception:

Error commiting responsejava.io.IOException: Broken pipe at sun.nio.ch.FileDispatcher.write0(Native Method)

I encounter this exception when i do a page redirect from http to https. And the strange thing is that i can access https in the first 10 to 20 requests. But subsequent requests that i encounter this broken pipe issue

Below is the full exception

Error commiting responsejava.io.IOException: Broken pipe at sun.nio.ch.FileDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104) at sun.nio.ch.IOUtil.write(IOUtil.java:75) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:302) at com.sun.enterprise.server.ss.ASOutputStream.write(ASOutputStream.java:120) at com.sun.net.ssl.internal.ssl.OutputRecord.writeBuffer(OutputRecord.java:283) at com.sun.net.ssl.internal.ssl.OutputRecord.write(OutputRecord.java:272) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:666) at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59) at org.apache.coyote.http11.InternalOutputBuffer.commit(InternalOutputBuffer.java:602) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.action(ProcessorTask.java:721) at org.apache.coyote.Response.action(Response.java:188) at org.apache.coyote.Response.sendHeaders(Response.java:380) at org.apache.coyote.tomcat5.OutputBuffer.doFlush(OutputBuffer.java:357) at org.apache.coyote.tomcat5.OutputBuffer.close(OutputBuffer.java:318) at org.apache.coyote.tomcat5.CoyoteResponse.finishResponse(CoyoteResponse.java:528) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:192) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:426) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281) at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83

A: 

Because something didn't work.

If you'd like a more detailed answer, try editing your question and providing some context (like, what you were doing when it happened, what your code looks like, etc.).

Otherwise, that's about the best answer anyone is going to be able to give you unless they happen by pure chance to know what you're talking about.

MarkusQ
+1  A: 

Broken pipe usually means that the other side closed or aborted the pipe.

jdigital