[jboss-jira] [JBoss JIRA] Created: (JBREM-1045) ServerInvokerCallbackHandler can suffer deadlock when used with BlockingCallbackStore

Ron Sigal (JIRA) jira-events at lists.jboss.org
Fri Oct 24 22:12:20 EDT 2008


ServerInvokerCallbackHandler can suffer deadlock when used with BlockingCallbackStore
-------------------------------------------------------------------------------------

                 Key: JBREM-1045
                 URL: https://jira.jboss.org/jira/browse/JBREM-1045
             Project: JBoss Remoting
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 2.2.2.SP10, 2.5.0.GA (Flounder)
            Reporter: Ron Sigal
            Assignee: Ron Sigal
             Fix For: 2.5.0.SP1 (Flounder), 2.2.2.SP11


When org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleCallback() gets a true response from persistCallback(), it grabs the lock on the callback field and calls org.jboss.remoting.callback.BlockingCallbackStore.add(), which enters an indefinite wait() until BlockingCallbackStore.getNext() is called.  However, ServerInvokerCallbackHandler.getCallbacks() cannot call BlockingCallbackStore.getNext() without getting the lock on the callback field.

The solution is to remove the call to BlockingCallbackStore.add() from the synchronized(callbacks) block.

Related forum thread:  http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184578#4184578.

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

        



More information about the jboss-jira mailing list