2

我怀疑各种数组列表访问存在线程或问题。好吧,我不再得到“简单”的并发异常,只有以下形式的相同错误消息。

我在某处读到这可能是由于 Dalvik VM 本身崩溃。

我还注意到 /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

通常这种错误意味着您正在干扰“错误”线程上的本机物理库,该线程通常是 UI 线程,(默认情况下)TouchEvents 和 KeyEvents 在其中运行。

于 2011-06-27T09:45:09.420 回答
2

该错误基本上意味着 AndEngine 使用的 box2d 实现在某些时候会导致分段错误:NULL 指针、越界写入数组或访问某些未正确初始化的变量。如果您的游戏有本机代码,我会使用 valgrind 或其他一些静态代码分析工具检查它,看看您是否在某处使用某个变量时犯了明显的错误。或者,您可能想尝试单步执行您编写的调用 box2d 的代码:我个人没有太多调试本机代码的经验,但我知道这是可能的。

于 2011-06-27T04:24:24.443 回答