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

Bela Ban (JIRA) jira-events at lists.jboss.org
Thu Aug 29 06:38:26 EDT 2013


    [ https://issues.jboss.org/browse/JGRP-1660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12800121#comment-12800121 ] 

Bela Ban commented on JGRP-1660:
--------------------------------

As part of fixing https://issues.jboss.org/browse/JGRP-1679, I had to revert sending lock grant requests and responses as OOB requests, in order to prevent correct ordering of those requests (see comments on JGRP-1679).

This means the first testcase doesn't work anymore, but needs to be changed (see the test case I modified and reattached).
                
> 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, 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