You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Francesco Chicchiriccò <il...@apache.org> on 2017/01/04 09:07:42 UTC

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, PonyMail
http://home.apache.org/~ilgrosso/



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by AlexAchterberg <al...@gmail.com>.
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-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by ansc <A....@laudert.de>.
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-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by Francesco Chicchiriccò <il...@apache.org>.
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ò <il...@apache.org> 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ò <
>>> ilgrosso@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 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>> Executor.java:1142)
>>>> [?:1.8.0_111]
>>>>           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>>>> lExecutor.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/830fdee246eff396118
>>>> 938fbab61e076fa499678
>>>> [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/830fdee246eff396118
>>>> 938fbab61e076fa499678#diff-c8d9c2a6a0a2e892467d2b3ef8c0c92

-- 
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by Martin Grigorov <mg...@apache.org>.
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ò <ilgrosso@apache.org
> 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ò <
>> ilgrosso@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 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>> Executor.java:1142)
>>> [?:1.8.0_111]
>>>          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>>> lExecutor.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/830fdee246eff396118
>>> 938fbab61e076fa499678
>>> [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/830fdee246eff396118
>>> 938fbab61e076fa499678#diff-c8d9c2a6a0a2e892467d2b3ef8c0c925
>>>
>>
> --
> Francesco Chicchiriccò
>
> Tirasa - Open Source Excellence
> http://www.tirasa.net/
>
> Member at The Apache Software Foundation
> Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
> http://home.apache.org/~ilgrosso/
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by Francesco Chicchiriccò <il...@apache.org>.
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� 
>> <il...@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: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] https://github.com/apache/syncope/commit/830fdee246eff396118
>>> 938fbab61e076fa499678
>>> [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/830fdee246eff396118
>>> 938fbab61e076fa499678#diff-c8d9c2a6a0a2e892467d2b3ef8c0c925

-- 
Francesco Chicchiricc�

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by Francesco Chicchiriccò <il...@apache.org>.
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ò <il...@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: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] https://github.com/apache/syncope/commit/830fdee246eff396118
>> 938fbab61e076fa499678
>> [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/830fdee246eff396118
>> 938fbab61e076fa499678#diff-c8d9c2a6a0a2e892467d2b3ef8c0c925

-- 
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: After upgrade to Wicket 7.6.0, WebSocket logs Broken pipe

Posted by Martin Grigorov <mg...@apache.org>.
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ò <ilgrosso@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: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] https://github.com/apache/syncope/commit/830fdee246eff396118
> 938fbab61e076fa499678
> [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/830fdee246eff396118
> 938fbab61e076fa499678#diff-c8d9c2a6a0a2e892467d2b3ef8c0c925
>
> --
> Francesco Chicchiriccò
>
> Tirasa - Open Source Excellence
> http://www.tirasa.net/
>
> Member at The Apache Software Foundation
> Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
> http://home.apache.org/~ilgrosso/
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>