Bug 591496

Summary: Deadlock between qpid::messaging::Connection::close() and qpid::messaging::Receiver::fetch()
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Alan Conway <aconway>
Status: CLOSED CURRENTRELEASE QA Contact: Frantisek Reznicek <freznice>
Severity: urgent Docs Contact:
Priority: urgent    
Version: DevelopmentCC: aconway, esammons, freznice, jross
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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 Gordon Sim 2010-05-12 12:18:43 UTC

Comment 1 Alan Conway 2010-05-14 13:56:29 UTC
Fixed by commits up to & including r944261

Comment 2 Frantisek Reznicek 2010-06-14 08:55:54 UTC
There is no information on bad and expected behavior and/or symptoms.
It is impossible to work on this BZ at the moment.
Could you possibly add the description, please?

Raising NEEDINFO.

Comment 3 Gordon Sim 2010-06-14 09:02:59 UTC
To test, create a client that has one thread doing a fetch (with an infinite timeout), and has the other attempting to close the session after a short time. The second thread will be locked out by the first thread prior to this fix.

You could also replace the attempted close with an attempt to send on the second thread; again the infinite wait on fetch on the first thread will lock the sender out.

Comment 4 Justin Ross 2011-07-15 19:18:47 UTC
Frantisek, is this still something you want to test?

Comment 7 Frantisek Reznicek 2011-09-06 14:18:54 UTC
The issue has been fixed, tested on RHEL 5.7 / 6.1 i[36]86 / x86_64 on packages:
python-qpid-0.10-1.el5.noarch
python-qpid-qmf-0.10-10.el5.i386
qpid-cpp-client-0.10-8.el5.i386
qpid-cpp-client-devel-0.10-8.el5.i386
qpid-cpp-client-devel-docs-0.10-8.el5.i386
qpid-cpp-client-ssl-0.10-8.el5.i386
qpid-cpp-server-0.10-8.el5.i386
qpid-cpp-server-cluster-0.10-8.el5.i386
qpid-cpp-server-devel-0.10-8.el5.i386
qpid-cpp-server-ssl-0.10-8.el5.i386
qpid-cpp-server-store-0.10-8.el5.i386
qpid-cpp-server-xml-0.10-8.el5.i386
qpid-java-client-0.10-6.el5.noarch
qpid-java-common-0.10-6.el5.noarch
qpid-java-example-0.10-6.el5.noarch
qpid-qmf-0.10-10.el5.i386
qpid-qmf-devel-0.10-10.el5.i386
qpid-tools-0.10-6.el5.noarch
rh-qpid-cpp-tests-0.10-8.el5.i386


-> VERIFIED