Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
Low
Description
This happened at the end of a perf.Test run, and I think the reason is unsynchronized access to the HashSet (stack trace below), where an entry in the hashmap links to itself (caused by concurrent access). IIRC, the solution was to synchronize access to HashSet/hashMap.
"Incoming Thread,perf,192.168.0.5:7800" prio=10 tid=0x00002aaacb578c00 nid=0x1cef runnable [0x0000000040b75000..0x0000000040b75c10]
java.lang.Thread.State: RUNNABLE
at java.util.HashMap.put(HashMap.java:374)
at java.util.HashSet.add(HashSet.java:200)
at org.jgroups.protocols.BARRIER.up(BARRIER.java:101)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:154)
at org.jgroups.protocols.FD.up(FD.java:328)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:298)
at org.jgroups.protocols.MERGE2.up(MERGE2.java:145)
at org.jgroups.protocols.Discovery.up(Discovery.java:220)
at org.jgroups.protocols.MPING.up(MPING.java:151)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1542)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1491)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)