React Native Crashes - 仅限三星 Android 10 - apex/com.android.runtime/lib64/bionic/libc.so abort

And*_*ler 6 android react-native react-native-android react-navigation

在过去的几周里,我们看到这种崩溃是间歇性的,但仅限于三星 Android 10 设备。到目前为止,我们无法在本地复制此内容,也未在 Sentry 中看到此日志。它只显示在我们的 Play 商店日志中。

对于其他上下文:

  • 爱马仕已启用
  • 它似乎是在我们升级到 react-navigation v5 的同时开始的。
  • 三星 Android 10 设备的发生率约为 1%

崩溃始终具有以下崩溃特征:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.gemini.android.app <<<

backtrace:
  #00  pc 0000000000083360  /apex/com.android.runtime/lib64/bionic/libc.so (abort+176)
  #00  pc 00000000000b8124  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libc++_shared.so
  #00  pc 00000000000b43d4  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libc++_shared.so (__gxx_personality_v0+364)
  #00  pc 000000000003d3b4  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes-executor-release.so
  #00  pc 000000000003d8bc  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes-executor-release.so (_Unwind_Resume+116)
  #00  pc 0000000000029b9c  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes-executor-release.so (facebook::react::JSIExecutor::NativeModuleProxy::get(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&)+472)
  #00  pc 0000000000032ff0  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so (facebook::hermes::HermesRuntimeImpl::JsiProxy::get(hermes::vm::SymbolID)+196)
  #00  pc 0000000000059854  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so
  #00  pc 0000000000051c4c  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so
  #00  pc 000000000004e93c  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so
  #00  pc 0000000000076a64  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so
  #00  pc 000000000002ca78  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so (facebook::hermes::HermesRuntimeImpl::evaluatePreparedJavaScript(std::__ndk1::shared_ptr<facebook::jsi::PreparedJavaScript const> const&)+228)
  #00  pc 000000000002cbd8  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes.so (facebook::hermes::HermesRuntimeImpl::evaluateJavaScript(std::__ndk1::shared_ptr<facebook::jsi::Buffer const> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&)+88)
  #00  pc 0000000000025fe4  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libhermes-executor-release.so (facebook::react::JSIExecutor::loadBundle(std::__ndk1::unique_ptr<facebook::react::JSBigString const, std::__ndk1::default_delete<facebook::react::JSBigString const>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>)+564)
  #00  pc 00000000000a0958  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libreactnativejni.so
  #00  pc 00000000000a2350  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libreactnativejni.so
  #00  pc 0000000000068d48  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libreactnativejni.so
  #00  pc 0000000000059a70  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libreactnativejni.so (facebook::jni::detail::MethodWrapper<void (facebook::react::JNativeRunnable::*)(), &(facebook::react::JNativeRunnable::run()), facebook::react::JNativeRunnable, void>::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::JNativeRunnable, facebook::react::Runnable>::JavaPart, facebook::react::Runnable, void>::_javaobject*>)+32)
  #00  pc 00000000000599ec  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/lib/arm64/libreactnativejni.so (facebook::jni::detail::FunctionWrapper<void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::JNativeRunnable, facebook::react::Runnable>::JavaPart, facebook::react::Runnable, void>::_javaobject*>), &(facebook::jni::detail::MethodWrapper<void (facebook::react::JNativeRunnable::*)(), &(facebook::react::JNativeRunnable::run()), facebook::react::JNativeRunnable, void>::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::JNativeRunnable, facebook::react::Runnable>::JavaPart, facebook::react::Runnable, void>::_javaobject*>)), facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<facebook::react::JNativeRunnable, facebook::react::Runnable>::JavaPart, facebook::react::Runnable, void>::_javaobject*, void>::call(_JNIEnv*, _jobject*)+52)
  #00  pc 000000000007814c  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/oat/arm64/base.odex (art_jni_trampoline+124)
  #00  pc 00000000007f6b1c  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+76)
  #00  pc 0000000000137334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
  #00  pc 00000000001460ac  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
  #00  pc 00000000002e2cb0  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
  #00  pc 00000000002ddd3c  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+900)
  #00  pc 00000000005a2a1c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeSuper+1532)
  #00  pc 0000000000131894  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_super+20)
  #00  pc 00000000003b236c  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/oat/arm64/base.vdex (com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage)
  #00  pc 00000000002b35e0  /apex/com.android.runtime/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.2296921443599613903)+240)
  #00  pc 0000000000593210  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1024)
  #00  pc 0000000000140468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
  #00  pc 00000000007fa1f8  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+1448)
  #00  pc 00000000001375b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
  #00  pc 00000000001460cc  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276)
  #00  pc 00000000002e2cb0  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
  #00  pc 00000000002ddd3c  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+900)
  #00  pc 00000000005a4918  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368)
  #00  pc 0000000000131994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
  #00  pc 00000000003b24fa  /data/app/com.gemini.android.app-mYfcCgG7U4jkbpiQr4EEtA==/oat/arm64/base.vdex (com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run+74)
  #00  pc 00000000002b35e0  /apex/com.android.runtime/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.2296921443599613903)+240)
  #00  pc 0000000000593210  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1024)
  #00  pc 0000000000140468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
  #00  pc 00000000001b6818  /system/framework/arm64/boot.oat (java.lang.Thread.run+72)
  #00  pc 0000000000137334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
  #00  pc 00000000001460ac  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
  #00  pc 00000000004b1d90  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
  #00  pc 00000000004b2e40  /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+416)
  #00  pc 00000000004f39f0  /apex/com.android.runtime/lib64/libart.so (art::Thread::CreateCallback(void*)+1176)
  #00  pc 00000000000e3b24  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
  #00  pc 0000000000085330  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
Run Code Online (Sandbox Code Playgroud)