]
Stuart Douglas commented on WFLY-3722:
--------------------------------------
So this is basically a logging problem, generally IOException is logged at DEBUG, but in
this case it is not. The underlying exception would just be caused by the long polling
connection being closed. This should be fixed with the next undertow update.
IOException: Broken pipe thrown when using RichFaces with Atmosphere
2.2.0
--------------------------------------------------------------------------
Key: WFLY-3722
URL:
https://issues.jboss.org/browse/WFLY-3722
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Web (Undertow)
Reporter: Brian Leathem
Assignee: Stuart Douglas
While working on RF-13753 I upgraded the RichFaces Atmosphere dependency from 1.0.x to
2.2.0. All is functional after the upgrade except an IOException is thrown when I
navigate away from a page using Atmosphere (via the RichFaces push component).
The stacktrace looks like:
{code}
16:35:27,083 ERROR [stderr] (default task-39) Exception in thread "default
task-39" java.lang.RuntimeException: java.io.IOException: Broken pipe
16:35:27,083 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:527)
16:35:27,083 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.AsyncContextImpl$3.run(AsyncContextImpl.java:294)
16:35:27,083 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.AsyncContextImpl$6.run(AsyncContextImpl.java:432)
16:35:27,083 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.AsyncContextImpl$TaskDispatchRunnable.run(AsyncContextImpl.java:517)
16:35:27,084 ERROR [stderr] (default task-39) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
16:35:27,084 ERROR [stderr] (default task-39) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
16:35:27,084 ERROR [stderr] (default task-39) at java.lang.Thread.run(Thread.java:745)
16:35:27,084 ERROR [stderr] (default task-39) Caused by: java.io.IOException: Broken
pipe
16:35:27,084 ERROR [stderr] (default task-39) at
sun.nio.ch.FileDispatcherImpl.write0(Native Method)
16:35:27,084 ERROR [stderr] (default task-39) at
sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
16:35:27,084 ERROR [stderr] (default task-39) at
sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
16:35:27,085 ERROR [stderr] (default task-39) at
sun.nio.ch.IOUtil.write(IOUtil.java:65)
16:35:27,085 ERROR [stderr] (default task-39) at
sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
16:35:27,085 ERROR [stderr] (default task-39) at
org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:150)
16:35:27,085 ERROR [stderr] (default task-39) at
io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:531)
16:35:27,085 ERROR [stderr] (default task-39) at
io.undertow.conduits.ChunkedStreamSinkConduit.flush(ChunkedStreamSinkConduit.java:256)
16:35:27,085 ERROR [stderr] (default task-39) at
org.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
16:35:27,085 ERROR [stderr] (default task-39) at
io.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:100)
16:35:27,085 ERROR [stderr] (default task-39) at
org.xnio.channels.Channels.flushBlocking(Channels.java:63)
16:35:27,085 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:625)
16:35:27,085 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:451)
16:35:27,086 ERROR [stderr] (default task-39) at
io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:525)
16:35:27,086 ERROR [stderr] (default task-39) ... 6 more
{code}
There are no richfaces not atmosphere classes in the stacktrace, so I'm not sure how
to narrow the problem down.
A reproducer can be found by building RichFaces from the branch:
https://github.com/richfaces/richfaces/tree/RF-13753-upgrade-atmosphere
and deploying the showcase. The push component sample triggers the error when you
navigate away from the page:
http://localhost:8080/showcase/richfaces/component-sample.jsf?demo=push&a...