]
Ron Sigal commented on JBREM-1269:
----------------------------------
The fix is to remove synchronization from MicroRemoteClientInvoker.getLeasePinger(). Note
that this change would have fixed JBREM-1242 as well.
The change has been applied to branches 2.2 and 2.x
There are no specific unit tests.
Fix deadlock between Client and MicroRemoteClientInvoker, part 2
----------------------------------------------------------------
Key: JBREM-1269
URL:
https://issues.jboss.org/browse/JBREM-1269
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.MicroRemoteClientInvoker.terminateLease() synchronizes on
clientLeaseLock and calls org.jboss.remoting.LeasePinger.stopPing()
b. org.jboss.remoting.LeasePinger.stopPing() calls
org.jboss.remoting.Client.notifyListeners(), which synchronized on
connectionValidatorLock
2. a. org.jboss.remoting.Client.addConnectionListener() synchronizes on
connectionValidatorLock and calls org.jboss.remoting.ConnectionValidator()
b. org.jboss.remoting.ConnectionValidator() calls
ConnectionValidator.getParameters()
c. ConnectionValidator.getParameters() calls
org.jboss.remoting.MicroRemoteClientInvoker.getLeasePinger()
d. org.jboss.remoting.MicroRemoteClientInvoker.getLeasePinger() synchronized on
clientLeaseLock
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: