You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2018/07/05 10:44:50 UTC
[Bug 62523] New: Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
Bug ID: 62523
Summary: Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken
pipe
Product: Tomcat 9
Version: 9.0.10
Hardware: PC
Status: NEW
Severity: normal
Priority: P2
Component: WebSocket
Assignee: dev@tomcat.apache.org
Reporter: daipeng.456@163.com
Target Milestone: -----
Created attachment 36008
--> https://bz.apache.org/bugzilla/attachment.cgi?id=36008&action=edit
websocket handler process
environment:
1:tomcat version:9.0.10
2:spring-websocket:4.0.0-releases
3:jmeter:4.0.0
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
Mark Thomas <ma...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
OS| |All
--- Comment #4 from Mark Thomas <ma...@apache.org> ---
No stack trace from the error, no JMeter config and a test case that has a
whole bunch of dependencies that have not been provided. This is heading
towards being closed as INVALID.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
sosojustdo <da...@163.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|INVALID |REMIND
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
--- Comment #6 from sosojustdo <da...@163.com> ---
(In reply to Mark Thomas from comment #4)
> No stack trace from the error, no JMeter config and a test case that has a
> whole bunch of dependencies that have not been provided. This is heading
> towards being closed as INVALID.
Thanks you Mark Thomas reply!
一:Jmeter Thread Group config info:
1:thread num: 50
2:Ramp-Up Period(in seconds):1
3:loop num:forever
4:Jmeter connection timeout 5000 seconds; response timeout:20000 seconds
二:stack trace info:
20:24:06 [Thread-336] DEBUG
org.springframework.web.socket.server.support.DefaultHandshakeHandler -
Requested sub-protocol(s): [], WebSocketHandler supported sub-protocol(s): [],
configured sub-protocol(s): []
20:24:06 [Thread-304] DEBUG
org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator -
Transport error for WebSocket session id=d6c4: java.io.IOException:
java.io.IOException: Broken pipe
20:24:06 [Thread-336] DEBUG
org.springframework.web.socket.server.support.DefaultHandshakeHandler -
Selected sub-protocol: 'null'
20:24:06 [Thread-336] DEBUG
org.springframework.web.socket.server.support.DefaultHandshakeHandler -
Requested extension(s): [], supported extension(s): []
20:24:06 [Thread-304] INFO
com.cloudyoung.wx.comet.server.SystemWebSocketHandler -
{"createTime":"2018-07-05 20:24:06","inputParam":"appId:wxdc55ca89d7d4d1b8,
module:WX_WEBSOCKET_DIALOGUE_MODULE","level":"Info","message":"handleTransportError_invoke_method","methodName":"handleTransportError()->123:
","platform":"WX","serviceName":"com.cloudyoung.wx.comet.server.SystemWebSocketHandler"}
20:24:06 [Thread-336] DEBUG
org.springframework.web.socket.server.support.DefaultHandshakeHandler -
Upgrading request, sub-protocol=null, extensions=[]
20:24:06 [Thread-304] DEBUG
org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator -
Connection closed for WebSocket session id=d6c4, CloseStatus [code=1006,
reason=Broken pipe]
java.io.IOException: java.io.IOException: Broken pipe
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:223)
at
org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:49)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage(StandardWebSocketSession.java:137)
at
org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:100)
at
com.cloudyoung.wx.comet.server.SystemWebSocketHandler.sendMessageToUser(SystemWebSocketHandler.java:233)
at
com.cloudyoung.wx.comet.service.impl.WxWebsocketMessageServiceImpl.sendDialogueMessage(WxWebsocketMessageServiceImpl.java:45)
at
com.cloudyoung.wx.comet.server.SystemWebSocketHandler.handleMessage(SystemWebSocketHandler.java:95)
at
org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:59)
at
org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:55)
at
org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:69)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:112)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:42)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:79)
at
org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:395)
at
org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119)
at
org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495)
at
org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294)
at
org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
at
org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
at
org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
at
org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
at
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
at
org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1676)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1007)
at
org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:540)
at
org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:518)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker$2.run(Invoker.java:218)
at
sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
at sun.nio.ch.IOUtil.write(IOUtil.java:148)
at sun.nio.ch.IOUtil.write(IOUtil.java:103)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implWrite(UnixAsynchronousSocketChannelImpl.java:689)
at
sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:382)
at
sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:416)
at org.apache.tomcat.util.net.Nio2Channel.write(Nio2Channel.java:183)
at
org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper.write(Nio2Endpoint.java:1004)
at
org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:1041)
at
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:91)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:494)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:309)
... 38 more
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
--- Comment #8 from sosojustdo <da...@163.com> ---
(In reply to Mark Thomas from comment #7)
> The exception is tellign you that the client dropped the connection. You
> need to investigate the JMeter end of this test.
I optimized jmeter configure, but problem reproduce; try tomcat7.x tomcat8.x,
the same problem; do you have suggestion
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
--- Comment #1 from sosojustdo <da...@163.com> ---
Created attachment 36009
--> https://bz.apache.org/bugzilla/attachment.cgi?id=36009&action=edit
websocket init process
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
sosojustdo <da...@163.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|REMIND |---
Status|RESOLVED |REOPENED
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
--- Comment #3 from sosojustdo <da...@163.com> ---
Created attachment 36011
--> https://bz.apache.org/bugzilla/attachment.cgi?id=36011&action=edit
websocket handler interceptor
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
Mark Thomas <ma...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|REOPENED |RESOLVED
--- Comment #9 from Mark Thomas <ma...@apache.org> ---
Comment #7 still stands. The issue is at the client / JMeter end.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
--- Comment #2 from sosojustdo <da...@163.com> ---
Created attachment 36010
--> https://bz.apache.org/bugzilla/attachment.cgi?id=36010&action=edit
websocket config
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
Mark Thomas <ma...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|NEW |RESOLVED
--- Comment #7 from Mark Thomas <ma...@apache.org> ---
The exception is tellign you that the client dropped the connection. You need
to investigate the JMeter end of this test.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 62523] Concurrent stress test websocket server by jmeter,
occur:java.io.IOException: java.io.IOException: Broken pipe
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62523
--- Comment #5 from sosojustdo <da...@163.com> ---
java.io.IOException: java.io.IOException: Broken pipe
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:223)
at
org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:49)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage(StandardWebSocketSession.java:137)
at
org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:100)
at
com.cloudyoung.wx.comet.server.SystemWebSocketHandler.sendMessageToUser(SystemWebSocketHandler.java:233)
at
com.cloudyoung.wx.comet.service.impl.WxWebsocketMessageServiceImpl.sendDialogueMessage(WxWebsocketMessageServiceImpl.java:45)
at
com.cloudyoung.wx.comet.server.SystemWebSocketHandler.handleMessage(SystemWebSocketHandler.java:95)
at
org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:59)
at
org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:55)
at
org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:69)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:112)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:42)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82)
at
org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:79)
at
org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:395)
at
org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:119)
at
org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495)
at
org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294)
at
org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
at
org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
at
org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
at
org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
at
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org