Fatal signal 11 во время исполнения нативного кода Android

Доброго времени суток!
В данный момент разрабатываю приложение под Android, и в нем примерно половина логики написана на С++. Приложение закончено, но при запуске на samsung galaxy nexus иногда вылетает с ошибкой Fatal Signal 11 (как tag указано libc). Как я понял из поиска в гугле, это тот же самый segmentation fault. Проблема в том, что ошибка появляется периодически, иногда может не появляться в течении двух часов, иногда при первом запуске, а иногда приложение вылетает каждый раз.
Проблематичную строку кода я худо-бедно отыскал, но не понятно, что в ней не так, и почему проблема возникает не всегда.
Мой вопрос — кто нибудь сталкивался с такой проблемой? Именно с переодичным выпадением? Если да, то какие есть способы борьбы?
Заранее спасибо.

P.S. В вопросе специально не указал ничего конкретно по поводу программы, если будет нужна точная информация — напишу ниже. Просто может быть есть какие то общие причины и решения данной проблемы…
  • Вопрос задан
  • 5902 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rowdyro
Очень похоже на рейс при многопоточном приложении (он может вообще при отладке/эмуляции не проявляться). Например, один поток держит указатель, второй его грохает, первый поток об этом не в курсе — вот и sigsegv.

Если приложение действительно многопоточное — смотри в сторону примитивов синхронизации (мютексы, семафоры и т.д.).

А так конечно без кода сказать трудно… Возможно вообще какая-то системная ошибка, или библиотека какая-то сбоит.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы