[cfe-dev] stdext::bad_alloc not caught by try catch (...)

jaytee aloha_arts at yahoo.com
Tue Jun 16 08:05:11 PDT 2015


Hello everyone!

It seems that we've found the root cause of the problem. The issue was
caused by the fact that when unwinding from the first exception
(stdext::bad_alloc), destructors are called in LLVM, which try to allocate
memory. Because of low memory conditions the new operations inside those
destructors also fail and cause other exceptions to be thrown.

This is situation is bad, because you are not allowed to throw exceptions
while you unwind from another exception.

Here is a related reference discussing this situation:
http://stackoverflow.com/questions/130117/throwing-exceptions-out-of-a-destructor

Thank you!



--
View this message in context: http://clang-developers.42468.n3.nabble.com/stdext-bad-alloc-not-caught-by-try-catch-tp4045778p4046051.html
Sent from the Clang Developers mailing list archive at Nabble.com.



More information about the cfe-dev mailing list