java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: Unable to write the complete message as the WebSocket connection has been closed

apache.org | 6 months ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    Bug 58624 – Websocket send blocks indefinitely in FutureToSendHandler

    apache.org | 6 months ago
    java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: Unable to write the complete message as the WebSocket connection has been closed

    Root Cause Analysis

    1. java.io.IOException

      Unable to write the complete message as the WebSocket connection has been closed

      at org.apache.tomcat.websocket.WsSession.registerFuture()
    2. Tomcat WS
      TestCleanClose.testOnErrorNotCalledWhenClosingConnection
      1. org.apache.tomcat.websocket.WsSession.registerFuture(WsSession.java:658)
      2. org.apache.tomcat.websocket.FutureToSendHandler.get(FutureToSendHandler.java:92)
      3. org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:275)
      4. org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:584)
      5. org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:488)
      6. org.apache.tomcat.websocket.WsSession.close(WsSession.java:455)
      7. org.apache.tomcat.websocket.WsSession.close(WsSession.java:449)
      8. org.apache.tomcat.websocket.server.TestCleanClose.testOnErrorNotCalledWhenClosingConnection(TestCleanClose.java:46)
      8 frames
    3. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      4. java.lang.reflect.Method.invoke(Method.java:483)
      4 frames
    4. JUnit
      ParentRunner.run
      1. org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      2. org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      3. org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      4. org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      5. org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      6. org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      7. org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
      8. org.junit.rules.RunRules.evaluate(RunRules.java:20)
      9. org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
      10. org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
      11. org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      12. org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      13. org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      14. org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      15. org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      16. org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      17. org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      18. org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      19. org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      19 frames
    5. JUnit4 Runner
      JUnit4TestReference.run
      1. org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
      1 frame
    6. JUnit3 Runner
      RemoteTestRunner.main
      1. org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      2. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
      3. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
      4. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
      5. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
      5 frames