Фатальный сигнал 7 (SIGBUS) при 0x00000000 (код = 2)

При использовании платформы OSGi на Android у меня есть этот errormsg:

Fatal signal 7 (SIGBUS) at 0x595302e0 (code=2)

Фатальный сигнал 7 (SIGBUS) при 0x595302e0 (код = 2)

Я не думаю, что моему приложению нужно столько места в памяти или нужно много вычислительной мощности. Его просто платформа OSGi с 20 пакетами.

Мое приложение всегда перезагружается после этого.

Любые идеи?

Ответ 1

У меня была та же проблема. Это вызвано png файлом в папке с возможностью переноса. Я просто посмотрел, какая самая большая картина, и я нашел ее, удалил и заменил ее на более мелкую, и проблема исчезла.

Ответ 2

Это проблема с Data Alignment, как показано код ошибки. Некоторая часть вашего кода или кода в используемой вами библиотеке, вероятно, не позволяет помещать структуры данных в нужное место, однако это может быть вызвано множеством вещей, например функцией, которая должна что-то возвращать, но не делает "т.

Ответ 3

Даже я тоже нашел аналогичную проблему и, случается, (code = 128) с ошибкой. Кажется, это ошибка выравнивания данных. Чтобы решить эту проблему, я попытался поместить код примерно так:

    *Data = (*Data)(Temp+i) becomes     
    Temp1 = *(Temp+i);     
    *Data = Temp1;     

До и в вызове функции и передайте данные, используя тот же метод выше. Бывает, что NDK Compiler работает по-разному. И NDK использовался для кодирования смешивания c и С++.