socket.io-client-java icon indicating copy to clipboard operation
socket.io-client-java copied to clipboard

java.util.concurrent.ConcurrentLinkedQueue$Node cannot be cast to java.util.concurrent.ConcurrentHashMap$Node

Open miloti-aliu opened this issue 4 years ago • 0 comments

Describe the bug Sometimes a crash occurs when trying to destroy socket instance.

To Reproduce

Please fill the following code example:


socket = IO.socket(serverEndpoint)

public void destroyInstance() {
       if (socket != null) {
            socket.disconnect();
            socket.off();
        }
}

Socket.IO java client version: 1.0.0

Platform:

  • OS: [Android 9]

Additional context

Stack trace:

java.util.concurrent.ConcurrentLinkedQueue$Node cannot be cast to java.util.concurrent.ConcurrentHashMap$Node io.socket.emitter.Emitter.off

java.util.concurrent.ConcurrentHashMap.tabAt (ConcurrentHashMap.java:763)
java.util.concurrent.ConcurrentHashMap.clear (ConcurrentHashMap.java:1197)
io.socket.emitter.Emitter.off (Emitter.java:59)
calls_implementationcom.solaborate.hello..signaling.SocketIoInteractorImpl.destroyInstance (SocketIoInteractorImpl.java:1861)
calls_implementation.signaling.SocketIoInteractorImpl.reconnectClient (SocketIoInteractorImpl.java:1886)
calls_implementation.signaling.SocketIoInteractorImpl.lambda$subscribeOnSocketLifecycleMethods$6$SocketIoInteractorImpl (SocketIoInteractorImpl.java:338)
calls_implementation.signaling.-$$Lambda$SocketIoInteractorImpl$kx8VsVf1Gxo20mS1we5YBUQxqZE.call (Unknown Source:2)
io.socket.emitter.Emitter.emit (Emitter.java:117)
io.socket.client.Socket.access$601 (Socket.java:24)
io.socket.client.Socket$5.run (Socket.java:186)
io.socket.thread.EventThread.exec (EventThread.java:55)
io.socket.client.Socket.emit (Socket.java:182)
io.socket.client.Manager.emitAll (Manager.java:166)
io.socket.client.Manager.access$600 (Manager.java:30)
io.socket.client.Manager$1$3.call (Manager.java:306)
io.socket.emitter.Emitter.emit (Emitter.java:117)
io.socket.engineio.client.Socket.onError (Socket.java:820)
io.socket.engineio.client.Socket.access$900 (Socket.java:36)
io.socket.engineio.client.Socket$4.call (Socket.java:340)
io.socket.emitter.Emitter.emit (Emitter.java:117)
io.socket.engineio.client.Transport.onError (Transport.java:64)
io.socket.engineio.client.transports.PollingXHR.access$100 (PollingXHR.java:26)
io.socket.engineio.client.transports.PollingXHR$6$1.run (PollingXHR.java:140)
io.socket.thread.EventThread$2.run (EventThread.java:80)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
java.lang.Thread.run (Thread.java:764)

miloti-aliu avatar May 27 '21 09:05 miloti-aliu