android app出现这个奔溃 10C

大家好,用addr2line工具也查不到是so哪行代码出现的问题,这是不是java层奔溃导致的?

06-07 09:01:54.449 10949-10949/com.wl.andrpeer A/libc: heap corruption detected by dlmalloc
06-07 09:01:54.449 10949-10949/com.wl.andrpeer A/libc: Fatal signal 6 (SIGABRT) at 0x00002ac5 (code=-6), thread 10949 (com.wl.andrpeer)
06-07 09:01:54.504 2434-2434/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-07 09:01:54.504 2434-2434/? I/DEBUG: Build fingerprint: 'Huawei/PE-TL20/hwPE:4.4.2/HuaweiPE-TL20/CHNC00B200:user/ota-rel-keys,release-keys'
06-07 09:01:54.504 2434-2434/? I/DEBUG: Revision: '0'
06-07 09:01:54.504 2434-2434/? I/DEBUG: pid: 10949, tid: 10949, name: com.wl.andrpeer >>> com.wl.andrpeer <<<
06-07 09:01:54.504 2434-2434/? I/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
06-07 09:01:54.504 2434-2434/? I/DEBUG: Abort message: 'heap corruption detected by dlmalloc'
06-07 09:01:54.649 2434-2434/? I/DEBUG: r0 00000000 r1 00002ac5 r2 00000006 r3 00000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: r4 00000006 r5 0000000b r6 00002ac5 r7 0000010c
06-07 09:01:54.649 2434-2434/? I/DEBUG: r8 be85d330 r9 6d4aed20 sl 00000000 fp be85d344
06-07 09:01:54.649 2434-2434/? I/DEBUG: ip 00000000 sp be85d1f0 lr 400a3271 pc 400b21b0 cpsr 000f0010
06-07 09:01:54.649 2434-2434/? I/DEBUG: d0 636f6c6c616d6c64 d1 65746564206e6f69
06-07 09:01:54.649 2434-2434/? I/DEBUG: d2 0074006300410061 d3 0074006900760070
06-07 09:01:54.649 2434-2434/? I/DEBUG: d4 0000000000000000 d5 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d6 0000000000000000 d7 0000000080000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d8 0000000043ac8000 d9 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d10 0000000000000000 d11 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d12 0000000000000000 d13 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d14 0000000000000000 d15 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d16 ffffffffffffffff d17 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d18 000000010bbfe000 d19 00000000000001a8
06-07 09:01:54.649 2434-2434/? I/DEBUG: d20 0000000000000098 d21 0000000000800000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d22 00000000008bb688 d23 0000000080c32cc0
06-07 09:01:54.649 2434-2434/? I/DEBUG: d24 0000000080c32cc1 d25 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d26 3ff0000000000000 d27 0000000000000000
06-07 09:01:54.649 2434-2434/? I/DEBUG: d28 3ff0000000000000 d29 0000000000000001
06-07 09:01:54.649 2434-2434/? I/DEBUG: d30 0000000000000001 d31 0000000080c34640
06-07 09:01:54.654 2434-2434/? I/DEBUG: scr 60000010
06-07 09:01:54.659 2434-2434/? I/DEBUG: backtrace:
06-07 09:01:54.659 2434-2434/? I/DEBUG: #00 pc 000221b0 /system/lib/libc.so (tgkill+12)
06-07 09:01:54.659 2434-2434/? I/DEBUG: #01 pc 0001326d /system/lib/libc.so (pthread_kill+48)
06-07 09:01:54.659 2434-2434/? I/DEBUG: #02 pc 00013481 /system/lib/libc.so (raise+10)
06-07 09:01:54.659 2434-2434/? I/DEBUG: #03 pc 000121b7 /system/lib/libc.so
06-07 09:01:54.659 2434-2434/? I/DEBUG: #04 pc 00021a64 /system/lib/libc.so (abort+4)
06-07 09:01:54.659 2434-2434/? I/DEBUG: #05 pc 00012c9d /system/lib/libc.so
06-07 09:01:54.659 2434-2434/? I/DEBUG: #06 pc 0000f3bd /system/lib/libc.so
06-07 09:01:54.659 2434-2434/? I/DEBUG: #07 pc 000102c1 /system/lib/libc.so (dlmalloc+604)
06-07 09:01:54.659 2434-2434/? I/DEBUG: #08 pc 0000de9b /system/lib/libc.so (malloc+10)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #09 pc 000205fd /system/lib/libbinder.so (android::Parcel::continueWrite(unsigned int)+352)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #10 pc 00020d2f /system/lib/libbinder.so (int android::Parcel::writeAligned(unsigned int)+36)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #11 pc 00020f9d /system/lib/libbinder.so (android::Parcel::writeInterfaceToken(android::String16 const&)+20)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #12 pc 0006e1ef /system/lib/libandroid_runtime.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: #13 pc 0001eb8c /system/lib/libdvm.so (dvmPlatformInvoke+112)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #14 pc 0004f273 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #15 pc 00027fa0 /system/lib/libdvm.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: #16 pc 0002f130 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #17 pc 0002c794 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #18 pc 00061a09 /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #19 pc 00069b17 /system/lib/libdvm.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: #20 pc 00027fa0 /system/lib/libdvm.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: #21 pc 0002f130 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #22 pc 0002c794 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #23 pc 00061725 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #24 pc 0004ae3b /system/lib/libdvm.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: #25 pc 00050697 /system/lib/libandroid_runtime.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: #26 pc 0005145f /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+386)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #27 pc 0000105b /system/bin/app_process
06-07 09:01:54.664 2434-2434/? I/DEBUG: #28 pc 0000e5ef /system/lib/libc.so (__libc_init+50)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #29 pc 00000d7c /system/bin/app_process
06-07 09:01:54.664 2434-2434/? I/DEBUG: stack:
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1b0 28e0001d

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1b4 4158e69b /system/lib/libdvm.so (dvmDecodeIndirectRef(Thread*, _jobject*)+34)
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1b8 28e0001d

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1bc be85d1e4 [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1c0 28e0001d

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1c4 4157ca6d /system/lib/libdvm.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1c8 be85d2e4 [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1cc 4157cc79 /system/lib/libdvm.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1d0 00000000

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1d4 4009deb1 /system/lib/libc.so (free+12)
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1d8 400df38c

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1dc 768dd3fb /data/app-lib/com.wl.andrpeer-1/libp2p-lib.so
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1e0 be85d2d0 [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1e4 be85d2dc [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1e8 be85d2d8 [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1ec be85d2e4 [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: #00 be85d1f0 00000006

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1f4 0000000b

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1f8 00002ac5

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d1fc 00000000

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d200 00000000

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d204 400a3271 /system/lib/libc.so (pthread_kill+52)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #01 be85d208 00000006

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d20c 00000000

06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d210 7a4a9b30 [anon:libc_malloc]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d214 400a3485 /system/lib/libc.so (raise+14)
06-07 09:01:54.664 2434-2434/? I/DEBUG: #02 be85d218 be85d224 [stack]
06-07 09:01:54.664 2434-2434/? I/DEBUG: be85d21c 400a21bb /system/lib/libc.so

3个回答

这应该是so文件有问题吧

hyl999
hhy9820 是的,访问了一个空的结构体导致的,但报错误的log,看不到问题的原因
接近 2 年之前 回复

你查的是be85d1dc 768dd3fb /data/app-lib/com.wl.andrpeer-1/libp2p-lib.so这个so吗?而且用addr2line去查的话应该需要symbol文件,就是编译so时生成的symbol文件。

hyl999
hhy9820 谢谢回答,请问这个symbol文件怎么获取?
接近 2 年之前 回复

是.so 导致的,可能是c层签名函数导致的,如果你使用studio的话,可以debug native层,1.在gradle 的buildTypes {
debug {

jniDebuggable true //此句不加在真机上 debug 不受影响,但是在虚拟机上不能 debug
}
}

2.运行app的按钮下拉看到app-native,然后就可以断点到native层了
hyl999
hhy9820 好的,非常感谢,我试试看
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