[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