Re: [Boost-bugs] [Boost C++ Libraries] #5021: io_service destructor hangs on Mac OS X

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5021: io_service destructor hangs on Mac OS X
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-02-17 07:16:54


#5021: io_service destructor hangs on Mac OS X
------------------------------------------------+---------------------------
  Reporter: Remko Tronçon <remko@…> | Owner: chris_kohlhoff
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: asio
   Version: Boost 1.45.0 | Severity: Problem
Resolution: | Keywords:
------------------------------------------------+---------------------------

Comment (by arvid@…):

 I have a similar issue in libtorrent on Mac OS X 10.6.5, built as 64 bit.
 I'm not sure about what might have made this start to happen, but it
 appears to have started around the time when I merged uTP support into
 trunk, which essentially mean a lot more traffic (and events) over a
 single udp socket. It seems to somehow be related to busyness, as it seems
 to be more likely to hang when it's been running for a while (an hour or
 so). It hangs here (I'm on boost 1.44):
 {{{
 Call graph:
           2674 libtorrent::session::~session()
             2674
 boost::shared_ptr<libtorrent::aux::session_impl>::~shared_ptr()
               2674 boost::detail::shared_count::~shared_count()
                 2674 boost::detail::sp_counted_base::release()
                   2674
 boost::detail::sp_counted_impl_p<libtorrent::aux::session_impl>::dispose()
                     2674 void
 boost::checked_delete<libtorrent::aux::session_impl>(libtorrent::aux::session_impl*)
                       2674 libtorrent::aux::session_impl::~session_impl()
                         2674 boost::asio::io_service::~io_service()
                           2674
 boost::asio::detail::service_registry::~service_registry()
                             2674
 boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*)
                               2674
 boost::asio::detail::kqueue_reactor::~kqueue_reactor()
                                 2674
 boost::asio::detail::pipe_select_interrupter::~pipe_select_interrupter()
                                   2674 close
 }}}
 This is the last thread alive at this point, so I don't think it's related
 to multithreading.

 It definitely seems like an OS bug to me. close() isn't ever supposed to
 hang indefinitely, right?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5021#comment:17>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC