[jboss-jira] [JBoss JIRA] (JGRP-1660) LockService hangs during concurrent access (tryLock/tryLock(timeout)/lock/unlock)

Architect SoftWeb.ISD (JIRA) jira-events at lists.jboss.org
Tue Sep 3 06:57:03 EDT 2013


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

Architect SoftWeb.ISD updated JGRP-1660:
----------------------------------------

    Attachment: LockServiceStabilityTestCase.java


Changed test case which needs to be able to reproduce hanging at the special conditions.
Unfortunately, it was converted to JUnit test because we don't use TestNG.
lock.xml loading is also changed to be relative to test.

                
> LockService hangs during concurrent access (tryLock/tryLock(timeout)/lock/unlock)
> ---------------------------------------------------------------------------------
>
>                 Key: JGRP-1660
>                 URL: https://issues.jboss.org/browse/JGRP-1660
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 3.2.4, 3.3.3
>         Environment: Intel(R) Core(TM) i5-2310 CPU @ 2.90GHz
> 6GB RAM
> Windows 7
> JRE 1.6.31
>            Reporter: Architect SoftWeb.ISD
>            Assignee: Bela Ban
>             Fix For: 3.3.5, 3.4
>
>         Attachments: bla2.java, lock.xml, LockServiceStabilityTestCase.java, LockServiceStabilityTestCase.java, lockservice_stability_testcase.jar
>
>
> We have rather simple test that starts some amount of threads which in turn simultaneously obtain lock through LockService#getLock then perform lock and unlock.
> Each thread works during some time.
> After couple of seconds of work some threads just hang up in Locking$ClientLock(Object).wait() called indirectly from LockService$LockImpl.tryLock().
> Here is stack trace:
> Thread [Thread-ClientImitation-1] (Suspended)                
>                 Object.wait(long) line: not available [native method]      
>                 Locking$ClientLock(Object).wait() line: 485          
>                 Locking$ClientLock.acquireTryLock(long, boolean) line: 1010       
>                 Locking$ClientLock.tryLock() line: 896     
>                 CENTRAL_LOCK(Locking).down(Event) line: 152                
>                 ProtocolStack.down(Event) line: 1025    
>                 JChannel.down(Event) line: 718                
>                 LockService$LockImpl.tryLock() line: 102               
>                 LockServiceStabilityTestCase$ClientImitation.run() line: 167        
>                 Thread.run() line: 662     

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list