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