My app crashes to all Android Marshmallow arm64 devices at startup. Users previously used the app on Lollipop on the same device, but then started reporting these crashes after their devices were upgraded to Marshmallow. 32-bit devices are not affected. Accident reports are as follows:
ABI: 'arm64' pid: 3531, tid: 3531, name: ompany.myapp >>> com.mycompany.myapp <<< signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x7f796d9370 x0 0000000013087000 x1 0000007f8815da00 x2 0000000000000002 x3 0000000000000004 x4 b42e90dfe44ab496 x5 b42e90dfe44ab496 x6 0000000000000000 x7 00000000019b7af0 x8 0000000013087000 x9 0000007f87713000 x10 0000000000000601 x11 000000001308700c x12 0000000000002000 x13 0000000000002000 x14 000000006fb18428 x15 00000000013cd010 x16 0000000000000000 x17 0000000000002000 x18 0000005594f27e90 x19 0000000000000003 x20 0000000013087000 x21 0000007f75e00098 x22 00000000130d6e20 x23 0000000000000601 x24 0000000000000000 x25 0000000000000001 x26 0000000000000000 x27 0000000000000000 x28 0000000000000000 x29 00000000130d6e20 x30 0000007f796d9350 sp 0000007ff8a7bc60 pc 0000007f796d9370 pstate 0000000080000000 backtrace:
The offset 0x486000 is consistent across all reports.
Can I use this offset to debug a crash? Additional information about this application:
- Missing native code (all Java)
If I unzip the apk , the directory looks like this (the lib directory is missing)
[res] , [assets] , [META-INF] , classes.dex , resources.arsc , AndroidManifest.xml
I read about the abi affiliate tricks that some people use exclude arm64 libs from their builds, forcing the system to load 32-bit libraries, but I don't have my own libs code and directory.
I suppose there is something I can do with this bias, but I'm not sure where to start.
source share