You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Ernesto Reinaldo Barreiro (JIRA)" <ji...@apache.org> on 2019/03/06 08:45:00 UTC

[jira] [Created] (WICKET-6643) exception in web-sockets pluss tomcat 8

Ernesto Reinaldo Barreiro created WICKET-6643:
-------------------------------------------------

             Summary: exception in web-sockets pluss tomcat 8
                 Key: WICKET-6643
                 URL: https://issues.apache.org/jira/browse/WICKET-6643
             Project: Wicket
          Issue Type: Improvement
    Affects Versions: 7.12.0
         Environment: tomcat 8
            Reporter: Ernesto Reinaldo Barreiro


In our log files we get following stacktrace

09:41:11.673 [http-nio-8080-exec-10] ERROR com.semedy.WebSocketMessage - Could not send notification java.io.IOException: java.io.IOException: Broken pipe at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315) ~[tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250) ~[tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:191) ~[tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37) ~[tomcat-websocket.jar:8.5.38] at org.apache.wicket.protocol.ws.javax.JavaxWebSocketConnection.sendMessage(JavaxWebSocketConnection.java:81) ~[wicket-native-websocket-javax-7.12.0.jar:7.12.0] at com.semedy.WebSocketMessage.privateSendNotificationTo(WebSocketMessage.java:83) [classes/:?] at com.semedy.WebSocketMessage.sendNotificationToAllSessions(WebSocketMessage.java:70) [classes/:?] at com.semedy.BasePage$1.onMessage(BasePage.java:32) [classes/:?] at org.apache.wicket.protocol.ws.api.WebSocketBehavior.onEvent(WebSocketBehavior.java:64) [wicket-native-websocket-core-7.12.0.jar:7.12.0] at org.apache.wicket.settings.FrameworkSettings.dispatchEvent(FrameworkSettings.java:147) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.ComponentEventSender.dispatchToComponent(ComponentEventSender.java:292) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.ComponentEventSender.breadth(ComponentEventSender.java:149) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.ComponentEventSender.send(ComponentEventSender.java:68) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.Component.send(Component.java:4575) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler$1.run(WebSocketMessageBroadcastHandler.java:74) [wicket-native-websocket-core-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.WebSocketSettings$SameThreadExecutor.run(WebSocketSettings.java:362) [wicket-native-websocket-core-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler.respond(WebSocketMessageBroadcastHandler.java:97) [wicket-native-websocket-core-7.12.0.jar:7.12.0] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) [wicket-request-7.12.0.jar:7.12.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) [wicket-core-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:263) [wicket-native-websocket-core-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.onMessage(AbstractWebSocketProcessor.java:148) [wicket-native-websocket-core-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHandler.onMessage(JavaxWebSocketProcessor.java:65) [wicket-native-websocket-javax-7.12.0.jar:7.12.0] at org.apache.wicket.protocol.ws.javax.JavaxWebSocketProcessor$StringMessageHandler.onMessage(JavaxWebSocketProcessor.java:60) [wicket-native-websocket-javax-7.12.0.jar:7.12.0] at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:394) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151) [tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) [tomcat-websocket.jar:8.5.38] at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) [tomcat-coyote.jar:8.5.38] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) [tomcat-coyote.jar:8.5.38] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.38] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.38] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201] Caused by: java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_201] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_201] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_201] at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_201] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[?:1.8.0_201] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1306) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:726) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:679) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:669) ~[tomcat-coyote.jar:8.5.38] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:96) ~[tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:494) ~[tomcat-websocket.jar:8.5.38] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:309) ~[tomcat-websocket.jar:8.5.38] ... 43 more

 

I don't know if it is really a wicket error or tomcat (or how we are using this in our application). It seems to have no side effect on how we are using websockets in our application. But it would be nice to get rid of stack trace on logs. I managed to reproduce this in quick-start.

To reproduce just reload the home page (maybe more than once).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)