[
https://jira.jboss.org/jira/browse/JBREM-1045?page=com.atlassian.jira.plu...
]
Ron Sigal updated JBREM-1045:
-----------------------------
Attachment: jboss-remoting.jar
Attaching a copy of jboss-remoting.jar, with this issue corrected, from the 2.2 branch.
It will identify itself as follows:
$ java -jar jboss-remoting.jar
JBossRemoting Version 2.2.2.SP10+JBREM-1042+JBREM-1045
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.5.0.GA (Flounder), 2.2.2.SP10
Reporter: Ron Sigal
Assignee: Ron Sigal
Fix For: 2.5.0.SP1 (Flounder), 2.2.2.SP11
Attachments: jboss-remoting.jar
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#....
--
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