We have a test in our code that tries to tickle a stack-overflow bug (in an old modified version of OpenCV). AFAIK, the test should SEGV if there is actually a stack overflow.
One of our users is getting a test failure because of exception std::bad_alloc
thrown. It sounds like this exception is only thrown for heap allocations (results of new operator - http://www.cplusplus.com/reference/std/new/bad_alloc/).
Could this be happening because of a large stack allocation?
For reference, the test is: http://code.google.com/p/modpagespeed/source/browse/trunk/src/net/instaweb/rewriter/image_test.cc#826
and the bug report is: http://code.google.com/p/modpagespeed/issues/detail?id=528
No, this exception is thrown only from operator new/new[]
.
It could happen even if you don't use operator new/new[]
anywhere - the reason - STL containers do use it.