Segfault in connector when poller initialisation fails due to lack of available
file handles
--------------------------------------------------------------------------------------------
Key: QPID-1869
URL: https://issues.apache.org/jira/browse/QPID-1869
Project: Qpid
Issue Type: Bug
Components: C++ Client
Affects Versions: 0.5
Reporter: Gordon Sim
Assignee: Gordon Sim
Fix For: 0.6
A seg fault occurs in the client library when reopening a connection after
reports of lack of available file handles looking something like:
#0 qpid::client::TCPConnector::closeInternal (this=0x9d1b140)
at qpid/client/Connector.cpp:227
227 aio->queueForDeletion();
(gdb) bt
#0 qpid::client::TCPConnector::closeInternal (this=0x9d1b140)
at qpid/client/Connector.cpp:227
#1 0x00a6dc3d in qpid::client::TCPConnector::close (this=0x9d1b140)
at qpid/client/Connector.cpp:240
#2 0x00a627e4 in ~ConnectionImpl (this=0x9d1abe0)
at qpid/client/ConnectionImpl.cpp:92
#3 0x00a56fc8 in
boost::detail::sp_counted_impl_p<qpid::client::ConnectionImpl>::dispose
(this=0x9d1b058) at /usr/include/boost/checked_delete.hpp:34
#4 0x00a5590e in qpid::client::Connection::open (this=0xbfb3ec64,
settin...@0xbfb3ec24)
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]