https://issues.apache.org/bugzilla/show_bug.cgi?id=57047
Bug ID: 57047 Summary: Occasional failure in TestWsWebSocketContainer.testSmallTextBufferClientText Message test Product: Tomcat 7 Version: trunk Hardware: PC Status: NEW Severity: minor Priority: P2 Component: WebSocket Assignee: dev@tomcat.apache.org Reporter: knst.koli...@gmail.com This is a rare minor issue that I encountered when testing 7.0.56 release candidate. Platform: Windows 7, 32-bit JDK 6u45 + 7u67. I encountered it when running the whole testsuite. After that I did ~50 runs in a loop of this specific test with all 3 connectors with test.entry=org.apache.tomcat.websocket.TestWsWebSocketContainer test.entry.methods=testSmallTextBufferClientTextMessage The issue reproduced 2 times with NIO, 1 time with APR and 1 time with BIO - all from 50x3 connectors runs. Stacktraces are the same (it is websocket client's stacktrace, it does not depend on server side). This one is from running with NIO: [[[ Testcase: testSmallTextBufferClientTextMessage took 2,587 sec Caused an ERROR java.util.concurrent.ExecutionException: java.io.IOException: Unable to write the complete message as the WebSocket connection has been closed java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: Unable to write the complete message as the WebSocket connection has been closed at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:229) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:172) at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37) at org.apache.tomcat.websocket.TestWsWebSocketContainer.doBufferTest(TestWsWebSocketContainer.java:256) at org.apache.tomcat.websocket.TestWsWebSocketContainer.testSmallTextBufferClientTextMessage(TestWsWebSocketContainer.java:156) Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Unable to write the complete message as the WebSocket connection has been closed at org.apache.tomcat.websocket.FutureToSendHandler.get(FutureToSendHandler.java:102) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:224) Caused by: java.io.IOException: Unable to write the complete message as the WebSocket connection has been closed at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:447) at org.apache.tomcat.websocket.WsSession.close(WsSession.java:418) at org.apache.tomcat.websocket.WsFrameClient.close(WsFrameClient.java:86) at org.apache.tomcat.websocket.WsFrameClient.access$300(WsFrameClient.java:26) at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.completed(WsFrameClient.java:115) at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.completed(WsFrameClient.java:100) 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:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ]]] (The stack traces look a bit confusing, because they span Future and different threads. The main one is at the top, in "WsRemoteEndpointImplBase.sendPartialString()"). My assessment ============== I think that this is a variant of expected behaviour. The test case testSmallTextBufferClientTextMessage is essentially a call to { doBufferTest(true, false, true, false); } where 4th argument is pass:=false. It is expected to fail. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org