Red Hat Bugzilla – Bug 501689
Segfault in connector when poller initialisation fails due to lack of available file handles
Last modified: 2015-11-15 19:07:09 EST
Created attachment 344778 [details]
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):
100% with attached reproducer
Steps to Reproduce:
1. start broker
2. run attached test case
no core dump
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.
Created attachment 344783 [details]
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.
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.