it-swarm.com.ru

Фатальный сигнал 11 (SIGSEGV) при 0x00000000 (код = 1) - PhoneGap

Сейчас я разрабатываю приложения для Android с PhoneGap . В последнее время, когда я пытаюсь переключаться между страницами HTML, приложение закрывается, и в LogCat появляется следующая ошибка:

12-24 15:43:39.237: A/libc(23631): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 23631 (.example.app)

Я немного искал в Google эту ошибку, и я понимаю, что она связана с памятью устройства. Я нашел несколько решений, но не так много, чтобы понять, как я их реализую в PhoneGap.

Кто-нибудь здесь сталкивался с этой ошибкой раньше? Что я могу сделать, чтобы решить проблему?

Спасибо :)

47
Yehuda

Если вы написали (или используете) плагин, который, в свою очередь, использует собственный код C/C++ через NDK, это может указывать на ошибку в этом собственном коде.

В противном случае это ошибка в прошивке устройства или эмулятора, который вы тестируете.

Если вы можете воспроизвести это в эмуляторе, на устройстве Nexus с оригинальным ПЗУ или на различных устройствах разных производителей, это, вероятно, ошибка в самом Android. В этом случае создайте пример проекта, который может воспроизвести ошибку, и опубликуйте его вместе с трассировкой стека whole на http://b.Android.com , трекере проблем ОС Android.

Если вы сталкиваетесь с этим только на одном устройстве или одном стороннем ПЗУ, это, вероятно, более конкретная ошибка - лучше всего обратиться к производителю устройства или ROM с вашими симптомами.

44
CommonsWare

Я получал похожую ошибку на xhdpi Nexus 7, но на моем старом телефоне все работало нормально. Моя проблема возникла при обновлении большого GridView с большим количеством маленьких кнопок.

A/libc(7410): Fatal signal 11 (SIGSEGV) at 0xbe8a8000 (code=1), thread 7410

Я не думаю, что это ваша проблема, потому что ваш компьютер был 0, а мой был 0xbe8a8000, но это легко попробовать, и это решило мою проблему, поэтому я собираюсь опубликовать ее на случай, если кто-то еще придет сюда в поисках решения SEGV.
Была дискуссия на https://github.com/MasDennis/Rajawali/issues/313 о подобной проблеме, и кто-то упомянул, что у них была та же проблема, и устранение аппаратного ускорения исправило ее. Это легко попробовать, и это решило мою проблему.
В приложение для манифеста Android добавьте:

Android:hardwareAccelerated="false"

Надеюсь, это поможет кому-то еще ...

16
steven smith

У меня была та же проблема с проектом, над которым я работал. Оказалось, что я загружаю много изображений и звуков и заставляю приложение исчерпать память, пытаясь создать экземпляр Activity. Использует ли ваша программа много ресурсов, интенсивно использующих память? Вы можете уменьшить их размеры вообще?

В моем случае LogCat имел зеленую трассировку стека (ведение журнала на уровне INFO) непосредственно перед строкой Fatal signal 11 (SIGSEGV). Трассировка стека была OutOfMemoryException, когда приложение загружало ресурсы для Activity, которую я запускал. Поэтому я поднял свои рисованные объекты (их было много в моей программе), отредактировал их, чтобы уменьшить размер файла, и попытался снова. Ошибка ушла. Вы можете увидеть, выглядит ли ваш вывод LogCat как мой, чтобы увидеть, есть ли у вас похожая проблема:

