Фатальный сигнал 7 (SIGBUS) при 0x00000000 (код =2)
При использовании OSGi Platform на Android я получил следующее сообщение об ошибке:
Фатальный сигнал 7 (SIGBUS) при 0x595302e0 (код =2)
Я не думаю, что моему приложению нужно столько места в памяти или много вычислительных ресурсов. Это всего лишь платформа OSGi с 20 пакетами.
Мое приложение всегда перезапускается после этого.
Есть идеи?
3 ответа
Даже я тоже обнаружил подобную проблему и оказывается (код =128) с ошибкой. Кажется, ошибка выравнивания данных. Чтобы решить эту проблему, я попытался поместить код примерно так:
*Data = (*Data)(Temp+i) becomes
Temp1 = *(Temp+i);
*Data = Temp1;
До и в вызов функции и передал обратно данные, используя тот же метод выше. Бывает, что NDK Compiler работает по-другому, как-то так. И NDK использовался для кодирования смеси c и C++.
У меня такая же проблема. Это вызвано файлом png в папке drawable. Я просто пошел посмотреть, что такое самая большая картинка, и нашел ее, удалил и заменил более маленькой, и проблема исчезла.
Это проблема с выравниванием данных, как показано кодом ошибки. Некоторая часть вашего кода или код в библиотеке, которую вы используете, вероятно, не в состоянии разместить структуры данных в нужном месте - однако это может быть вызвано многими вещами, такими как функция, которая должна что-то возвращать, но не "т.