Bug 697913
Summary: | Deadlock between the failover mutex (in AMQConnection.java) and the current_exception_lock (in AMQSession.java) | ||
---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Rajith Attapattu <rattapat+nobody> |
Component: | qpid-java | Assignee: | Rajith Attapattu <rattapat+nobody> |
Status: | CLOSED ERRATA | QA Contact: | Petr Matousek <pematous> |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | Development | CC: | freznice, gsim, jneedle, jross, pematous, tross |
Target Milestone: | 2.0 | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | qpid-java-0.10-6 | Doc Type: | Bug Fix |
Doc Text: |
Cause
This happens when the application uses a synchronous operation and an exception is reported by the broker. The Qpid client tries to report the exception via the connection listener and also as a JMS exception thrown during the blocking method call.
Consequence
This bug causes a deadlock and could cause the application to become unresponsive.
Fix
The call to connection.exceptionReceived() is done outside the scope of the current_exception_lock in AMQSsession.java
Result
The Qpid client does not deadlock anymore.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2011-06-23 15:44:41 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Rajith Attapattu
2011-04-19 16:01:16 UTC
This is tracked in upstream via QPID-3214 A fix was committed in upstream at rev 1099060 http://svn.apache.org/viewvc?view=revision&revision=1099060 This was ported to the internal mrg_2.0.x release branch at, http://mrg1.lab.bos.redhat.com/cgit/qpid.git/commit/?h=mrg_2.0.x&id=cd703ec7af8dd9c14c6dd10ceb47c445ac177c2b *** Bug 698657 has been marked as a duplicate of this bug. *** The fix is included in on qpid-java-0.10-6 This issue has been fixed. Verified on RHEL5.6, RHEL6.1 architectures: i386, x86_64 Java unit tests from qpid-java-0.10-6 package were executed in loop, no deadlock has occurred. During the verification of this bug, I've noticed that several java unit tests fails, please see Bug 709383 packages installed: python-qpid-0.10-1.el5 python-qpid-qmf-0.10-9.el5 qpid-cpp-client-0.10-7.el5 qpid-cpp-client-devel-0.10-7.el5 qpid-cpp-client-devel-docs-0.10-7.el5 qpid-cpp-client-rdma-0.10-7.el5 qpid-cpp-client-ssl-0.10-7.el5 qpid-cpp-mrg-debuginfo-0.10-7.el5 qpid-cpp-server-0.10-7.el5 qpid-cpp-server-cluster-0.10-7.el5 qpid-cpp-server-devel-0.10-7.el5 qpid-cpp-server-rdma-0.10-7.el5 qpid-cpp-server-ssl-0.10-7.el5 qpid-cpp-server-store-0.10-7.el5 qpid-cpp-server-xml-0.10-7.el5 qpid-java-client-0.10-6.el5 qpid-java-common-0.10-6.el5 qpid-java-example-0.10-6.el5 qpid-qmf-0.10-9.el5 qpid-qmf-devel-0.10-9.el5 qpid-tools-0.10-5.el5 -> VERIFIED Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause This happens when the application uses a synchronous operation and an exception is reported by the broker. The Qpid client tries to report the exception via the connection listener and also as a JMS exception thrown during the blocking method call. Consequence This bug causes a deadlock and could cause the application to become unresponsive. Fix The call to connection.exceptionReceived() is done outside the scope of the current_exception_lock in AMQSsession.java Result The Qpid client does not deadlock anymore. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2011-0890.html |