web-dev-qa-db-ja.com

0x00000000(コード= 1)の致命的な信号11(SIGSEGV)-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で少し検索したところ、デバイスのメモリに関連していることがわかりました。いくつかの解決策を見つけましたが、それほど多くはありませんでした。

ここで誰かがこのエラーに遭遇したことがありますか?問題を解決するにはどうすればよいですか?

ありがとうございました :)

47
Yehuda

NDKを通じてネイティブC/C++コードを順番に使用するプラグインを記述した(または使用している)場合、これはそのネイティブコードのバグを示している可能性があります。

それ以外の場合、これはテスト対象のデバイスまたはエミュレーターのファームウェアのバグです。

これをエミュレータ、元のROMを搭載したNexusデバイス、またはさまざまなメーカーのさまざまなデバイスで再現できる場合は、おそらくAndroid自体のバグです。その場合、エラーを再現できるサンプルプロジェクトを作成し、entireスタックトレースと一緒に http://b.Android .com 、Android OS issue tracker。

これが1つのデバイスまたは1つのサードパーティのROMでのみ発生している場合、それはおそらくより具体的なバグです。デバイスメーカーまたはROMパブリッシャーに症状を連絡することをお勧めします。

44
CommonsWare

Xhdpi Nexus 7でも同様のエラーが発生していましたが、古い電話では問題なく機能しました。私の問題は、小さなボタンがたくさんある大きなGridViewを更新しているときに発生しました。

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

あなたのPCは0で、私のものは0xbe8a8000だったので、これはあなたの問題ではないと思いますが、試してみるのは簡単で、私の問題は解決しました。
同様の問題について https://github.com/MasDennis/Rajawali/issues/31 で議論があり、同じ問題があり、ハードウェアアクセラレーションをオフにしていると誰かが述べました彼らのためにそれを修正しました。試してみるのは簡単で、問題は解決しました。
Androidマニフェストアプリケーションに追加:

Android:hardwareAccelerated="false"

これが誰かに役立つことを願っています...

16
steven smith

私が取り組んでいたプロジェクトでも同じ問題が発生しました。大量の画像と音声を読み込んでいて、アクティビティをインスタンス化しようとしているときにアプリがメモリ不足になることが判明しました。あなたのプログラムは多くのメモリを消費するアセットを使用していますか?サイズをまったく小さくできますか?

私の場合、LogCatのFatal signal 11 (SIGSEGV)行の直前に緑色のスタックトレース(INFOレベルのログ)がありました。スタックトレースは、アプリが起動中の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テーマからコピーした新しい9パッチを使用していました。 link で説明されているように、この新しいパッチはAndroidの古いバージョンでは無効です。

4
unify

私の場合、OutofMemoryの問題を確認してください。SamsungS3でこのエラーが発生し、スタートアップアクティビティで多くの画像を管理するためでした。私はEditTextや入力を持っていなかったので、ソリューションなしで多くの応答をグーグルで検索しました(実際には、なぜエラーが発生するのかわかりませんスパンニング可能な文字列ゼロ長さを表示 .... OutOfMemoryなどのようなものではありません)、解像度で順序付けられた画像が間違ったフォルダーにあり、サイズが大きすぎて、空が山積みになっていることに気付きます。幸運を

4
Ciclids

すべてのリソースイメージがassetsディレクトリの下にあることを確認してください。この問題が発生したため、画像の1つが欠落していることがわかりました。アセットディレクトリの下に画像を戻すと、すべて問題ありません。

3
Emmy

これを使用します... options.headers = {"Connection": "close"};

1
mahi

以下は私のために働いて、ウェブビューのエラーを取り除きました:

webView.freeMemory();

または

webView.clearCache(true);

2番目のオプションは、アプリの速度を低下させます。

0
user3727574