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-cpp | Assignee: | Gordon Sim <gsim> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Frantisek Reznicek <freznice> | ||||||
Severity: | high | Docs Contact: | |||||||
Priority: | urgent | ||||||||
Version: | 1.1.1 | CC: | 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: |
|
Created attachment 344783 [details]
fix
Fixed on trunk (r777006) and in qpidc-0.5.752581-7.el5. 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... 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 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 |
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.