-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Description
Describe the bug
Sometime WebSocketClient hangs on reconnectBlocking() at WebSocketClient.java:422 on closeLatch.await(). That happens very occasionally.
To Reproduce
Steps to reproduce the behavior:
- Setup server and client
- Connect to Server
- call
reconnectBlocking()in a loop
Expected behavior
reconnectBlocking() should never hang
Debug log
The only log:
11:36:42.216 [WebSocketConnectReadThread-5820] TRACE org.java_websocket.WebSocketImpl -- write(171): GET / HTTP/1.1
Connection: Upgrade
Host: localhost:41516
Sec-WebSocket-Key: HGF5XrGAw3IBiWJKCnLPTA==
Sec-WebSocket-Version: 13
Upgrade: websocket
11:36:42.222 [WebSocketConnectReadThread-5820] TRACE org.java_websocket.WebSocketImpl -- process(148): (HTTP/1.1 101 Switching Protocols
Content-Length: 0
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: TfhKZHYT6wDgMrIvABVEeUyEBiw=
)
11:36:42.222 [WebSocketConnectReadThread-5820] TRACE o.java_websocket.drafts.Draft_6455 -- acceptHandshakeAsClient - Matching extension found: DefaultExtension
11:36:42.222 [WebSocketConnectReadThread-5820] TRACE o.java_websocket.drafts.Draft_6455 -- acceptHandshake - Matching protocol found:
11:36:42.222 [WebSocketConnectReadThread-5820] TRACE org.java_websocket.WebSocketImpl -- open using draft: Draft_6455 extension: DefaultExtension protocol: max frame size: 2147483647
11:36:42.222 [WebSocketConnectReadThread-5820] TRACE o.java_websocket.AbstractWebSocket -- Connection lost timer started
"Test worker@1" prio=5 tid=0x1 nid=NA waiting
java.lang.Thread.State: WAITING
at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:715)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1047)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
at org.java_websocket.client.WebSocketClient.closeBlocking(WebSocketClient.java:422)
at org.java_websocket.client.WebSocketClient.reset(WebSocketClient.java:343)
at org.java_websocket.client.WebSocketClient.reconnectBlocking(WebSocketClient.java:327)
Environment(please complete the following information):
- Version used: 1.5.4
- Java version: 17
- Operating System and version: Windows 10