I get this crash on many Android 11 Devices. Target SKD is 29 with build tools 29.0.2.
Anybody else have this problem? What can we do instead of waiting for a new sdk release. I lost a few thousand users because of this crash.
Facebook had a similar problem but fix it with 6.2.1 see this thread: Facebook Audience 6.2.0 /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124) on Android 11
#00 pc 00000000004be3ec /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+64)
#00 pc 00000000004bea98 /apex/com.android.art/lib64/libart.so (art::OatFileBase::ShouldUnquickenVDex() const+56)
#00 pc 00000000004bec38 /apex/com.android.art/lib64/libart.so (art::OatFileBase::LoadVdex(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+80)
#00 pc 00000000004c30ec /apex/com.android.art/lib64/libart.so (art::OatFile::Open(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, art::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const>, art::MemMap*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+472)
#00 pc 00000000004c9bc8 /apex/com.android.art/lib64/libart.so (art::OatFileAssistant::OatFileInfo::GetFile()+696)
#00 pc 00000000004c8dc4 /apex/com.android.art/lib64/libart.so (art::OatFileAssistant::OatFileInfo::Status()+76)
#00 pc 00000000004c92b0 /apex/com.android.art/lib64/libart.so (art::OatFileAssistant::OatFileInfo::ReleaseFileForUse()+56)
#00 pc 00000000004ce798 /apex/com.android.art/lib64/libart.so (art::OatFileManager::OpenDexFilesFromOat(char const*, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*)+292)
#00 pc 0000000000485ae0 /apex/com.android.art/lib64/libart.so (art::DexFile_openDexFileNative(_JNIEnv*, _jclass*, _jstring*, _jstring*, int, _jobject*, _jobjectArray*)+144)
#00 pc 0000000000010a88 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (art_jni_trampoline+264)
#00 pc 000000000001f744 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexFile.openDexFile+244)
#00 pc 0000000000021560 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexPathList.makeDexElements+784)
#00 pc 0000000000020d38 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexPathList.<init>+664)
#00 pc 000000000001d934 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.BaseDexClassLoader.<init>+228)
#00 pc 0000000000058630 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexClassLoader.<init>+80)
#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 000000000030c218 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376)
#00 pc 0000000000307330 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+884)
#00 pc 000000000063d560 /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+592)
#00 pc 000000000012e914 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20)
#00 pc 00000000001764a6 /data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-AdsFdrDynamite.integ_204890103100000.apk (qb.c+118)
#00 pc 000000000063d79c /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1164)
#00 pc 000000000012e914 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20)
#00 pc 00000000001765f8 /data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-AdsFdrDynamite.integ_204890103100000.apk (qb.a+8)
#00 pc 000000000063b274 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1440)
#00 pc 000000000012e814 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20)
#00 pc 0000000000094d8a /data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-AdsFdrDynamite.integ_204890103100000.apk (ec.c+26)
#00 pc 000000000063b274 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1440)
#00 pc 000000000012e814 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20)
#00 pc 00000000000949fe /data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-AdsFdrDynamite.integ_204890103100000.apk (ec.a+70)
#00 pc 00000000002fed0c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.5884005180817902658)+268)
#00 pc 00000000003069d4 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200)
#00 pc 0000000000307314 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+856)
#00 pc 000000000063ddc0 /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+548)
#00 pc 000000000012e994 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20)
#00 pc 00000000000be4fe /data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-AdsFdrDynamite.integ_204890103100000.apk (com.google.android.gms.ads.internal.i.run+162)
#00 pc 00000000002fed0c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.5884005180817902658)+268)
#00 pc 00000000006299e8 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+796)
#00 pc 000000000013dff8 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88)
#00 pc 00000000002a2ae8 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+984)
#00 pc 000000000029fce0 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
#00 pc 000000000015cdf8 /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 00000000005320fc /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 00000000005332fc /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+440)
#00 pc 000000000058081c /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1272)
#00 pc 00000000000b6374 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
#00 pc 0000000000050fa4 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
It's nothing we can do for now except removing google ads for android 11 devices or suggest our users to clear play services cache & data.
Answer from google:
This is a bug at the Android platform level. Details:
Bug - https://issuetracker.google.com/issues/182081085#comment5 Source patch - https://android-review.googlesource.com/c/platform/art/+/1642063/
Unfortunately, as described in the bug link above, this doesn't help devices that are upgrading to Android 11, and clearing cache is the workaround.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With