Я запускаю приложение на iOS и периодически (не очень часто) оно вылетает с EXC_BAD_ACCESS.
Сбой происходит при запуске boost :: thread:
boost::thread(boost::bind(&SomeClass::someStaticFunction, someParam));
и стек вызовов, который я вижу:
* thread #35: tid = 0x2a822, 0x00d2469e NdsVgconnectTestApp`boost::(anonymous namespace)::thread_proxy(param=<unavailable>) + 246 at thread.cpp:164, stop reason = EXC_BAD_ACCESS (code=1, address=0x20000008)
* frame #0: 0x00d2469e NdsVgconnectTestApp`boost::(anonymous namespace)::thread_proxy(param=<unavailable>) + 246 at thread.cpp:164
frame #1: 0x3b877918 libsystem_pthread.dylib`_pthread_body + 140
frame #2: 0x3b87788a libsystem_pthread.dylib`_pthread_start + 102
Я передаю в boost :: thread статическую функцию, поэтому трудно поверить, что существует некоторая проблема с адресацией или повреждением указателя. Итак, мой вопрос: может ли аварийное завершение EXC_BAD_ACCESS быть артефактом нехватки памяти на устройстве iOS или превышении предельного объема памяти, установленного ОС?
Задача ещё не решена.