Open malik082009 opened 2 years ago
Have some code to reproduce it will be great. or some step to reproduce it.
Same here...
For example: sending 300 messages (offline) with AckWithTimeout (5000 ms), and then after eg. 2 seconds emit new message.
Exception java.util.ConcurrentModificationException: at java.util.LinkedList$ListItr.checkForComodification (LinkedList.java:970) at java.util.LinkedList$ListItr.next (LinkedList.java:892) at io.socket.client.Socket$6$1.run (Socket.java:232) at java.util.TimerThread.mainLoop (Timer.java:563) at java.util.TimerThread.run (Timer.java:513)
@liangyuanpeng temporary solved by adding synchronized - Socket.java:
synchronized(sendBuffer){
// remove the packet from the buffer (if applicable)
Iterator<Packet<JSONArray>> iterator = sendBuffer.iterator();
while (iterator.hasNext()) {
if (iterator.next().id == ackId) {
iterator.remove();
}
}
}
I am getting the below mentioned error frequently while I am using in the application and I am using the version I face this issue in the middle of the app. don't know why.
Fatal Exception: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:757) at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:780) at io.socket.hasbinary.HasBinary._hasBinary(HasBinary.java:47) at io.socket.hasbinary.HasBinary._hasBinary(HasBinary.java:39) at io.socket.hasbinary.HasBinary.hasBinary(HasBinary.java:18) at io.socket.parser.IOParser$Encoder.encode(IOParser.java:27) at io.socket.client.Manager.packet(Manager.java:412) at io.socket.client.Socket.packet(Socket.java:230) at io.socket.client.Socket.access$1000(Socket.java:18) at io.socket.client.Socket$6.run(Socket.java:219) at io.socket.thread.EventThread.exec(EventThread.java:55) at io.socket.client.Socket.emit(Socket.java:198) at io.socket.client.Socket$5.run(Socket.java:183) at io.socket.thread.EventThread$2.run(EventThread.java:80) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923)
I am using:
implementation('io.socket:socket.io-client:2.0.1') { exclude group: 'org.json', module: 'json' }
Platform:
Same issue reported here