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/