[jboss-jira] [JBoss JIRA] (JGRP-1460) dead lock in PEER_LOCK

freeliuade freeliuade (JIRA) jira-events at lists.jboss.org
Tue May 8 05:05:18 EDT 2012


     [ https://issues.jboss.org/browse/JGRP-1460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

freeliuade freeliuade updated JGRP-1460:
----------------------------------------

    Description: 
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 at 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.


  was:
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 at 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.



    
> 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
>            Priority: Critical
>              Labels: deadlock
>
> 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 at 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: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list