socket.io-client-java
socket.io-client-java copied to clipboard
java.util.concurrent.ConcurrentLinkedQueue$Node cannot be cast to java.util.concurrent.ConcurrentHashMap$Node
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)