Bug 731725

Summary: Closing a session after the connection was closed results in 100% CPU
Product: Red Hat Enterprise MRG Reporter: Jason Dillaman <jdillama>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED ERRATA QA Contact: Zdenek Kraus <zkraus>
Severity: unspecified Docs Contact:
Priority: high    
Version: 1.3CC: agoldste, gsim, jkirklan, jross, lzhaldyb, tross, zkraus
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-0.14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-24 15:03:13 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:
Bug Depends On:    
Bug Blocks: 698367    
Attachments:
Description Flags
Reproducer none

Description Jason Dillaman 2011-08-18 13:33:01 UTC
Description of problem:
A client connection was closed by the broker due to a timed-out heartbeat.  When the client eventually closed its receiver and session, it got stuck in a loop while attempting to close the session.  

Version-Release number of selected component (if applicable):
qpid-cpp-client-0.7.946106-32_ptc_hotfix_7.el5
qpid-cpp-client-0.10-6.el6

How reproducible:
100% 

Steps to Reproduce:
1. Open a connection/session/receiver to a broker
2. Let the broker kill the connection
3. Close the receiver
4. Close the session
  
Actual results:
The Session::close() method will hang in a loop attempting to close the receiver.

Expected results:
The Session::close() method will return

Additional info:

Comment 1 Jason Dillaman 2011-08-18 13:33:54 UTC
Created attachment 518871 [details]
Reproducer

Comment 2 Gordon Sim 2011-08-18 16:12:14 UTC
Fixed upstream: http://svn.apache.org/viewvc?view=rev&rev=1159293

Comment 3 Zdenek Kraus 2013-07-01 13:19:52 UTC
This fix looks fine.


This was tested on RHEL 5.9, 6.4 and i686, x86_64 with packages:

python-qpid-0.22-4
python-qpid-qmf-0.22-5
qpid-cpp-client-0.22-6
qpid-cpp-client-devel-0.22-6
qpid-cpp-client-devel-docs-0.22-6
qpid-cpp-client-rdma-0.22-6
qpid-cpp-client-ssl-0.22-6
qpid-cpp-server-0.22-6
qpid-cpp-server-devel-0.22-6
qpid-cpp-server-ha-0.22-6
qpid-cpp-server-rdma-0.22-6
qpid-cpp-server-ssl-0.22-6
qpid-cpp-server-store-0.22-6
qpid-cpp-server-xml-0.22-6
qpid-proton-c-0.4-2.2
qpid-qmf-0.22-5
qpid-tools-0.22-2

Comment 5 errata-xmlrpc 2014-09-24 15:03:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2014-1296.html