Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
This was an Apache Tomcat issue. Having the same problem with 8.5.16 version it ceased when upgrading to 8.5.50. -- Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-f1842947.html - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
Could you solve the problem ? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/After-upgrade-to-Wicket-7-6-0-WebSocket-logs-Broken-pipe-tp4676630p4678119.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
On 04/01/2017 10:41, Martin Grigorov wrote: Hi, My question was: have you updated Tomcat lately? Maybe you have upgraded from older and working version to latest/broken one. Ah, I understand: you might be right, then. It seems that the features connected to web sockets are working fine anyway; at first access, no error message; subsequent accesses report errors in the logs when switching across pages. Hence, I guess that the problem occurs because somehow the web socket is not closed when going into a new page. Regards. On Wed, Jan 4, 2017 at 10:29 AM, Francesco Chicchiriccòwrote: On 04/01/2017 10:14, Martin Grigorov wrote: Hi, Have you updated Tomcat version too? I don't see any reason why changes in Wicket Native WebSocket could lead to this. In the same time there were many improvements in Tomcat WebSocket code, and this might led to a regression. Hi, this happens both with Tomcat 8.5.9 and 8.0.39, which are the latest versions available. I have also tried with Tomcat 8.5.8 and 8.5.6 with same results. On Wed, Jan 4, 2017 at 10:07 AM, Francesco Chicchiriccò < ilgro...@apache.org> wrote: Hi all, after upgrading to Wicket 7.6.0 [1], this code [2] is causing the following error in the logs: 10:02:16.300 ERROR org.apache.wicket.protocol.ws.javax.WicketEndpoint - An error occurred in web socket connection with id : 0 java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_111] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_111] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:47 1) ~[?:1.8.0_111] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java: 124) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelector Pool.java:183) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr iteInternal(NioServletOutputStream.java:94) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr ite(NioServletOutputStream.java:61) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream .writeInternal(AbstractServletOutputStream.java:165) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream .write(AbstractServletOutputStream.java:132) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe r.onWritePossible(WsRemoteEndpointImplServer.java:98) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe r.doWrite(WsRemoteEndpointImplServer.java:79) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMe ssagePart(WsRemoteEndpointImplBase.java:453) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe ssage(WsRemoteEndpointImplBase.java:341) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe ssageBlock(WsRemoteEndpointImplBase.java:273) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSes sion.java:600) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java :522) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processDataControl(W sFrameBase.java:348) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameB ase.java:290) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(W sFrameBase.java:131) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvail able(WsFrameServer.java:71) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsRe adListener.onDataAvailable(WsHttpUpgradeHandler.java:185) ~[tomcat-websocket.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletInputStream. onDataAvailable(AbstractServletInputStream.java:198) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDi spatch(AbstractProcessor.java:96) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler .process(AbstractProtocol.java:661) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun (NioEndpoint.java:1520) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run( NioEndpoint.java:1476) ~[tomcat-coyote.jar:8.0.39] at
Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
Hi, My question was: have you updated Tomcat lately? Maybe you have upgraded from older and working version to latest/broken one. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Jan 4, 2017 at 10:29 AM, Francesco Chicchiriccòwrote: > On 04/01/2017 10:14, Martin Grigorov wrote: > >> Hi, >> >> Have you updated Tomcat version too? >> I don't see any reason why changes in Wicket Native WebSocket could lead >> to >> this. >> In the same time there were many improvements in Tomcat WebSocket code, >> and >> this might led to a regression. >> > > Hi, > this happens both with Tomcat 8.5.9 and 8.0.39, which are the latest > versions available. > > I have also tried with Tomcat 8.5.8 and 8.5.6 with same results. > > > On Wed, Jan 4, 2017 at 10:07 AM, Francesco Chicchiriccò < >> ilgro...@apache.org> wrote: >> >>> Hi all, >>> after upgrading to Wicket 7.6.0 [1], this code [2] is causing the >>> following error in the logs: >>> >>> 10:02:16.300 ERROR org.apache.wicket.protocol.ws.javax.WicketEndpoint - >>> An error occurred in web socket connection with id : 0 >>> java.io.IOException: Broken pipe >>> at sun.nio.ch.FileDispatcherImpl.write0(Native Method) >>> ~[?:1.8.0_111] >>> at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) >>> ~[?:1.8.0_111] >>> at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) >>> ~[?:1.8.0_111] >>> at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_111] >>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:47 >>> 1) >>> ~[?:1.8.0_111] >>> at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java: >>> 124) >>> ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelector >>> Pool.java:183) >>> ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr >>> iteInternal(NioServletOutputStream.java:94) ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr >>> ite(NioServletOutputStream.java:61) ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.coyote.http11.upgrade.AbstractServletOutputStream >>> .writeInternal(AbstractServletOutputStream.java:165) >>> ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.coyote.http11.upgrade.AbstractServletOutputStream >>> .write(AbstractServletOutputStream.java:132) ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe >>> r.onWritePossible(WsRemoteEndpointImplServer.java:98) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe >>> r.doWrite(WsRemoteEndpointImplServer.java:79) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMe >>> ssagePart(WsRemoteEndpointImplBase.java:453) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe >>> ssage(WsRemoteEndpointImplBase.java:341) ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe >>> ssageBlock(WsRemoteEndpointImplBase.java:273) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSes >>> sion.java:600) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java >>> :522) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsFrameBase.processDataControl(W >>> sFrameBase.java:348) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameB >>> ase.java:290) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(W >>> sFrameBase.java:131) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvail >>> able(WsFrameServer.java:71) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsRe >>> adListener.onDataAvailable(WsHttpUpgradeHandler.java:185) >>> ~[tomcat-websocket.jar:8.0.39] >>> at org.apache.coyote.http11.upgrade.AbstractServletInputStream. >>> onDataAvailable(AbstractServletInputStream.java:198) >>> ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDi >>> spatch(AbstractProcessor.java:96) ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler >>> .process(AbstractProtocol.java:661) ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun >>> (NioEndpoint.java:1520) >>> ~[tomcat-coyote.jar:8.0.39] >>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run( >>> NioEndpoint.java:1476) >>> ~[tomcat-coyote.jar:8.0.39] >>>
Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
On 04/01/2017 10:29, Francesco Chicchiriccò wrote: On 04/01/2017 10:14, Martin Grigorov wrote: Hi, Have you updated Tomcat version too? I don't see any reason why changes in Wicket Native WebSocket could lead to this. In the same time there were many improvements in Tomcat WebSocket code, and this might led to a regression. Hi, this happens both with Tomcat 8.5.9 and 8.0.39, which are the latest versions available. I have also tried with Tomcat 8.5.8 and 8.5.6 with same results. It seems that the features connected to web sockets are working fine anyway; at first access, no error message; subsequent accesses report errors in the logs when switching across pages. Hence, I guess that the problem occurs because somehow the web socket is not closed when going into a new page. Regards. On Wed, Jan 4, 2017 at 10:07 AM, Francesco Chicchiriccòwrote: Hi all, after upgrading to Wicket 7.6.0 [1], this code [2] is causing the following error in the logs: 10:02:16.300 ERROR org.apache.wicket.protocol.ws.javax.WicketEndpoint - An error occurred in web socket connection with id : 0 java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_111] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_111] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[?:1.8.0_111] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr iteInternal(NioServletOutputStream.java:94) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr ite(NioServletOutputStream.java:61) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream .writeInternal(AbstractServletOutputStream.java:165) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream .write(AbstractServletOutputStream.java:132) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe r.onWritePossible(WsRemoteEndpointImplServer.java:98) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe r.doWrite(WsRemoteEndpointImplServer.java:79) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMe ssagePart(WsRemoteEndpointImplBase.java:453) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe ssage(WsRemoteEndpointImplBase.java:341) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe ssageBlock(WsRemoteEndpointImplBase.java:273) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:600) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:522) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:348) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:290) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:71) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsRe adListener.onDataAvailable(WsHttpUpgradeHandler.java:185) ~[tomcat-websocket.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletInputStream. onDataAvailable(AbstractServletInputStream.java:198) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDi spatch(AbstractProcessor.java:96) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler .process(AbstractProtocol.java:661) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) ~[tomcat-coyote.jar:8.0.39] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111] at
Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
On 04/01/2017 10:14, Martin Grigorov wrote: Hi, Have you updated Tomcat version too? I don't see any reason why changes in Wicket Native WebSocket could lead to this. In the same time there were many improvements in Tomcat WebSocket code, and this might led to a regression. Hi, this happens both with Tomcat 8.5.9 and 8.0.39, which are the latest versions available. I have also tried with Tomcat 8.5.8 and 8.5.6 with same results. On Wed, Jan 4, 2017 at 10:07 AM, Francesco Chicchiriccòwrote: Hi all, after upgrading to Wicket 7.6.0 [1], this code [2] is causing the following error in the logs: 10:02:16.300 ERROR org.apache.wicket.protocol.ws.javax.WicketEndpoint - An error occurred in web socket connection with id : 0 java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_111] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_111] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[?:1.8.0_111] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr iteInternal(NioServletOutputStream.java:94) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr ite(NioServletOutputStream.java:61) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream .writeInternal(AbstractServletOutputStream.java:165) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream .write(AbstractServletOutputStream.java:132) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe r.onWritePossible(WsRemoteEndpointImplServer.java:98) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe r.doWrite(WsRemoteEndpointImplServer.java:79) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMe ssagePart(WsRemoteEndpointImplBase.java:453) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe ssage(WsRemoteEndpointImplBase.java:341) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe ssageBlock(WsRemoteEndpointImplBase.java:273) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:600) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:522) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:348) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:290) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:71) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsRe adListener.onDataAvailable(WsHttpUpgradeHandler.java:185) ~[tomcat-websocket.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletInputStream. onDataAvailable(AbstractServletInputStream.java:198) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDi spatch(AbstractProcessor.java:96) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler .process(AbstractProtocol.java:661) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) ~[tomcat-coyote.jar:8.0.39] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.0.39] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] The error is repeated for each page, with connection id incremented. This used to work fine with Wicket 7.4.0; with Wicket 7.5.0 we had to introduce this backport [3] which seems anyway not affecting the problem above. Could you please shade some light? Thanks! Regards. [1]
Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
Hi, Have you updated Tomcat version too? I don't see any reason why changes in Wicket Native WebSocket could lead to this. In the same time there were many improvements in Tomcat WebSocket code, and this might led to a regression. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Jan 4, 2017 at 10:07 AM, Francesco Chicchiriccòwrote: > Hi all, > after upgrading to Wicket 7.6.0 [1], this code [2] is causing the > following error in the logs: > > 10:02:16.300 ERROR org.apache.wicket.protocol.ws.javax.WicketEndpoint - > An error occurred in web socket connection with id : 0 > java.io.IOException: Broken pipe > at sun.nio.ch.FileDispatcherImpl.write0(Native Method) > ~[?:1.8.0_111] > at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) > ~[?:1.8.0_111] > at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) > ~[?:1.8.0_111] > at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_111] > at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) > ~[?:1.8.0_111] > at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124) > ~[tomcat-coyote.jar:8.0.39] > at > org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183) > ~[tomcat-coyote.jar:8.0.39] > at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr > iteInternal(NioServletOutputStream.java:94) ~[tomcat-coyote.jar:8.0.39] > at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWr > ite(NioServletOutputStream.java:61) ~[tomcat-coyote.jar:8.0.39] > at org.apache.coyote.http11.upgrade.AbstractServletOutputStream > .writeInternal(AbstractServletOutputStream.java:165) > ~[tomcat-coyote.jar:8.0.39] > at org.apache.coyote.http11.upgrade.AbstractServletOutputStream > .write(AbstractServletOutputStream.java:132) ~[tomcat-coyote.jar:8.0.39] > at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe > r.onWritePossible(WsRemoteEndpointImplServer.java:98) > ~[tomcat-websocket.jar:8.0.39] > at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServe > r.doWrite(WsRemoteEndpointImplServer.java:79) > ~[tomcat-websocket.jar:8.0.39] > at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMe > ssagePart(WsRemoteEndpointImplBase.java:453) > ~[tomcat-websocket.jar:8.0.39] > at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe > ssage(WsRemoteEndpointImplBase.java:341) ~[tomcat-websocket.jar:8.0.39] > at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMe > ssageBlock(WsRemoteEndpointImplBase.java:273) > ~[tomcat-websocket.jar:8.0.39] > at > org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:600) > ~[tomcat-websocket.jar:8.0.39] > at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:522) > ~[tomcat-websocket.jar:8.0.39] > at > org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:348) > ~[tomcat-websocket.jar:8.0.39] > at > org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:290) > ~[tomcat-websocket.jar:8.0.39] > at > org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) > ~[tomcat-websocket.jar:8.0.39] > at > org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:71) > ~[tomcat-websocket.jar:8.0.39] > at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsRe > adListener.onDataAvailable(WsHttpUpgradeHandler.java:185) > ~[tomcat-websocket.jar:8.0.39] > at org.apache.coyote.http11.upgrade.AbstractServletInputStream. > onDataAvailable(AbstractServletInputStream.java:198) > ~[tomcat-coyote.jar:8.0.39] > at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDi > spatch(AbstractProcessor.java:96) ~[tomcat-coyote.jar:8.0.39] > at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler > .process(AbstractProtocol.java:661) ~[tomcat-coyote.jar:8.0.39] > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) > ~[tomcat-coyote.jar:8.0.39] > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) > ~[tomcat-coyote.jar:8.0.39] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [?:1.8.0_111] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [?:1.8.0_111] > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > ~[tomcat-util.jar:8.0.39] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] > > The error is repeated for each page, with connection id incremented. > > This used to work fine with Wicket 7.4.0; with Wicket 7.5.0 we had to > introduce this backport [3] which seems anyway not affecting the problem > above. > > Could you please shade some light?
After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe
Hi all, after upgrading to Wicket 7.6.0 [1], this code [2] is causing the following error in the logs: 10:02:16.300 ERROR org.apache.wicket.protocol.ws.javax.WicketEndpoint - An error occurred in web socket connection with id : 0 java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_111] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_111] at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_111] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[?:1.8.0_111] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteInternal(NioServletOutputStream.java:94) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioServletOutputStream.java:61) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInternal(AbstractServletOutputStream.java:165) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(AbstractServletOutputStream.java:132) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:98) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:79) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:453) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:341) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:273) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:600) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:522) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:348) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:290) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:71) ~[tomcat-websocket.jar:8.0.39] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:185) ~[tomcat-websocket.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:198) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:96) ~[tomcat-coyote.jar:8.0.39] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:661) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) ~[tomcat-coyote.jar:8.0.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) ~[tomcat-coyote.jar:8.0.39] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.0.39] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] The error is repeated for each page, with connection id incremented. This used to work fine with Wicket 7.4.0; with Wicket 7.5.0 we had to introduce this backport [3] which seems anyway not affecting the problem above. Could you please shade some light? Thanks! Regards. [1] https://github.com/apache/syncope/commit/830fdee246eff396118938fbab61e076fa499678 [2] https://github.com/apache/syncope/blob/2_0_X/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java#L91-L110 [3] https://github.com/apache/syncope/commit/830fdee246eff396118938fbab61e076fa499678#diff-c8d9c2a6a0a2e892467d2b3ef8c0c925 -- Francesco Chicchiriccò Tirasa - Open Source Excellence http://www.tirasa.net/ Member at The Apache Software Foundation Syncope, Cocoon, Olingo, CXF, OpenJPA,