You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <qp...@incubator.apache.org> on 2009/05/21 10:55:45 UTC

[jira] Resolved: (QPID-1869) Segfault in connector when poller initialisation fails due to lack of available file handles

     [ https://issues.apache.org/jira/browse/QPID-1869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-1869.
------------------------------

    Resolution: Fixed

Fixed by r777006.

> 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,
>     settings=@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:dev-subscribe@qpid.apache.org