Boost C++ Libraries: Ticket #4769: MinGW: std::terminate() called recursively in exception_ptr_test https://svn.boost.org/trac10/ticket/4769 <p> exception_ptr_test fails (<a href="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</a>, link valid 2010/10/21) with what appears to be many calls to terminate: </p> <pre class="wiki">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_impl&lt;exc&gt;terminate called recursively ' terminate called recursively terminate called recursively terminate called recursively terminate called recursively terminate called recursively EXIT STATUS: 3 </pre><p> Running it in gdb and breaking at std::terminate, I get: </p> <pre class="wiki">(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 &lt;~clone_impl&gt;) at ../../../../gcc-4.4.0/libstdc++-v3/libsupc++/eh_throw.cc:83 #2 0x00411d9b in boost::throw_exception&lt;exc&gt; (e=@0xcafde0) at ../boost/throw_exception.hpp:61 #3 0x0041550b in boost::exception_detail::throw_exception_&lt;exc&gt; ( 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&lt;void (*)(), void&gt;::invoke (function_ptr=@0x252f18) at ../boost/function/function_template.hpp:112 #6 0x004266b5 in boost::function0&lt;void&gt;::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&lt;boost::_bi::value&lt;boost::function&lt;void ()()&gt; &gt;, boost::_bi::value&lt;boost::shared_ptr&lt;boost::exception_detail::clone_base const&gt; &gt; &gt;::operator()&lt;void (*)(boost::function&lt;void ()()&gt; const&amp;, boost::shared_ptr &lt;boost::exception_detail::clone_base const&gt;&amp;), boost::_bi::list0&gt; ( this=0x252f14, f=@0x252f10, a=@0xcaff27) at ../boost/bind/bind.hpp:313 #9 0x0041d44a in boost::_bi::bind_t&lt;void, void (*)(boost::function&lt;void ()()&gt; const&amp;, boost::shared_ptr&lt;boost::exception_detail::clone_base const&gt;&amp;), boost::_bi::list2&lt;boost::_bi::value&lt;boost::function&lt;void ()()&gt; &gt;, boost::_bi::value&lt;boost ::shared_ptr&lt;boost::exception_detail::clone_base const&gt; &gt; &gt; &gt;::operator() ( this=0x252f10) at ../boost/bind/bind_template.hpp:20 #10 0x0041da64 in boost::detail::thread_data&lt;boost::_bi::bind_t&lt;void, void (*)(boost::function&lt;void ()()&gt; const&amp;, boost::shared_ptr&lt;boost::exception_detail::clone_base const&gt;&amp;), boost::_bi::list2&lt;boost::_bi::value&lt;boost::function&lt;void ()()&gt; &gt;, boost::_bi::value&lt;boost::shared_ptr&lt;boost::exception_detail::clone_base const&gt; &gt; &gt; &gt; &gt;::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 ?? () </pre><p> These threads: </p> <pre class="wiki">(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 </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4769 Trac 1.4.3 Jim Bell <jim@…> Mon, 25 Oct 2010 13:46:25 GMT severity changed https://svn.boost.org/trac10/ticket/4769#comment:1 https://svn.boost.org/trac10/ticket/4769#comment:1 <ul> <li><strong>severity</strong> <span class="trac-field-old">Showstopper</span> → <span class="trac-field-new">Regression</span> </li> </ul> Ticket Emil Dotchevski Sat, 12 Feb 2011 00:16:08 GMT <link>https://svn.boost.org/trac10/ticket/4769#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4769#comment:2</guid> <description> <p> I can't reproduce this on MinGW with GCC version 4.5.0. Maybe it is (was?) a bug in the compiler? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Emil Dotchevski</dc:creator> <pubDate>Wed, 20 Jun 2012 02:57:39 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/4769#comment:3 https://svn.boost.org/trac10/ticket/4769#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> Ticket