[undertow-dev] java.io.IOException: Broken pip

Mike Hostetler hostetlerm at gmail.com
Wed Apr 9 15:24:18 EDT 2014


I'm using a WildFly 8.0.1 nightly and can easily recreate this error:

14:01:30,134 ERROR [io.undertow.request] (default task-18) Blocking request
failed HttpServerExchange{ GET /ottrservices/recentpatients}:
java.lang.RuntimeException: java.io.IOException: Broken pipe
at
io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:527)
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:287)
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) [rt.jar:1.7.0_51]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
[rt.jar:1.7.0_51]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) [rt.jar:1.7.0_51]
at sun.nio.ch.IOUtil.write(IOUtil.java:51) [rt.jar:1.7.0_51]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
[rt.jar:1.7.0_51]
at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:150)
[xnio-nio-3.2.1.Final.jar:3.2.1.Final]
at
io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:529)
at
io.undertow.conduits.ChunkedStreamSinkConduit.flush(ChunkedStreamSinkConduit.java:251)
at
org.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
[xnio-api-3.2.1.Final.jar:3.2.1.Final]
at
io.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:100)
at org.xnio.channels.Channels.flushBlocking(Channels.java:63)
[xnio-api-3.2.1.Final.jar:3.2.1.Final]
at
io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:623)
at
io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:451)
at
io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:525)
... 9 more


For this particular screen, we do send a lot of data back and forth via
REST requests. Some of it can be large.

I have this setting in my http-listener:
             <http-listener name="default" socket-binding="http"
max-buffered-request-size="10485760"  max-header-size="7864320"
allow-equals-in-cookie-value="true"/>

yes I picked those large values just to see if they would work and they
haven't. I see from this page:
http://undertow.io/documentation/core/listeners.html

That there is a MAX_ENTITY_SIZE in Undertow but I can't seem to get Wildfly
to recognize it -- when I try max-entity-size="something" in the
http-listener tag, I get a validation error.

Any ideas?



-- 
Mike Hostetler
http://mike.hostetlerhome.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20140409/85fd5b8a/attachment-0001.html 


More information about the undertow-dev mailing list