Bug 501689

Summary: Segfault in connector when poller initialisation fails due to lack of available file handles
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED ERRATA QA Contact: Frantisek Reznicek <freznice>
Severity: high Docs Contact:
Priority: urgent    
Version: 1.1.1CC: esammons, freznice, jkolar
Target Milestone: 1.1.2   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-12 17:39:07 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:
Attachments:
Description Flags
reproducer
none
fix none

Description Gordon Sim 2009-05-20 10:49:03 UTC
Created attachment 344778 [details]
reproducer

Description of problem:

A seg fault occurs in the client library when reopening a connection after reports of lack of available file handles.

Version-Release number of selected component (if applicable):

qpidd-0.5.752581-5.el5

How reproducible:

100% with attached reproducer

Steps to Reproduce:
1. start broker
2. run attached test case
  
Actual results:

core dump

Expected results:

no core dump

Additional info:

If when opening a connection there is only one file handle remaining, the socket for the connection is created, but the fds required for the poller's readable pipe are not available. Initialisation of the connectors Poller object fails and the AsynchIO object is left uninitialised. However the closed flag has already been set to false so when the associated connector is then deleted (e.g. on reopening the connection), it tries to shutdown the AsynchIO object which has not been initialised and there is a segfault.

Comment 1 Gordon Sim 2009-05-20 10:53:41 UTC
Created attachment 344783 [details]
fix

Comment 2 Gordon Sim 2009-05-21 08:54:21 UTC
Fixed on trunk (r777006) and in qpidc-0.5.752581-7.el5.

Comment 3 Frantisek Reznicek 2009-05-29 14:38:02 UTC
The issue has been fixed, validated on RHEL 5.3 i386 / x86_64 on packages qpid*-0.5.752581-9.el5.

Waiting for RHEL4 build...

Comment 5 Frantisek Reznicek 2009-06-02 06:56:41 UTC
The issue has been fixed, validated on RHEL 4.7 / 5.3 i386 / x86_64 on packages qpid*-0.5.752581-10.el5 and qpidd-0.5.752581-11.el4.

-> VERIFIED

Comment 7 errata-xmlrpc 2009-06-12 17:39:07 UTC
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/RHBA-2009-1097.html