id summary reporter owner description type status milestone component version severity resolution keywords cc 4769 MinGW: std::terminate() called recursively in exception_ptr_test Jim Bell Emil Dotchevski "exception_ptr_test fails ([http://www.boost.org/development/tests/trunk/developer/output/MinGW-32%20jc-bell-com-boost-bin-v2-libs-exception-test-exception_ptr_test-test-gcc-mingw-4-4-0-debug-link-static-threading-multi.html see here], link valid 2010/10/21) with what appears to be many calls to terminate: {{{ Run [2010-10-21 22:46:51 UTC]: fail This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. terminate called after throwing an instance of 'boost::exception_detail::clone_implterminate called recursively ' terminate called recursively terminate called recursively terminate called recursively terminate called recursively terminate called recursively EXIT STATUS: 3 }}} Running it in gdb and breaking at std::terminate, I get: {{{ (gdb) bt #0 std::terminate () at ../../../../gcc-4.4.0/libstdc++-v3/libsupc++/eh_terminate.cc:48 #1 0x00478f57 in __cxa_throw (obj=0x34780, tinfo=0x48c060, dest=0x412668 <~clone_impl>) at ../../../../gcc-4.4.0/libstdc++-v3/libsupc++/eh_throw.cc:83 #2 0x00411d9b in boost::throw_exception (e=@0xcafde0) at ../boost/throw_exception.hpp:61 #3 0x0041550b in boost::exception_detail::throw_exception_ ( x=@0xcafe30, current_function=0x488754 ""void thread_func()"", file=0x488398 ""..\\libs\\exception\\test\\exception_ptr_test.cpp"", line=103) at ../boost/throw_exception.hpp:78 #4 0x004014b9 in thread_func () at ..\libs\exception\test\exception_ptr_test.cpp:103 #5 0x0041f143 in boost::detail::function::void_function_invoker0::invoke (function_ptr=@0x252f18) at ../boost/function/function_template.hpp:112 #6 0x004266b5 in boost::function0::operator() (this=0x252f14) at ../boost/function/function_template.hpp:1013 #7 0x004101ae in thread_handle::thread_wrapper (f=@0x252f14, ep=@0x252f24) at ..\libs\exception\test\exception_ptr_test.cpp:37 #8 0x0041d267 in boost::_bi::list2 >, boost::_bi::value > >::operator() const&, boost::shared_ptr &), boost::_bi::list0> ( this=0x252f14, f=@0x252f10, a=@0xcaff27) at ../boost/bind/bind.hpp:313 #9 0x0041d44a in boost::_bi::bind_t const&, boost::shared_ptr&), boost::_bi::list2 >, boost::_bi::value > > >::operator() ( this=0x252f10) at ../boost/bind/bind_template.hpp:20 #10 0x0041da64 in boost::detail::thread_data const&, boost::shared_ptr&), boost::_bi::list2 >, boost::_bi::value > > > >::run (this=0x252ef0) at ../boost/thread/detail/thread.hpp:61 #11 0x00401b65 in thread_start_function (param=0x252ef0) at ..\libs\thread\src\win32\thread.cpp:168 #12 0x77c3a3b0 in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll #13 0x7c80b729 in KERNEL32!GetModuleFileNameA () from C:\WINDOWS\system32\kernel32.dll #14 0x00000000 in ?? () }}} These threads: {{{ (gdb) info threads * 3 thread 944.0x1764 std::terminate () at ../../../../gcc-4.4.0/libstdc++-v3/libsupc++/eh_terminate.cc:48 2 thread 944.0x154c 0x6e946dbb in libgcc_s_dw2-1!_Unwind_Resume_or_Rethrow () from C:\Software\Open\lib\Qt\2010.05\mingw\bin\libgcc_s_dw2-1.dll 1 thread 944.0x13c8 0x7c90e514 in ntdll!LdrAccessResource () from C:\WINDOWS\system32\ntdll.dll }}} " Bugs closed Boost 1.45.0 exception Boost 1.44.0 Regression fixed mingw terminate recursively