hang on exit

Bug #1249881 reported by Jonathan McDougall
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
baretorrent
Confirmed
High
Unassigned

Bug Description

libtorrent seems to sometimes hang when exiting baretorrent. Pausing the debugger gives the following stack traces:

ntdll.dll!NtWaitForMultipleObjects() Unknown
KernelBase.dll!WaitForMultipleObjectsEx() Unknown
kernel32.dll!WaitForMultipleObjects() Unknown
baretorrent_d.dll!boost::asio::detail::win_thread::join() Line 45 C++
baretorrent_d.dll!libtorrent::aux::session_impl::~session_impl() Line 5586 C++
baretorrent_d.dll!libtorrent::aux::session_impl::`scalar deleting destructor'(unsigned int) C++
baretorrent_d.dll!boost::checked_delete<libtorrent::aux::session_impl>(libtorrent::aux::session_impl * x=0x000000000323f840) Line 34 C++
baretorrent_d.dll!boost::detail::sp_counted_impl_p<libtorrent::aux::session_impl>::dispose() Line 79 C++
baretorrent_d.dll!boost::detail::sp_counted_base::release() Line 103 C++
baretorrent_d.dll!boost::detail::shared_count::~shared_count() Line 309 C++
baretorrent_d.dll!boost::shared_ptr<libtorrent::aux::session_impl>::~shared_ptr<libtorrent::aux::session_impl>() C++
baretorrent_d.dll!libtorrent::session::~session() Line 433 C++
baretorrent_d.dll!baretorrent::manager::~manager() Line 71 C++
baretorrent_d.dll!baretorrent::start(int argc=2, char * * argv=0x000000000022df90) Line 894 C++
baretorrent_d.exe!main(int argc=2, char * * argv=0x000000000022df90) Line 28 C++
baretorrent_d.exe!__tmainCRTStartup() Line 536 C
baretorrent_d.exe!mainCRTStartup() Line 377 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

ntdll.dll!NtWaitForSingleObject() Unknown
KernelBase.dll!WaitForSingleObjectEx() Unknown
baretorrent_d.dll!boost::asio::detail::win_iocp_io_service::timer_thread_function::operator()() Line 53 C++
baretorrent_d.dll!boost::asio::detail::win_thread::func<boost::asio::detail::win_iocp_io_service::timer_thread_function>::run() Line 117 C++
baretorrent_d.dll!boost::asio::detail::win_thread_function(void * arg=0x0000000003246680) Line 118 C++
msvcr110d.dll!_callthreadstartex() Line 354 C
msvcr110d.dll!_threadstartex(void * ptd=0x00000000032486b0) Line 337 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

ntdll.dll!NtRemoveIoCompletion() Unknown
KernelBase.dll!GetQueuedCompletionStatus() Unknown
kernel32.dll!GetQueuedCompletionStatusStub() Unknown
baretorrent_d.dll!boost::asio::detail::win_iocp_io_service::do_one(bool block=true, boost::system::error_code & ec={...}) Line 359 C++
baretorrent_d.dll!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec={...}) Line 159 C++
baretorrent_d.dll!boost::asio::io_service::run(boost::system::error_code & ec={...}) Line 67 C++
baretorrent_d.dll!libtorrent::aux::session_impl::main_thread() Line 4713 C++
baretorrent_d.dll!boost::_mfi::mf0<void,libtorrent::aux::session_impl>::operator()(libtorrent::aux::session_impl * p=0x000000000323f840) Line 50 C++
baretorrent_d.dll!boost::_bi::list1<boost::_bi::value<libtorrent::aux::session_impl * __ptr64> >::operator()<boost::_mfi::mf0<void,libtorrent::aux::session_impl>,boost::_bi::list0>(boost::_bi::type<void> __formal={...}, boost::_mfi::mf0<void,libtorrent::aux::session_impl> & f={...}, boost::_bi::list0 & a={...}, int __formal=0) Line 254 C++
baretorrent_d.dll!boost::_bi::bind_t<void,boost::_mfi::mf0<void,libtorrent::aux::session_impl>,boost::_bi::list1<boost::_bi::value<libtorrent::aux::session_impl * __ptr64> > >::operator()() Line 21 C++
baretorrent_d.dll!boost::asio::detail::win_thread::func<boost::_bi::bind_t<void,boost::_mfi::mf0<void,libtorrent::aux::session_impl>,boost::_bi::list1<boost::_bi::value<libtorrent::aux::session_impl * __ptr64> > > >::run() Line 117 C++
baretorrent_d.dll!boost::asio::detail::win_thread_function(void * arg=0x000000000324c6e0) Line 118 C++
msvcr110d.dll!_callthreadstartex() Line 354 C
msvcr110d.dll!_threadstartex(void * ptd=0x000000000324d4b0) Line 337 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

ntdll.dll!NtRemoveIoCompletion() Unknown
KernelBase.dll!GetQueuedCompletionStatus() Unknown
kernel32.dll!GetQueuedCompletionStatusStub() Unknown
baretorrent_d.dll!boost::asio::detail::win_iocp_io_service::do_one(bool block=true, boost::system::error_code & ec={...}) Line 359 C++
baretorrent_d.dll!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec={...}) Line 159 C++
baretorrent_d.dll!boost::asio::io_service::run() Line 59 C++
baretorrent_d.dll!boost::asio::detail::resolver_service_base::work_io_service_runner::operator()() Line 32 C++
baretorrent_d.dll!boost::asio::detail::win_thread::func<boost::asio::detail::resolver_service_base::work_io_service_runner>::run() Line 117 C++
baretorrent_d.dll!boost::asio::detail::win_thread_function(void * arg=0x000000000327fff0) Line 118 C++
msvcr110d.dll!_callthreadstartex() Line 354 C
msvcr110d.dll!_threadstartex(void * ptd=0x0000000003284ec0) Line 337 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

ntdll.dll!NtWaitForSingleObject() Unknown
mswsock.dll!__GSHandlerCheck_SEH() Unknown
mswsock.dll!__GSHandlerCheck_SEH() Unknown
ws2_32.dll!DPROVIDER::WSPSelect(int,struct fd_set *,struct fd_set *,struct fd_set *,struct timeval const *,int *) Unknown
ws2_32.dll!select() Unknown
baretorrent_d.dll!boost::asio::detail::socket_ops::select(int nfds=0, fd_set * readfds=0x0000000003146320, fd_set * writefds=0x0000000003148390, fd_set * exceptfds=0x000000000314a400, timeval * timeout=0x00000000044df740, boost::system::error_code & ec={...}) Line 1684 C++
baretorrent_d.dll!boost::asio::detail::select_reactor::run(bool block=true, boost::asio::detail::op_queue<boost::asio::detail::win_iocp_operation> & ops={...}) Line 213 C++
baretorrent_d.dll!boost::asio::detail::select_reactor::run_thread() Line 257 C++
baretorrent_d.dll!boost::asio::detail::select_reactor::call_run_thread(boost::asio::detail::select_reactor * reactor=0x0000000003145340) Line 265 C++
baretorrent_d.dll!boost::asio::detail::binder1<void (__cdecl*)(boost::asio::detail::select_reactor * __ptr64),boost::asio::detail::select_reactor * __ptr64>::operator()() Line 47 C++
baretorrent_d.dll!boost::asio::detail::win_thread::func<boost::asio::detail::binder1<void (__cdecl*)(boost::asio::detail::select_reactor * __ptr64),boost::asio::detail::select_reactor * __ptr64> >::run() Line 117 C++
baretorrent_d.dll!boost::asio::detail::win_thread_function(void * arg=0x000000000314c4f0) Line 118 C++
msvcr110d.dll!_callthreadstartex() Line 354 C
msvcr110d.dll!_threadstartex(void * ptd=0x000000000314d430) Line 337 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.