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]

Reply via email to