2

スレッド化またはさまざまなarraylistアクセスの問題が疑われます。さて、私はもはや「簡単な」同時実行例外を受け取りません。次の形式の同じエラーメッセージだけを受け取ります。

これはDalvikVM自体がクラッシュしたことが原因である可能性があることをどこかで読みました。

/libandenginephysicsbox2dextension.soが表示されていることにも注意してください。

テストでは、AndEngineの更新スレッドで実行されたコードを削除しようとしましたが、エラーがより簡単かつ頻繁に表示されます。

私はテストケースの分離に近づいていますが、その再現のパターンはまだ私にはわかりません。

これは私が以前に見たパターンですが、一度も学んだことがないので、この出力の助けやありふれた分析さえあれば幸いです。

皆さんありがとう!

06-26 21:20:46.123: INFO/DEBUG(10782): *** *** *** *** *** *** *** *** *** *** *** ***     *** *** *** ***
06-26 21:20:46.123: INFO/DEBUG(10782): Build fingerprint: 'verizon/shadow_vzw/cdma_shadow:2.3.3/4.5.1_57_DX5-26/110429:user/release-keys'
06-26 21:20:46.123: INFO/DEBUG(10782): pid: 10758, tid: 10758  >>> com.bomber <<<
06-26 21:20:46.123: INFO/DEBUG(10782): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000005c
06-26 21:20:46.123: INFO/DEBUG(10782):  r0 00000000  r1 be9813c0  r2 3f800000  r3   81c32b78
06-26 21:20:46.123: INFO/DEBUG(10782):  r4 00000005  r5 00000000  r6 81c32718  r7 4214f948
06-26 21:20:46.123: INFO/DEBUG(10782):  r8 be981414  r9 4214f91c  10 4214f904  fp aca9f368
06-26 21:20:46.131: INFO/DEBUG(10782):  ip 00000000  sp be9813a8  lr 81c0bfc0  pc 81c18914  cpsr 60000010
06-26 21:20:46.131: INFO/DEBUG(10782):  d0  643a64696f72646e  d1  6472656767756265
06-26 21:20:46.131: INFO/DEBUG(10782):  d2  40362d1e3f5f9aa3  d3  b20907fa6dc9c883
06-26 21:20:46.131: INFO/DEBUG(10782):  d4  3f02301400000000  d5  0000000000000000
06-26 21:20:46.131: INFO/DEBUG(10782):  d6  c208322600000000  d7  bf5f9aa33f023014
06-26 21:20:46.131: INFO/DEBUG(10782):  d8  00000000c427698d  d9  c280000000000000
06-26 21:20:46.131: INFO/DEBUG(10782):  d10 4127698dc3500000  d11 c427698dc1ec5e40
06-26 21:20:46.131: INFO/DEBUG(10782):  d12 c427698d80000000  d13 00000000c3880000
06-26 21:20:46.131: INFO/DEBUG(10782):  d14 c3880000c3880000  d15 0000000000000000
06-26 21:20:46.131: INFO/DEBUG(10782):  d16 3febf3546ccee958  d17 3f91b66bfe49b642
06-26 21:20:46.131: INFO/DEBUG(10782):  d18 bf56a612eb0b433e  d19 3fb11f4cf9c4054b
06-26 21:20:46.131: INFO/DEBUG(10782):  d20 3fa55553e1053a42  d21 3fb11f4cf9c4054b
06-26 21:20:46.131: INFO/DEBUG(10782):  d22 3fd51ee240000000  d23 be4120ff40000000
06-26 21:20:46.131: INFO/DEBUG(10782):  d24 3ef99342e0ee5069  d25 3fe0460280000000
06-26 21:20:46.131: INFO/DEBUG(10782):  d26 40cd4c4013880000  d27 3fa97b4f068b794e
06-26 21:20:46.131: INFO/DEBUG(10782):  d28 bfa2b4442c6a6c2f  d29 00f400f400f400f4
06-26 21:20:46.131: INFO/DEBUG(10782):  d30 0000000000000000  d31 3ff0000000000000
06-26 21:20:46.131: INFO/DEBUG(10782):  scr 80000012
06-26 21:20:46.318: INFO/DEBUG(10782):          #00  pc 00018914  /data/data/com.bomber/lib/libandenginephysicsbox2dextension.so
06-26 21:20:46.318: INFO/DEBUG(10782):          #01  pc 0000bfbc  /data/data/com.bomber/lib/libandenginephysicsbox2dextension.so
06-26 21:20:46.326: INFO/DEBUG(10782):          #02  pc 00011e74  /system/lib/libdvm.so
06-26 21:20:46.326: INFO/DEBUG(10782): code around pc:
06-26 21:20:46.326: INFO/DEBUG(10782): 81c188f4 e5823000 eaffffd6 e2871a19 e2811f76 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c18904 e1a00006 eb0003d9 eaffffe4 e92d41f0 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c18914 e590705c e3a03a19 e2833f75 e7973003 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c18924 e1a04000 e1a06001 e3130002 13a05000 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c18934 0a000001 e1a00005 e8bd81f0 e3a01038 
06-26 21:20:46.326: INFO/DEBUG(10782): code around lr:
06-26 21:20:46.326: INFO/DEBUG(10782): 81c0bfa0 e2866008 e58d2014 e58d6000 e5cd5018 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c0bfb0 e1cd41bc e1cde1ba e1cdc1be eb003253 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c0bfc0 e1a02000 e1a03fc2 e1a01003 e1a00002 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c0bfd0 e28dd020 e8bd8070 00026c04 0000006c 
06-26 21:20:46.326: INFO/DEBUG(10782): 81c0bfe0 e59f3024 e59f2024 e92d4010 e08f3003 
06-26 21:20:46.326: INFO/DEBUG(10782): stack:
06-26 21:20:46.326: INFO/DEBUG(10782):     be981368  405c7970  
06-26 21:20:46.326: INFO/DEBUG(10782):     be98136c  405c7970  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981370  4050d018  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981374  00000020  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981378  4000c280  
06-26 21:20:46.326: INFO/DEBUG(10782):     be98137c  405c7970  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981380  acaa51a0  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981384  aca9f600  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981388  acaa4d38  
06-26 21:20:46.326: INFO/DEBUG(10782):     be98138c  aca6ac5b  /system/lib/libdvm.so
06-26 21:20:46.326: INFO/DEBUG(10782):     be981390  aca9f600  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981394  00000020  
06-26 21:20:46.326: INFO/DEBUG(10782):     be981398  fffffe84  
06-26 21:20:46.326: INFO/DEBUG(10782):     be98139c  00000020  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813a0  df002777  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813a4  e3a070ad  
06-26 21:20:46.326: INFO/DEBUG(10782): #00 be9813a8  00000005  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813ac  00000000  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813b0  81c32718  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813b4  4214f948  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813b8  be981414  
06-26 21:20:46.326: INFO/DEBUG(10782):     be9813bc  81c0bfc0  /data/data/com.bomber/lib/libandenginephysicsbox2dextension.so
06-26 21:20:46.334: INFO/DEBUG(10782): #01 be9813c0  81c32718  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813c4  003787e0  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813c8  00000000  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813cc  3f000000  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813d0  3f000000  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813d4  3f800000  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813d8  00041400  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813dc  00000005  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813e0  be981438  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813e4  00000003  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813e8  be9814b8  
06-26 21:20:46.334: INFO/DEBUG(10782):     be9813ec  aca11e78  /system/lib/libdvm.so
4

2 に答える 2

2

エラーは基本的に、AndEngineによって使用されるbox2d実装が、ある時点でセグメンテーション違反を引き起こしていることを意味します。NULLポインター、範囲外の配列への書き込み、または適切に初期化されていない変数へのアクセスのいずれかです。ゲームにネイティブコードがある場合は、valgrindまたはその他の静的コード分析ツールを使用して、どこかで変数を使用する際に明らかな間違いを犯していないかどうかを確認します。または、box2dを呼び出している、作成したコードを1ステップずつ実行してみることもできます。個人的にはネイティブコードのデバッグ経験はあまりありませんが、その可能性はわかっています。

于 2011-06-27T04:24:24.443 に答える
2

通常、この種のエラーは、「間違った」スレッド(通常はUIスレッド)でネイティブの物理ライブラリに干渉していることを意味します。このスレッドでは、(デフォルトで)TouchEventsとKeyEventsが実行されます。

于 2011-06-27T09:45:09.420 に答える