Subject: Re: [Boost-bugs] [Boost C++ Libraries] #9083: thread_group::join_all() hangs when invoked on dll unload
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-09-05 15:36:51
#9083: thread_group::join_all() hangs when invoked on dll unload
-------------------------+-------------------------------------------------
Reporter: | Owner: chris_kohlhoff
danobrega@⦠| Status: new
Type: Bugs | Component: asio
Milestone: To Be | Severity: Problem
Determined | Keywords: thread_group join_all hang deadlock
Version: Boost | freelibrary windows
1.54.0 |
Resolution: |
-------------------------+-------------------------------------------------
Comment (by danobrega@â¦):
Thread group threads are blocked at:
{{{
ntdll.dll!_ZwWaitForSingleObject_at_12() Unknown
ntdll.dll!_RtlpWaitOnCriticalSection_at_8() Unknown
ntdll.dll!_RtlEnterCriticalSection_at_4() Unknown
ntdll.dll!_LdrShutdownThread_at_0() Unknown
ntdll.dll!_RtlExitUserThread_at_4() Unknown
> msvcr110d.dll!_endthreadex(unsigned int retcode) Line 410 C
msvcr110d.dll!_callthreadstartex() Line 354 C
msvcr110d.dll!_threadstartex(void * ptd) Line 337 C
kernel32.dll!@BaseThreadInitThunk_at_12() Unknown
ntdll.dll!___RtlUserThreadStart_at_8() Unknown
ntdll.dll!__RtlUserThreadStart_at_8() Unknown
}}}
The main thread invoking the join_all is blocked at:
{{{
ntdll.dll!_NtWaitForMultipleObjects_at_20() Unknown
ntdll.dll!_NtWaitForMultipleObjects_at_20() Unknown
> boost_thread-vc110-mt-gd-
1_54.dll!boost::this_thread::interruptible_wait(void * handle_to_wait_for,
boost::detail::timeout target_time) Line 547 C++
boost_thread-vc110-mt-gd-1_54.dll!boost::thread::join_noexcept()
Line 341 C++
boost_thread-vc110-mt-gd-1_54.dll!boost::thread::join() Line 757
C++
BoostStudyDll.dll!boost::thread_group::join_all() Line 118
C++
BoostStudyDll.dll!Application::Stop() Line 49 C++
BoostStudyDll.dll!DllMain(void * hModule, unsigned long
ul_reason_for_call, void * lpReserved) Line 100 C++
BoostStudyDll.dll!__DllMainCRTStartup(void * hDllHandle, unsigned
long dwReason, void * lpreserved) Line 508 C
BoostStudyDll.dll!_DllMainCRTStartup(void * hDllHandle, unsigned
long dwReason, void * lpreserved) Line 472 C
ntdll.dll!_LdrpCallInitRoutine_at_16() Unknown
ntdll.dll!_LdrpUnloadDll_at_8() Unknown
ntdll.dll!_LdrUnloadDll_at_4() Unknown
KernelBase.dll!74d62d1f() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded
for KernelBase.dll]
BoostStudy.exe!ThisDoesnt() Line 36 C++
BoostStudy.exe!main() Line 47 C++
BoostStudy.exe!__tmainCRTStartup() Line 536 C
BoostStudy.exe!mainCRTStartup() Line 377 C
kernel32.dll!@BaseThreadInitThunk_at_12() Unknown
ntdll.dll!___RtlUserThreadStart_at_8() Unknown
ntdll.dll!__RtlUserThreadStart_at_8() Unknown
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9083#comment:1> 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:14 UTC