Fatal signal 11 во время исполнения нативного кода Android
Доброго времени суток!
В данный момент разрабатываю приложение под Android, и в нем примерно половина логики написана на С++. Приложение закончено, но при запуске на samsung galaxy nexus иногда вылетает с ошибкой Fatal Signal 11 (как tag указано libc). Как я понял из поиска в гугле, это тот же самый segmentation fault. Проблема в том, что ошибка появляется периодически, иногда может не появляться в течении двух часов, иногда при первом запуске, а иногда приложение вылетает каждый раз.
Проблематичную строку кода я худо-бедно отыскал, но не понятно, что в ней не так, и почему проблема возникает не всегда.
Мой вопрос — кто нибудь сталкивался с такой проблемой? Именно с переодичным выпадением? Если да, то какие есть способы борьбы?
Заранее спасибо.
P.S. В вопросе специально не указал ничего конкретно по поводу программы, если будет нужна точная информация — напишу ниже. Просто может быть есть какие то общие причины и решения данной проблемы…
Очень похоже на рейс при многопоточном приложении (он может вообще при отладке/эмуляции не проявляться). Например, один поток держит указатель, второй его грохает, первый поток об этом не в курсе — вот и sigsegv.
Если приложение действительно многопоточное — смотри в сторону примитивов синхронизации (мютексы, семафоры и т.д.).
А так конечно без кода сказать трудно… Возможно вообще какая-то системная ошибка, или библиотека какая-то сбоит.
Проблема, по-моему, в строчке создания объекта матрицы проекции из vuforia sdk — то есть при инициализации переменной. Всю многогопоточность я вроде бы убрал… Значит vuforia что-то лагает. Спасибо за ответ, задумывался о многопоточности, но не мог понять, в чем именно проблема может быть