[jboss-jira] [JBoss JIRA] Resolved: (JBREM-1242) Fix deadlock between Client and MicroRemoteClientInvoker

Ron Sigal (JIRA) jira-events at lists.jboss.org
Tue Sep 7 13:43:19 EDT 2010


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

Ron Sigal resolved JBREM-1242.
------------------------------

    Resolution: Done


The fix is to synchronize the call in Client.setupClientLease() to MicroRemoteClientInvoker.establishLease() on connectionValidatorLock:

         synchronized(connectionValidatorLock)
         {
            invoker.establishLease(sessionId, temp, leasePeriod);
         }

Now both sequences synchronize first on Client.connectionValidatorLock and then on MicroRemoteClientInvoker.clientLeaseLock.

The fix has been applied to branches 2.2 and 2.x.

There is no specific unit test.

> Fix deadlock between Client and MicroRemoteClientInvoker
> --------------------------------------------------------
>
>                 Key: JBREM-1242
>                 URL: https://jira.jboss.org/browse/JBREM-1242
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.5.3.SP1, 2.2.3.SP3
>            Reporter: Ron Sigal
>            Assignee: Ron Sigal
>             Fix For: 2.5.3.SP2, 2.2.3.SP4
>
>
> 1. a. org.jboss.remoting.Client.setupClientLease() calls MicroRemoteClientInvoker.establishLease()
>     b. org.jboss.remoting.MicroRemoteClientInvoker.establishLease() synchronizes on MicroRemoteClientInvoker.clientLeaseLock and calls Client.addConnectionListener()
>     c. Client.addConnectionListener() synchronizes on Client.connectionValidatorLock
> 2. a. Client.addConnectionListener() synchronizes on Client.connectionValidatorLock and calls new ConnectionValidator()
>     b. new ConnectionValidator() calls MicroRemoteClientInvoker.getLeasePinger(), which synchronizes on MicroRemoteClientInvoker.clientLeaseLock

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list