Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

art::OatHeader::IsDebuggable() const Crash, Android 11, Google Ads SDK 19.7.0

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)
like image 694
Toni Kaufmann Avatar asked Mar 15 '21 12:03

Toni Kaufmann


1 Answers

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.

like image 111
Toni Kaufmann Avatar answered Nov 15 '22 19:11

Toni Kaufmann