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ò <ilgro...@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ò <
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 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-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to