No useful backtrace after uncaught exception in std::thread

Tobias Ringström tobias@ringis.se
Tue Nov 15 21:05:00 GMT 2011


On 2011-11-15 21:14, Jonathan Wakely wrote:
> 2011/11/15 Tobias Ringström:
>> That's more like it. Is the std::thread behaviour a bug, or am I missing
>> something? Though the C++11 standard seems to allow the stack to be unwound
>> before std::terminate is called, it exceptionally unhelpful. I've search but
>> not been able to find any explanation.
> No, it's not a bug, but it could be improved.

Heh, that's an understatement. :-)

> Now that the compiler support noexcept we should use that instead and
> not catch the exception, causing the runtime to call terminate without
> unwinding the stack.
>
> I'll make that change for 4.7.0

That's great news, and a good hint, too. I simply added a noexcept to my 
threads' main functions as a workaround, and it works as advertised. 
Thanks for your quick help!

/Tobias



More information about the Gcc-help mailing list