]
Bela Ban updated JGRP-1460:
---------------------------
Fix Version/s: 3.1
Priority: Major (was: Critical)
Downgraded to major, this is not a critical issue and not a lot of people use the locking
service and those that do, use CENTRAL_LOCK not PEER_LOCK
dead lock in PEER_LOCK
----------------------
Key: JGRP-1460
URL:
https://issues.jboss.org/browse/JGRP-1460
Project: JGroups
Issue Type: Bug
Affects Versions: 3.0.9
Environment: a group with two nodes
Reporter: freeliuade freeliuade
Assignee: Bela Ban
Labels: deadlock
Fix For: 3.1
I tried 2.12.1.final and 3.1.0.Alpha3, both versions can reproduce.
two nodes, one node do lock/unlock, kill another node. then dead lock will happen.
"Steps to Reproduce" has a way can always reproduce this issue.
(BTW, I have another issue relative with TCP, I meet "[org.jgroups.protocols.TCP]
discarded message from different cluster" warning, not sure why get traffic between
two groups. I thought TCP would not send msg accors groups, could you please help explain
this? my email is: freeliuade(a)yahoo.com.cn. or please let me know a fourm I can ask this
question)
following is the thread dump:
Found one Java-level deadlock:
=============================
"ViewHandler,myClusterGroup,pek-wkst2cwxc-13306":
waiting to lock monitor 0x16be6f7c (object 0x02b7e218, a
org.jgroups.protocols.PEER_LOCK$PeerLock),
which is held by "main"
"main":
waiting to lock monitor 0x16be6f14 (object 0x02f14118, a java.util.HashMap),
which is held by "ViewHandler,myClusterGroup,pek-wkst2cwxc-13306"
Java stack information for the threads listed above:
===================================================
"ViewHandler,myClusterGroup,pek-wkst2cwxc-13306":
at org.jgroups.protocols.PEER_LOCK$PeerLock.retainAll(PEER_LOCK.java:96)
- waiting to lock <0x02b7e218> (a org.jgroups.protocols.PEER_LOCK$PeerLock)
at org.jgroups.protocols.PEER_LOCK.handleView(PEER_LOCK.java:76)
- locked <0x02f14118> (a java.util.HashMap)
at org.jgroups.protocols.Locking.up(Locking.java:271)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:178)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
at org.jgroups.protocols.pbcast.GMS.installView(GMS.java:630)
at org.jgroups.protocols.pbcast.CoordGmsImpl.handleViewChange(CoordGmsImpl.java:247)
at org.jgroups.protocols.pbcast.GMS.castViewChange(GMS.java:494)
at
org.jgroups.protocols.pbcast.CoordGmsImpl.handleMembershipChange(CoordGmsImpl.java:223)
at org.jgroups.protocols.pbcast.GMS$ViewHandler.process(GMS.java:1387)
at org.jgroups.protocols.pbcast.GMS$ViewHandler.run(GMS.java:1341)
at java.lang.Thread.run(Thread.java:619)
"main":
at org.jgroups.protocols.Locking.removeClientLock(Locking.java:566)
- waiting to lock <0x02f14118> (a java.util.HashMap)
at org.jgroups.protocols.Locking$ClientLock._unlock(Locking.java:976)
- locked <0x02b7e218> (a org.jgroups.protocols.PEER_LOCK$PeerLock)
at org.jgroups.protocols.Locking$ClientLock.unlock(Locking.java:915)
- locked <0x02b7e218> (a org.jgroups.protocols.PEER_LOCK$PeerLock)
at org.jgroups.protocols.Locking.down(Locking.java:162)
at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:1022)
at org.jgroups.JChannel.down(JChannel.java:729)
at org.jgroups.blocks.locking.LockService$LockImpl.unlock(LockService.java:120)
at JGroupJDBCPingTest.main(JGroupJDBCPingTest.java:101)
Found 1 deadlock.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: