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

Я получаю этот сбой на многих устройствах Android 11. Целевой SKD — 29 с инструментами сборки 29.0.2.

У кого-нибудь еще есть эта проблема? Что мы можем сделать вместо того, чтобы ждать нового выпуска SDK. Я потерял несколько тысяч пользователей из-за этого сбоя.

У Facebook была похожая проблема, но исправьте ее с помощью 6.2.1, см. эту ветку: Facebook Audience 6.2.0 /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124) на 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)

person Toni Kaufmann    schedule 15.03.2021    source источник
comment
Я обновляюсь до 19.8.0, но сбой все еще там   -  person Toni Kaufmann    schedule 18.03.2021
comment
Вот обсуждение этой проблемы в группах Google: groups.google.com/g/google-admob-ads-sdk/c/tyXU1DW0wNc?pli=1   -  person Toni Kaufmann    schedule 22.03.2021
comment
И очистка данных и кеша игровых сервисов, похоже, решает проблему для затронутых пользователей.   -  person Toni Kaufmann    schedule 22.03.2021


Ответы (1)


На данный момент мы ничего не можем сделать, кроме как удалить рекламу Google для устройств Android 11 или предложить нашим пользователям очистить кеш и данные игровых сервисов.

Ответ от гугла:

Это ошибка на уровне платформы Android. Подробности:

Ошибка – https://issuetracker.google.com/issues/182081085#comment5 Источник патч – https://android-review.googlesource.com/c/platform/art/+/1642063/

К сожалению, как описано в приведенной выше ссылке на ошибку, это не помогает устройствам, которые обновляются до Android 11, и обходным путем является очистка кеша.

person Toni Kaufmann    schedule 23.03.2021