Android>>AndEngine:这个LogCAT形式的错误是什么意思?
我怀疑各种数组列表访问存在线程或问题。好吧,我不再收到“简单”的并发异常,只有以下形式的相同错误消息。
我在某处读到这可能是由于 Dalvik VM 本身崩溃造成的。
我还注意到 /libandenginephysicalsbox2dextension.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
I suspect a threading or issue with various arraylist access. Well, I no longer get 'easy' concurrency exceptions, only the same error message in the following form.
I've read somewhere that this may be due to Dalvik VM itself crashing.
I also note /libandenginephysicsbox2dextension.so appearing.
In tests, I've tried removing code executed on AndEngine's update thread, and the error pops up easier and more frequently.
I am getting close to isolating a test case, but the pattern of its reproduction still eludes me.
Any help or even mundane analysis of this output would be appreciated, as it is a pattern I've seen before, but have never learned.
Thanks all!
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通常这种错误意味着您正在干扰“错误”线程上的本机物理库,该线程通常是 UI 线程,(默认情况下)TouchEvents 和 KeyEvents 在其中运行。
Usually this kind of error means that you are interfering with the native physics library on the "wrong" Thread, which usually is the UI-Thread, where (by default) TouchEvents and KeyEvents run on.
该错误基本上意味着 AndEngine 使用的 box2d 实现在某些时候导致分段错误: NULL 指针,超出范围写入数组或访问某些未正确初始化的变量。如果您的游戏有本机代码,我会使用 valgrind 或其他一些静态代码分析工具对其进行检查,以查看您在某处使用某些变量时是否犯了明显的错误。或者,您可能想尝试单步执行您编写的调用 box2d 的代码:我个人没有太多调试本机代码的经验,但我知道这是可能的。
The error basically means that the box2d implementation used by AndEngine is at some point causing a segmentation fault: either a NULL pointer, writing to an array out of bounds or accessing some variable that is not properly initialized. If your game has native code I'd go over it with valgrind or some other static code analysis tool to see if you are making obvious mistakes in the use of some variable somewhere. Alternatively you might want to try single stepping through the code you've written that is calling box2d: I've personally not had much experience debugging native code, but I know its possible.