01-15 05:20:40.462: E/dalvikvm-heap(4513): Out of memory on a 3145744-byte allocation.
01-15 05:20:40.462: I/dalvikvm(4513): "main" prio=5 tid=1 RUNNABLE
01-15 05:20:40.462: I/dalvikvm(4513):   | group="main" sCount=0 dsCount=0 obj=0x4158b6a0 self=0x41001a60
01-15 05:20:40.462: I/dalvikvm(4513):   | sysTid=4513 Nice=0 sched=0/0 cgrp=apps handle=1074673744
01-15 05:20:40.462: I/dalvikvm(4513):   | schedstat=( 0 0 0 ) utm=41 stm=20 core=1
01-15 05:20:40.462: I/dalvikvm(4513):   at Android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
01-15 05:20:40.462: I/dalvikvm(4513):   at Android.graphics.BitmapFactory.decodeStream(BitmapFactory.Java:592)
01-15 05:20:40.462: I/dalvikvm(4513):   at Android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.Java:445)
01-15 05:20:40.462: I/dalvikvm(4513):   at Android.graphics.drawable.Drawable.createFromResourceStream(Drawable.Java:781)
01-15 05:20:40.462: I/dalvikvm(4513):   at Android.content.res.Resources.loadDrawable(Resources.Java:1963)
01-15 05:20:40.462: I/dalvikvm(4513):   at Android.content.res.Resources.getDrawable(Resources.Java:672)
01-15 05:20:40.462: I/dalvikvm(4513):   at com.kbi.speeddraw.lite.game.drawables.character.ExplodingCharacterDrawable.<init>(ExplodingCharacterDrawable.Java:27)
<!-- snip -->
01-15 05:20:40.462: I/dalvikvm(4513):   at com.kbi.gameengine.api.gameactivity.GameActivity.onCreate(GameActivity.Java:80)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.Activity.performCreate(Activity.Java:5048)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1094)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2052)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2113)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.ActivityThread.access$700(ActivityThread.Java:139)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1224)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.os.Handler.dispatchMessage(Handler.Java:99)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.os.Looper.loop(Looper.Java:137)
01-15 05:20:40.472: I/dalvikvm(4513):   at Android.app.ActivityThread.main(ActivityThread.Java:4918)
01-15 05:20:40.472: I/dalvikvm(4513):   at Java.lang.reflect.Method.invokeNative(Native Method)
01-15 05:20:40.472: I/dalvikvm(4513):   at Java.lang.reflect.Method.invoke(Method.Java:511)
01-15 05:20:40.472: I/dalvikvm(4513):   at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1004)
01-15 05:20:40.472: I/dalvikvm(4513):   at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:771)
01-15 05:20:40.472: I/dalvikvm(4513):   at dalvik.system.NativeStart.main(Native Method)
01-15 05:20:40.472: A/libc(4513): Fatal signal 11 (SIGSEGV) at 0x00000be0 (code=1), thread 4513 (.speeddraw.lite)
01-15 05:20:40.472: A/libc(4513): Fatal signal 11 (SIGSEGV) at 0x00180500 (code=1), thread 4527 (.speeddraw.lite)
11
Kevin

Следующая запись Google Plus исправила мою проблему:

В основном проблема связана с оптическими границами в 9 файлах патчей. В моем случае я использовал более новые патчи, скопированные из темы Holo. Эти новые исправления недействительны в более старых версиях Android, как описано в ссылка

4
unify

Проверьте на наличие ошибок OutofMemory в моем случае, я получил эту ошибку на Samsung S3 и был для управления большим количеством изображений при запуске Activity. Я поглядывал на многие ответы без решения, потому что у меня не было EditText или ввода вообще (на самом деле, я не знаю, почему ошибка показывает строку с возможностью проставления нулевой длины ..... а не еще одна вещь, например, OutOfMemory и т. д.), потом я понимаю, что изображения, упорядоченные по разрешению, были в неправильных папках и негабаритных, и куча в небе…. Удачи

4
Ciclids

Убедитесь, что у вас есть все изображения ресурсов в каталоге ресурсов. У меня была эта проблема, и оказалось, что одно из моих изображений отсутствует. Как только я помещаю изображение обратно в каталог ресурсов, все в порядке.

3
Emmy

используйте этот ... options.headers = {"Connection": "close"};

1
mahi

Следующее сработало для меня, чтобы избавиться от ошибки в веб-представлении:

webView.freeMemory();

или же

webView.clearCache(true);

Второй вариант замедлит ваше приложение.

0
user3727574