Native crash reports contains offsetted addresses

Viewed 157

I have integrated Huawei Crash Service as per documentation, and I am able to see NDK crashes in web console. However, the addresses in reports are offsetted by 4, so when I want to symbolicate crash, I get wrong result.

For example, in logcat I can see

2020-12-10 15:23:51.981 5914-5914/? D/formatEventInfo: statck
    #00 pc 00c57c10 /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(std::set_unexpected(void (*)())) [arm64-v8a::]
    #01 pc 00c57d88 /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(unknow) [arm64-v8a::]
    #02 pc 00c54b54 /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(unknow) [arm64-v8a::]
    #03 pc 00c5425c /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(__cxa_get_exception_ptr) [arm64-v8a::]
    #04 pc 00c541dc /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(unknow) [arm64-v8a::]

and that addresses appear in web console, while valid logcat crash stack trace is

    --------- beginning of crash
2020-12-10 15:23:52.067 6246-6246/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
2020-12-10 15:23:52.068 871-871/? I//system/bin/tombstoned: received crash request for pid 5914
2020-12-10 15:23:52.069 6246-6246/? I/crash_dump64: performing dump of process 5914 (target tid = 5914)
2020-12-10 15:23:52.099 6246-6246/? A/DEBUG: pid: 5914, tid: 5914, name: o.a.b  >>> package-name <<<
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #01 pc 0000000000c57c0c  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #02 pc 0000000000c57d84  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #03 pc 0000000000c54b50  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #04 pc 0000000000c54258  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #05 pc 0000000000c541d8  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so (__cxa_throw+120)

Any ideas?

1 Answers

The Crash Report you got is correct. Line numbers (00c57c10, 00c57c0c, etc) do not need to be exactly matched. Because an address segment is a range, for example, your 00c57c10 and the c57c0c are may in the same address of your file. If you upload the native symbol file, you may get a readable crash report.

Here you can see an example: Obtaining an NDK Crash Report


It seems you lost your uuid because of some mistakes of your files: [arm64-v8a::];[arm64-v8a::]... They should be with uuid.

Documentation of the AppGallery Connect Crash service

Related