web-dev-qa-db-fra.com

Signal fatal 11 (SIGSEGV) à 0x00000000 (code = 1) - PhoneGap

Je développe maintenant des applications Android avec PhoneGap . Dernièrement, lorsque j'essaie de basculer entre les pages HTML, l'application est fermée et dans LogCat l'erreur suivante apparaît:

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

J'ai un peu cherché sur Google à propos de cette erreur, et ce que je comprends, c'est qu'elle est liée à la mémoire de l'appareil. J'ai trouvé des solutions, mais pas tant que j'ai compris comment je les implémentais dans PhoneGap.

Quelqu'un at-il déjà rencontré cette erreur auparavant? Que puis-je faire pour résoudre le problème?

Je vous remercie :)

47
Yehuda

Si vous avez écrit (ou utilisez) un plug-in qui utilise à son tour du code C/C++ natif via le NDK, cela peut indiquer un bogue dans ce code natif.

Sinon, il s'agit d'un bogue dans le micrologiciel du périphérique ou de l'émulateur que vous testez.

Si vous pouvez reproduire cela dans un émulateur, sur un appareil Nexus avec la ROM d'origine ou sur divers appareils de différents fabricants, il s'agit probablement d'un bogue dans Android lui-même. Dans ce cas, créez un exemple de projet pouvant reproduire l'erreur et publiez-le avec la trace de pile entière sur http://b.Android.com , l'outil de suivi des problèmes sous Android.

Si vous rencontrez cela uniquement sur un périphérique ou une ROM tierce, il s'agit probablement d'un bogue plus spécifique: votre meilleur choix est de contacter le fabricant du périphérique ou l'éditeur ROM avec vos symptômes.

44
CommonsWare

Je recevais une erreur similaire sur le Nexus 7 xhdpi, mais les choses ont bien fonctionné sur mon ancien téléphone. Mon problème est survenu lors de la mise à jour d'un grand GridView avec beaucoup de petits boutons.

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

Je ne pense pas que ce soit votre problème, car votre ordinateur valait 0 et le mien était à 0xbe8a8000, mais il est facile d'essayer et de régler mon problème. Je vais donc le poster au cas où quelqu'un d'autre viendrait ici chercher une solution SEGV.
Il y a eu une discussion sur https://github.com/MasDennis/Rajawali/issues/313 à propos d'un problème similaire et quelqu'un a mentionné qu'ils avaient le même problème et que le fait de désactiver l'accélération matérielle le corrigeait. C'est facile d'essayer et ça règle mon problème.
Dans l'application de manifeste Android, ajoutez:

Android:hardwareAccelerated="false"

J'espère que ceci aide quelqu'un d'autre...

16
steven smith

Je viens d'avoir le même problème sur un projet sur lequel je travaillais. Il s'est avéré que je chargeais beaucoup d'images et de sons et que l'application manquait de mémoire lors de la tentative d'instanciation d'une activité. Votre programme utilise-t-il beaucoup d'actifs gourmands en mémoire? Pouvez-vous réduire leur taille?

Dans mon cas, LogCat avait une trace de pile en vert (enregistrement au niveau INFO) immédiatement avant la ligne Fatal signal 11 (SIGSEGV). La trace de la pile était une OutOfMemoryException alors que l'application chargeait des actifs pour une Activity que je démarrais. J'ai donc tiré mes tirables (mon programme en avait beaucoup), je les ai modifiés pour réduire la taille du fichier et j'ai réessayé. Le bug est parti. Vous pouvez voir si votre sortie LogCat ressemble à la mienne pour voir si vous avez un problème similaire:

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

La publication Google Plus suivante a résolu mon problème:

Fondamentalement, le problème est lié aux limites optiques de 9 fichiers de correctifs. Dans mon cas, j’utilisais des versions plus récentes de 9 patches copiées du thème Holo. Ces nouveaux correctifs ne sont pas valides dans les anciennes versions d'Android, comme expliqué dans le lien link

4
unify

Vérifiez les problèmes OutofMemory dans mon cas. J'ai eu cette erreur sur le Samsung S3 et je voulais gérer beaucoup d'images au démarrage de l'Activité. J'ai goggled beaucoup de réponses sans solution parce que je n'avais ni EditText ni entrée du tout (en fait, je ne sais pas pourquoi l'erreur affiche la longueur nulle de la chaîne épannable ..... et pas Une autre chose comme OutOfMemory etc etc), alors je me rends compte que les images commandées par résolution étaient dans les mauvais dossiers et surdimensionnées, et le tas dans les cieux . Bonne chance

4
Ciclids

Assurez-vous de disposer de toutes les images de ressources dans le répertoire des actifs. J'ai eu ce problème et il s'avère qu'une de mes images manque. Une fois que j'ai remis l'image dans le répertoire assets, tout va bien.

3
Emmy

utilisez celui-ci ... options.headers = {"Connection": "close"};

1
mahi

Ce qui suit m'a aidé à éliminer l'erreur de la vue Web:

webView.freeMemory();

ou

webView.clearCache(true);

La deuxième option ralentira votre application.

0
user3727574