It happens approximately with 5% of our users. We are not able to reproduce it. All we have is stack traces from Crashlytics and Play Console. We use Android SDK Premium v3.18. Crash follows us starting version v3.14. Here are all details that we have:
00 pc 000000000004ef24 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
00 pc 0000000000042b00 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8)
00 pc 000000000004318c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32)
00 pc 0000000000043294 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderRace(void*)+60)
00 pc 0000000000048428 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::quarantineOrDeallocateChunk(void, scudo::Chunk::UnpackedHeader, unsigned long)+692)
00 pc 0000000000044dbc /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::reallocate(void*, unsigned long, unsigned long)+316)
00 pc 0000000000044c1c /apex/com.android.runtime/lib64/bionic/libc.so (scudo_realloc+36)
00 pc 000000000003bf14 /apex/com.android.runtime/lib64/bionic/libc.so (realloc+84)
00 pc 00000000011eafc0 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 00000000011eaf44 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000ff3834 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000ff4198 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000d3aecc /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 00000000000158f4 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000)
00 pc 000000000001557c /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000)
00 pc 0000000000016280 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000) (Java_com_here_network_NetworkProtocol_dataCallback+92)
00 pc 00000000002bd350 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (art_jni_trampoline+176)
00 pc 00000000006279a4 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol.access$700+52)
00 pc 00000000006261bc /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+5372)
00 pc 0000000000624c64 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+84)
00 pc 000000000074d228 /system/framework/arm64/boot-framework.oat (android.os.AsyncTask$3.call+168)
00 pc 0000000000243688 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.FutureTask.run+200)
00 pc 00000000002a2d38 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+984)
00 pc 000000000029ff30 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
00 pc 000000000015ced8 /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72)
00 pc 0000000000134564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
00 pc 000000000058088c /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1272)
00 pc 00000000000b6234 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
00 pc 0000000000050e64 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)`
The part that could be interesting here:
`#00 pc 00000000006279a4 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol.access$700+52)
00 pc 00000000006261bc /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+5372)
00 pc 0000000000624c64 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+84)`
00 pc 000000000004ef24 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
00 pc 00000000000790f4 /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+124)
00 pc 00000000000b1910 /apex/com.android.runtime/lib64/bionic/libc.so (fwrite+296)
00 pc 00000000011eb92c /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000ff3834 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000ff4198 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000d3aecc /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 00000000000158f4 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000)
00 pc 000000000001557c /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000)
00 pc 0000000000016280 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000) (Java_com_here_network_NetworkProtocol_dataCallback+92)
00 pc 00000000002fb350 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/oat/arm64/base.odex (art_jni_trampoline+176)
00 pc 00000000005658a4 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/oat/arm64/base.odex (com.here.network.NetworkProtocol.access$700+52)
00 pc 00000000005640fc /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+5372)
00 pc 0000000000562ba4 /data/app/~~4h3BfPSRaT-8reXXUFIBrg==/com.truckersreport.hammer-HJc72P5yq5SyoNNyY_mMBg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+84)
00 pc 000000000074d228 /system/framework/arm64/boot-framework.oat (android.os.AsyncTask$3.call+168)
00 pc 0000000000243688 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.FutureTask.run+200)
00 pc 00000000002a2d38 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+984)
00 pc 000000000029ff30 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
00 pc 000000000015ced8 /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72)
00 pc 0000000000134564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
It happens approximately with 5% of our users. We are not able to reproduce it. All we have is stack traces from Crashlytics and Play Console. We use Android SDK Premium v3.18. Crash follows us starting version v3.14. Here are all details that we have:
` pid: 0, tid: 0 >>> com.truckersreport.hammer <<<
backtrace:
00 pc 000000000004ef24 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
00 pc 0000000000042b00 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8)
00 pc 000000000004318c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32)
00 pc 0000000000043294 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderRace(void*)+60)
00 pc 0000000000048428 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::quarantineOrDeallocateChunk(void, scudo::Chunk::UnpackedHeader, unsigned long)+692)
00 pc 0000000000044dbc /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::reallocate(void*, unsigned long, unsigned long)+316)
00 pc 0000000000044c1c /apex/com.android.runtime/lib64/bionic/libc.so (scudo_realloc+36)
00 pc 000000000003bf14 /apex/com.android.runtime/lib64/bionic/libc.so (realloc+84)
00 pc 00000000011eafc0 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 00000000011eaf44 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000ff3834 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000ff4198 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 0000000000d3aecc /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libMAPSJNI.so (offset 0x8c7000)
00 pc 00000000000158f4 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000)
00 pc 000000000001557c /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000)
00 pc 0000000000016280 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libos-adaptation.network.so (offset 0x2d89000) (Java_com_here_network_NetworkProtocol_dataCallback+92)
00 pc 00000000002bd350 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (art_jni_trampoline+176)
00 pc 00000000006279a4 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol.access$700+52)
00 pc 00000000006261bc /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+5372)
00 pc 0000000000624c64 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+84)
00 pc 000000000074d228 /system/framework/arm64/boot-framework.oat (android.os.AsyncTask$3.call+168)
00 pc 0000000000243688 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.FutureTask.run+200)
00 pc 00000000002a2d38 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+984)
00 pc 000000000029ff30 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
00 pc 000000000015ced8 /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72)
00 pc 0000000000134564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
00 pc 0000000000198e94 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread, unsigned int, unsigned int, art::JValue, char const)+204)
00 pc 000000000053216c /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod, art::(anonymous namespace)::ArgArray, art::JValue, char const)+104)
00 pc 000000000053336c /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject, art::ArtMethod, jvalue const)+440)
00 pc 000000000058088c /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1272)
00 pc 00000000000b6234 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
00 pc 0000000000050e64 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)`
The part that could be interesting here:
`#00 pc 00000000006279a4 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol.access$700+52)
00 pc 00000000006261bc /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+5372)
00 pc 0000000000624c64 /data/app/~~gN0JexiCxCeIf55dfMwkAg==/com.truckersreport.hammer-GNz6y3q_zBONjqheR624Mg==/oat/arm64/base.odex (com.here.network.NetworkProtocol$GetTask.doInBackground+84)`