React Native Crashes - Samsung Android 10 only - apex/com.android.runtime/lib64/bionic/libc.so abort

Viewed 1098

We've seen this crash intermittent for the past few weeks, but only on Samsung Android 10 devices. So far we have been unable to replicate this locally, nor are we seeing this log into Sentry. It only shows up in the Play Store logs for us.

For additional context:

  • Hermes is enabled
  • It appears to have started at the same time as we upgraded to react-navigation v5.
  • Happens around 1% of the time for Samsung Android 10 devices

The crashes consistently have this crash signature:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
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)
0 Answers
Related