You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
It's possible to get NPE in reconnectBlocking(), due to a race with previously running client connection thread.
The race happens due to closeLatch countdown called before connectReadThread is set to null in run
connectReadThread set to null at WebSocketClient.java:526
while countdown is called in a callback in engine.closeConnectionWebSocketClient.java:524
To Reproduce
Steps to reproduce the behavior:
Setup WS server
Connect
Call reconnectBlocking() in a loop until NPE
Expected behavior
No NPE on reconnectBlocking()
Debug log
java.lang.NullPointerException: Cannot invoke "java.lang.Thread.start()" because "this.connectReadThread" is null
at org.java_websocket.client.WebSocketClient.connect(WebSocketClient.java:376)
at org.java_websocket.client.WebSocketClient.connectBlocking(WebSocketClient.java:386)
at org.java_websocket.client.WebSocketClient.reconnectBlocking(WebSocketClient.java:328)
at org.web3j.protocol.websocket.WebSocketService.connectToWebSocket(WebSocketService.java:140)
Environment(please complete the following information):
Version used: 1.5.4
Java version: 17
Operating System and version: GCP, Linux container
The text was updated successfully, but these errors were encountered:
While was trying to reproduce I identified another bug with WebSocketClient#closeBlocking, it sometimes gets stuck on closeLatch.await(), I'm going to create another bug for that.
Describe the bug
It's possible to get NPE in
reconnectBlocking()
, due to a race with previously running client connection thread.The race happens due to
closeLatch
countdown called beforeconnectReadThread
is set to null in runconnectReadThread
set to null atWebSocketClient.java:526
engine.closeConnection
WebSocketClient.java:524
To Reproduce
Steps to reproduce the behavior:
reconnectBlocking()
in a loop until NPEExpected behavior
No NPE on
reconnectBlocking()
Debug log
Environment(please complete the following information):
The text was updated successfully, but these errors were encountered: