В нашем коде есть тест, который пытается исправить ошибку переполнения стека (в старой модифицированной версии OpenCV). AFAIK, тест должен SEGV, если на самом деле переполнение стека.
Один из наших пользователей получает тестовый сбой из-за исключения std::bad_alloc
выброшены. Похоже, это исключение выдается только для выделения кучи (результаты нового оператора — http://www.cplusplus.com/reference/std/new/bad_alloc/).
Может ли это происходить из-за большого выделения стека?
Для справки, тест: http://code.google.com/p/modpagespeed/source/browse/trunk/src/net/instaweb/rewriter/image_test.cc#826
и отчет об ошибке: http://code.google.com/p/modpagespeed/issues/detail?id=528
Нет, это исключение выдается только из operator new/new[]
,
Это может произойти, даже если вы не используете operator new/new[]
где угодно — причина — контейнеры STL используют его.
Других решений пока нет …