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/15 08:25:00 UTC
[jira] [Commented] (WICKET-6643) exception in web-sockets on tomcat
8
[ https://issues.apache.org/jira/browse/WICKET-6643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793446#comment-16793446 ]
Ernesto Reinaldo Barreiro commented on WICKET-6643:
---------------------------------------------------
Thanks for looking at this + explanation. Cheers.
> exception in web-sockets on 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
> Assignee: Martin Grigorov
> Priority: Trivial
> Attachments: websockets-error.tar.gz
>
>
> In our log files we get following stacktrace
> {code}
> 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
> {code}
>
> 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 happens with latest tomcat 8.5.38.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)