ivanarh / libunwind-ndk

Patched libunwind from Android sources (https://android.googlesource.com/platform/external/libunwind/) to build with standard NDK toolchain (android-15).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cant unwind valid native stack info with libunwind

frannnnnk opened this issue · comments

Hello, I hava a problem now when using libunwind collecting native crashes. I receive some reported native stack like this which can't help me find the real problem, do you have some suggestions?
The stack shows that the system api malloc called another method in my another shared library, i cant understand this, how could it happen. thank you.

java.lang.Throwable: jni-crash
Build fingerprint: 'HUAWEI/NXT-AL10/HWNXT:7.0/HUAWEINXT-AL10/C00B592:user/release-keys'
Revision: '0'
Author: collect by 'libunwind'
ABI: 'arm64-v8a'
pid: 21467, tid: 21828, name: IntentService[A >>> com.qiyi.tao <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffffc

backtrace:
r0 ce57571c r1 fffffffc r2 00000003 r3 c752a3fe
r4 ce575798 r5 caf2d1d0 r6 00000001 r7 00000014
r8 fffff6b0 r9 fffff668 sl fffff6b0 fp caf2d1d0
ip 00000031 sp ce5756b0 lr c7c78db7 pc c7e10250 cpsr 800e0030
#00 pc 00224250 /data/app/com.qiyi.tao-2/lib/arm/libhce.so
#1 pc 00045ffc [anon:libc_malloc]

I suspect stack was broken, this may happen if a memory access error leads to stack overwriting.

Anyway, i'm confused by this:

ABI: 'arm64-v8a'

But all addresses in your report are 32-bit.