Re: [Boost-bugs] [Boost C++ Libraries] #9083: thread_group::join_all() hangs when invoked on dll unload

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