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

При использовании OSGi Platform на Android я получил следующее сообщение об ошибке:

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

Фатальный сигнал 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. Я просто пошел посмотреть, что такое самая большая картинка, и нашел ее, удалил и заменил более маленькой, и проблема исчезла.

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

Другие вопросы по тегам