Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIGSEGV hermesFatalErrorHandler -- Out of Memory (OOM) #439

Closed
radko93 opened this issue Jan 3, 2021 · 16 comments
Closed

SIGSEGV hermesFatalErrorHandler -- Out of Memory (OOM) #439

radko93 opened this issue Jan 3, 2021 · 16 comments

Comments

@radko93
Copy link

radko93 commented Jan 3, 2021

Bug Description

We are getting a lot of crash reports in Google Play/Bugsnag and I'm having a hard time finding out what could be the next step. The app is crashing for almost all Android versions, not specifically at startup. This is happening with Hermes 0.4 & 0.5.1. Our app is open-source https://github.com/standardnotes/mobile. Is there anything more I could provide? Unfortunately I have not been able to reproduce this locally yet, and neither Google Play/Bugsnag provide a more extensive stack trace.

Hermes version: 0.5.1
React Native version (if any): 0.63.4
Android version (if any): all
Platform (most likely one of arm64-v8a, armeabi-v7a, x86, x86_64):

SIGSEGV Segmentation violation (invalid memory reference) 
    /data/data/com.standardnotes/lib-0/libhermes.so:176776 facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, bool)
    /data/data/com.standardnotes/lib-0/libhermes.so:1655004 0x71ac7700dc
    /data/data/com.standardnotes/lib-0/libhermes.so:1654740 0x71ac76ffd4
    /data/data/com.standardnotes/lib-0/libhermes.so:1484528 0x71ac7466f0
    /data/data/com.standardnotes/lib-0/libhermes.so:269892 0x71ac61de44
    /data/data/com.standardnotes/lib-0/libhermes.so:889856 0x71ac6b5400
    /data/data/com.standardnotes/lib-0/libhermes.so:306720 0x71ac626e20
    /data/data/com.standardnotes/lib-0/libhermes.so:298656 0x71ac624ea0
    /data/data/com.standardnotes/lib-0/libhermes.so:381220 0x71ac639124
    /data/data/com.standardnotes/lib-0/libhermes.so:374368 0x71ac637660
    /data/data/com.standardnotes/lib-0/libhermes.so:370272 0x71ac636660
    /data/data/com.standardnotes/lib-0/libhermes.so:334812 0x71ac62dbdc
    /data/data/com.standardnotes/lib-0/libhermes.so:321856 0x71ac62a940
    /data/data/com.standardnotes/lib-0/libhermes.so:785844 0x71ac69bdb4
    /data/data/com.standardnotes/lib-0/libhermes.so:257968 0x71ac61afb0
    /data/data/com.standardnotes/lib-0/libhermes.so:317940 0x71ac6299f4
    /data/data/com.standardnotes/lib-0/libhermes.so:331320 0x71ac62ce38
    /data/data/com.standardnotes/lib-0/libhermes.so:321856 0x71ac62a940
    /data/data/com.standardnotes/lib-0/libhermes.so:785844 0x71ac69bdb4
    /data/data/com.standardnotes/lib-0/libhermes.so:257968 0x71ac61afb0
    /data/data/com.standardnotes/lib-0/libhermes.so:317940 0x71ac6299f4
    /data/data/com.standardnotes/lib-0/libhermes.so:331320 0x71ac62ce38
    /data/data/com.standardnotes/lib-0/libhermes.so:321856 0x71ac62a940
    /data/data/com.standardnotes/lib-0/libhermes.so:253484 0x71ac619e2c
    /data/data/com.standardnotes/lib-0/libhermes.so:785252 0x71ac69bb64
    /data/data/com.standardnotes/lib-0/libhermes.so:257968 0x71ac61afb0
    /data/data/com.standardnotes/lib-0/libhermes.so:317940 0x71ac6299f4
    /data/data/com.standardnotes/lib-0/libhermes.so:331320 0x71ac62ce38
    /data/data/com.standardnotes/lib-0/libhermes.so:321856 0x71ac62a940
    /data/data/com.standardnotes/lib-0/libhermes.so:256784 0x71ac61ab10
    /data/data/com.standardnotes/lib-0/libhermes.so:317964 0x71ac629a0c
    /data/data/com.standardnotes/lib-0/libhermes.so:331320 0x71ac62ce38
    /data/data/com.standardnotes/lib-0/libhermes.so:321856 0x71ac62a940
    /data/data/com.standardnotes/lib-0/libhermes.so:256784 0x71ac61ab10
    /data/data/com.standardnotes/lib-0/libhermes.so:192780 facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)
    /data/data/com.standardnotes/lib-0/libhermes-executor-release.so:161796 facebook::jsi::Value facebook::jsi::Function::call<double const&, facebook::jsi::Value>(facebook::jsi::Runtime&, double const&, facebook::jsi::Value&&) const
    /data/data/com.standardnotes/lib-0/libhermes-executor-release.so:161340 facebook::react::JSIExecutor::invokeCallback(double, folly::dynamic const&)
    /data/data/com.standardnotes/lib-0/libreactnativejni.so:660340 0x71aeb22374
    /data/data/com.standardnotes/lib-0/libreactnativejni.so:664404 0x71aeb23354
    /data/data/com.standardnotes/lib-0/libreactnativejni.so:429388 0x71aeae9d4c
    /data/data/com.standardnotes/lib-0/libreactnativejni.so:367220 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*>)
    /data/data/com.standardnotes/lib-0/libreactnativejni.so:367088 
    unknown 0x3850766e45494e4a

I also tried to symbolicate it using the unstripped libraries:

********** Crash dump: **********
#00 0x000000000001f8c0 /data/data/com.standardnotes/lib-0/libhermes.so (facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, bool)+28)
                                                                        ??
                                                                        ??:0:0
#00 0x0000000000140ff4 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::enable_if<((is_trivially_move_constructible<hermes::BasicBlock*>::value) && (is_same<hermes::BasicBlock*, hermes::BasicBlock*>::value)) && ((std::__ndk1::integral_constant<bool, true>::value) || (!(__has_construct<std::__ndk1::allocator<hermes::BasicBlock*>, hermes::BasicBlock**, bool&>::value))), void>::type std::__ndk1::allocator_traits<std::__ndk1::allocator<hermes::BasicBlock*> >::__construct_range_forward<hermes::BasicBlock* const, hermes::BasicBlock*, hermes::BasicBlock*, hermes::BasicBlock*>(std::__ndk1::allocator<hermes::BasicBlock*>&, bool*, bool*, hermes::BasicBlock**&)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/memory:1668:26
std::__ndk1::enable_if<__is_forward_iterator<hermes::BasicBlock* const*>::value, void>::type std::__ndk1::vector<hermes::BasicBlock*, std::__ndk1::allocator<hermes::BasicBlock*> >::__construct_at_end<hermes::BasicBlock* const*>(hermes::BasicBlock* const*, hermes::BasicBlock* const*, unsigned long)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:1070:0
std::__ndk1::enable_if<(__is_forward_iterator<hermes::BasicBlock* const*>::value) && (is_constructible<hermes::BasicBlock*, std::__ndk1::iterator_traits<hermes::BasicBlock* const*>::reference>::value), void>::type std::__ndk1::vector<hermes::BasicBlock*, std::__ndk1::allocator<hermes::BasicBlock*> >::assign<hermes::BasicBlock* const*>(hermes::BasicBlock* const*, hermes::BasicBlock* const*)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:1455:0
#00 0x0000000000140ef4 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::enable_if<(__is_forward_iterator<hermes::BasicBlock* const*>::value) && (is_constructible<hermes::BasicBlock*, std::__ndk1::iterator_traits<hermes::BasicBlock* const*>::reference>::value), void>::type std::__ndk1::vector<hermes::BasicBlock*, std::__ndk1::allocator<hermes::BasicBlock*> >::assign<hermes::BasicBlock* const*>(hermes::BasicBlock* const*, hermes::BasicBlock* const*)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:1433:0
#00 0x000000000011dbf4 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::DenseMapBase<llvm::DenseMap<hermes::Value*, hermes::MovInst*, llvm::DenseMapInfo<hermes::Value*>, llvm::detail::DenseMapPair<hermes::Value*, hermes::MovInst*> >, hermes::Value*, hermes::MovInst*, llvm::DenseMapInfo<hermes::Value*>, llvm::detail::DenseMapPair<hermes::Value*, hermes::MovInst*> >::FindAndConstruct(hermes::Value* const&)
/home/circleci/project/external/llvh/include/llvm/ADT/DenseMap.h:0:5
#00 0x0000000000036300 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::vector<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)>, std::__ndk1::allocator<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)> > >::__swap_out_circular_buffer(std::__ndk1::__split_buffer<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)>, std::__ndk1::allocator<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)> >&>&)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:936:0
#00 0x00000000000bc9f8 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::stringPrototypeReplace(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/String.cpp:1706:72
#00 0x000000000003a864 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::jsi::Value::asSymbol(facebook::jsi::Runtime&) &&
/home/circleci/project/API/jsi/jsi/jsi.cpp:0:5
#00 0x000000000003b8b8 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__set_short_size(unsigned long)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1471:35
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::clear()
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3082:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__clear_and_shrink()
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3831:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__move_assign(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&, std::__ndk1::integral_constant<bool, true>)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2303:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::operator=(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2315:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:444:0
#00 0x000000000004d604 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::Interpreter::getArgumentsPropByValSlowPath_RJS(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*, hermes::vm::PinnedHermesValue*, hermes::vm::Handle<hermes::vm::Callable>, bool)
/home/circleci/project/lib/VM/Interpreter.cpp:213:0
#00 0x000000000004d374 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::Interpreter::createGenerator_RJS(hermes::vm::Runtime*, hermes::vm::RuntimeModule*, unsigned int, hermes::vm::Handle<hermes::vm::Environment>, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/Interpreter.cpp:159:7
#00 0x000000000004c838 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__is_long() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1427:39
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__get_pointer() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1521:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::data() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1249:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::operator[](unsigned long) const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3208:0
hermes::vm::ExternalStringPrimitive<char>::getRawPointer() const
/home/circleci/project/include/hermes/VM/StringPrimitive.h:588:0
hermes::vm::BufferedStringPrimitive<char>::getRawPointer() const
/home/circleci/project/include/hermes/VM/StringPrimitive.h:745:0
hermes::vm::StringPrimitive::castToASCIIPointer() const
/home/circleci/project/include/hermes/VM/StringPrimitive.h:994:0
hermes::vm::StringPrimitive::castToASCIIRef(unsigned int, unsigned int) const
/home/circleci/project/include/hermes/VM/StringPrimitive.h:324:0
hermes::vm::StringPrimitive::castToASCIIRef() const
/home/circleci/project/include/hermes/VM/StringPrimitive.h:332:0
hermes::vm::IdentifierTable::createNotUniquedSymbol(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::StringPrimitive>)
/home/circleci/project/lib/VM/IdentifierTable.cpp:518:0
#00 0x0000000000041fcc /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__get_pointer() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1521:17
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::data() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1249:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::c_str() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1247:0
hermes::vm::GCBase::oomDetail(std::__ndk1::error_code)
/home/circleci/project/lib/VM/GCBase.cpp:341:0
#00 0x0000000000032f24 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::hermes::HermesRuntimeImpl::JsiProxy::~JsiProxy()
/home/circleci/project/API/hermes/hermes.cpp:779:10
#00 0x00000000000a225c /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::GCScope::newHandle(hermes::vm::HermesValue)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:446:12
hermes::vm::HandleRootOwner::newHandle(hermes::vm::HermesValue)
/home/circleci/project/include/hermes/VM/HandleRootOwner-inline.h:63:0
hermes::vm::HandleBase::HandleBase(hermes::vm::HandleRootOwner*, hermes::vm::HermesValue)
/home/circleci/project/include/hermes/VM/Handle-inline.h:20:0
hermes::vm::Handle<hermes::vm::StringPrimitive>::Handle(hermes::vm::HandleRootOwner*, hermes::vm::StringPrimitive*)
/home/circleci/project/include/hermes/VM/Handle.h:308:0
hermes::vm::Handle<hermes::vm::StringPrimitive> hermes::vm::HandleRootOwner::makeHandle<hermes::vm::StringPrimitive>(hermes::vm::StringPrimitive*)
/home/circleci/project/include/hermes/VM/HandleRootOwner-inline.h:22:0
hermes::vm::Runtime::getPredefinedStringHandle(hermes::vm::Predefined::Str)
/home/circleci/project/include/hermes/VM/Runtime.h:1626:0
hermes::vm::createRangeErrorConstructor(hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/NativeErrorTypes.def:24:0
#00 0x0000000000032b24 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::StringPrimitive::create(hermes::vm::Runtime*, llvm::ArrayRef<char>)
/home/circleci/project/include/hermes/VM/StringPrimitive.h:915:12
#00 0x0000000000041e54 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::Twine::concat(llvm::Twine const&) const
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:492:9
llvm::operator+(llvm::Twine const&, llvm::Twine const&)
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:516:0
#00 0x0000000000032f24 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::hermes::HermesRuntimeImpl::JsiProxy::~JsiProxy()
/home/circleci/project/API/hermes/hermes.cpp:779:10
#00 0x00000000000a225c /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::GCScope::newHandle(hermes::vm::HermesValue)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:446:12
hermes::vm::HandleRootOwner::newHandle(hermes::vm::HermesValue)
/home/circleci/project/include/hermes/VM/HandleRootOwner-inline.h:63:0
hermes::vm::HandleBase::HandleBase(hermes::vm::HandleRootOwner*, hermes::vm::HermesValue)
/home/circleci/project/include/hermes/VM/Handle-inline.h:20:0
hermes::vm::Handle<hermes::vm::StringPrimitive>::Handle(hermes::vm::HandleRootOwner*, hermes::vm::StringPrimitive*)
/home/circleci/project/include/hermes/VM/Handle.h:308:0
hermes::vm::Handle<hermes::vm::StringPrimitive> hermes::vm::HandleRootOwner::makeHandle<hermes::vm::StringPrimitive>(hermes::vm::StringPrimitive*)
/home/circleci/project/include/hermes/VM/HandleRootOwner-inline.h:22:0
hermes::vm::Runtime::getPredefinedStringHandle(hermes::vm::Predefined::Str)
/home/circleci/project/include/hermes/VM/Runtime.h:1626:0
hermes::vm::createRangeErrorConstructor(hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/NativeErrorTypes.def:24:0
#00 0x0000000000032b24 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::StringPrimitive::create(hermes::vm::Runtime*, llvm::ArrayRef<char>)
/home/circleci/project/include/hermes/VM/StringPrimitive.h:915:12
#00 0x0000000000041e54 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::Twine::concat(llvm::Twine const&) const
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:492:9
llvm::operator+(llvm::Twine const&, llvm::Twine const&)
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:516:0
#00 0x0000000000032f24 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::hermes::HermesRuntimeImpl::JsiProxy::~JsiProxy()
/home/circleci/project/API/hermes/hermes.cpp:779:10
#00 0x0000000000031ca8 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::__murmur2_or_cityhash<unsigned long, 64ul>::operator()(void const*, unsigned long)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/utility:1203:45
#00 0x00000000000a2004 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::Runtime::getStringPrimFromSymbolID(hermes::vm::SymbolID)
/home/circleci/project/include/hermes/VM/Runtime.h:1635:27
hermes::vm::Runtime::getPredefinedString(hermes::vm::Predefined::Str)
/home/circleci/project/include/hermes/VM/Runtime.h:1616:0
hermes::vm::createEvalErrorConstructor(hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/NativeErrorTypes.def:23:0
#00 0x0000000000032b24 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::StringPrimitive::create(hermes::vm::Runtime*, llvm::ArrayRef<char>)
/home/circleci/project/include/hermes/VM/StringPrimitive.h:915:12
#00 0x0000000000041e54 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::Twine::concat(llvm::Twine const&) const
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:492:9
llvm::operator+(llvm::Twine const&, llvm::Twine const&)
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:516:0
#00 0x0000000000032f24 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::hermes::HermesRuntimeImpl::JsiProxy::~JsiProxy()
/home/circleci/project/API/hermes/hermes.cpp:779:10
#00 0x00000000000322a8 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::capacity() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:0:18
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::insert(unsigned long, char const*, unsigned long)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2595:0
#00 0x0000000000041e78 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::Twine::concat(llvm::Twine const&) const
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:494:9
llvm::operator+(llvm::Twine const&, llvm::Twine const&)
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:516:0
#00 0x0000000000032f24 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::hermes::HermesRuntimeImpl::JsiProxy::~JsiProxy()
/home/circleci/project/API/hermes/hermes.cpp:779:10
#00 0x00000000000322a8 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::capacity() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:0:18
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::insert(unsigned long, char const*, unsigned long)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2595:0
#00 0x0000000000041e78 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::Twine::concat(llvm::Twine const&) const
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:494:9
llvm::operator+(llvm::Twine const&, llvm::Twine const&)
/home/circleci/project/external/llvh/include/llvm/ADT/Twine.h:516:0
#00 0x0000000000032f24 /data/data/com.standardnotes/lib-0/libhermes.so
facebook::hermes::HermesRuntimeImpl::JsiProxy::~JsiProxy()
/home/circleci/project/API/hermes/hermes.cpp:779:10
#00 0x00000000000322a8 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::capacity() const
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:0:18
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::insert(unsigned long, char const*, unsigned long)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2595:0
#00 0x0000000000027744 /data/data/com.standardnotes/lib-0/libhermes.so (facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)+436)
                                                                        ??
                                                                        ??:0:0
#00 0x00000000000264f4 /data/data/com.standardnotes/lib-0/libhermes-executor-release.so (facebook::jsi::Value facebook::jsi::Function::call<double const&, facebook::jsi::Value>(facebook::jsi::Runtime&, double const&, facebook::jsi::Value&&) const+120)
#00 0x000000000002632c /data/data/com.standardnotes/lib-0/libhermes-executor-release.so (facebook::react::JSIExecutor::invokeCallback(double, folly::dynamic const&)+164)
#00 0x00000000000a347c /data/data/com.standardnotes/lib-0/libreactnativejni.so
#00 0x00000000000a445c /data/data/com.standardnotes/lib-0/libreactnativejni.so
#00 0x00000000000698c0 /data/data/com.standardnotes/lib-0/libreactnativejni.so
#00 0x000000000005a72c /data/data/com.standardnotes/lib-0/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 0x000000000005a6a8 /data/data/com.standardnotes/lib-0/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 0x00000000000d020c /data/app/com.standardnotes-ZkF2ht7jwKgIu-R-cmCPwQ==/oat/arm64/base.odex (offset 0xd0000) (com.bugsnag.android.ndk.NativeBridge.addHandledEvent [DEDUPED]+124)
#00 0x0000000000b252bc /system/framework/arm64/boot-framework.oat (offset 0x41f000) (android.os.Handler.dispatchMessage+76)
#00 0x0000000000171ed0 /data/app/com.standardnotes-ZkF2ht7jwKgIu-R-cmCPwQ==/oat/arm64/base.odex (offset 0xd0000) (com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage+48)
#00 0x0000000000b28420 /system/framework/arm64/boot-framework.oat (offset 0x41f000) (android.os.Looper.loop+1264)
#00 0x00000000001720e0 /data/app/com.standardnotes-ZkF2ht7jwKgIu-R-cmCPwQ==/oat/arm64/base.odex (offset 0xd0000) (com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run+288)
#00 0x000000000025e068 /system/framework/arm64/boot.oat (offset 0x115000) (java.lang.Thread.run+72)
#00 0x0000000000561f88 /system/lib64/libart.so (art_quick_invoke_stub+584)
#00 0x00000000000d0140 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
#00 0x00000000004682e0 /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#00 0x00000000004693a8 /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
#00 0x0000000000494ca0 /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
#00 0x0000000000084e00 /system/lib64/libc.so (__pthread_start(void*)+208)
#00 0x0000000000023a8c /system/lib64/libc.so (__start_thread+68)
@dulinriley
Copy link
Contributor

I think the symbolicated stack trace is not correct, specifically the following lines:

#00 0x000000000011dbf4 /data/data/com.standardnotes/lib-0/libhermes.so
llvm::DenseMapBase<llvm::DenseMap<hermes::Value*, hermes::MovInst*, llvm::DenseMapInfo<hermes::Value*>, llvm::detail::DenseMapPair<hermes::Value*, hermes::MovInst*> >, hermes::Value*, hermes::MovInst*, llvm::DenseMapInfo<hermes::Value*>, llvm::detail::DenseMapPair<hermes::Value*, hermes::MovInst*> >::FindAndConstruct(hermes::Value* const&)
/home/circleci/project/external/llvh/include/llvm/ADT/DenseMap.h:0:5
#00 0x0000000000036300 /data/data/com.standardnotes/lib-0/libhermes.so
std::__ndk1::vector<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)>, std::__ndk1::allocator<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)> > >::__swap_out_circular_buffer(std::__ndk1::__split_buffer<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)>, std::__ndk1::allocator<std::__ndk1::function<void (hermes::vm::GenGC*, hermes::vm::SlotAcceptor&)> >&>&)
/opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:936:0
#00 0x00000000000bc9f8 /data/data/com.standardnotes/lib-0/libhermes.so
hermes::vm::stringPrototypeReplace(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/String.cpp:1706:72

There's no way for stringPrototypeReplace to eventually call functions dealing with a DenseMap<Value *, MovInst *> which is in the compiler. The symbolication may have been done with mismatched versions of the unstripped libraries and the production stack trace, or there might be some issue with the symbolication

@dulinriley
Copy link
Contributor

Other than that though, the main caller of hermesFatalErrorHandler is an Out of Memory (OOM) case, where the JavaScript heap has grown too large. The fatal error should be logging out a message in logcat explaining what went wrong right before the crash happens.

Unfortunately, I just realized that there actually isn't any logging hook attached! So it'll just segfault without putting the message anywhere. I'll make a commit to fix that, and will try to pick it into RN 0.64 if possible.

Going off the assumption that this is an OOM, the way to fix this is to identify what surface your users were using before or during the crash, and find out if they are using too much memory.

The best way to identify what memory is being used is with Hermes heap snapshots and the heap timelines. You can follow the tutorial to attach a JS debugger to Hermes here: https://reactnative.dev/docs/next/hermes#debugging-js-on-hermes-using-google-chromes-devtools. Once you've done that, use the memory tab to take heap snapshots and heap timelines to see where memory is being allocated.

@radko93
Copy link
Author

radko93 commented Jan 9, 2021

  1. Do you think stack trace provided by Google Play is modified somehow from the original one? I've used the correct symbol file for Hermes.
  2. Thanks' a lot of the tip, I will try that.

@dulinriley
Copy link
Contributor

I landed a fix for the missing fatal message with facebook/react-native@291cc95 in the React Native repo.
I'll try to pick that commit into RN 0.64. After that is in, the cause of this should be more clear

@MayoudP
Copy link

MayoudP commented Jan 13, 2021

-> Using react-native 0.63, when enabling Hermes my app is also crashing only in production mode.
I'm getting also more or less the same errors, and I can't figure out how to fix it. Just posting here to potentially give more infos, and also following the thread.

Screenshot 2021-01-12 at 18 36 50

@dulinriley
Copy link
Contributor

@MayoudP it's hard to tell just based on that stack trace what the issue could be, or if it's even calling hermes_fatal. It is possible, but there's not enough information in the stack trace to know for sure. If the SIGSEGV address is 0 then it could be, but there's a lot of other possible causes of a null pointer dereference.
Is there any more information you can gather from that crash to see what could be the issue? For example what is the function being called by makeHermesRuntime?

@smacgregor
Copy link

We started seeing this also production only in our latest release this week. Our version of RN and Hermes (0.63.4) didn't change in this release 0.5.0. No changes to our RN version (0.63.4) and version of Hermes.

SIGSEGV Segmentation violation (invalid memory reference) 
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:176600 facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, bool)
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:1653932 0x7db0febcac
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:1653668 0x7db0febba4
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:1483684 0x7db0fc23a4
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:269184 0x7db0e99b80
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:889148 0x7db0f3113c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:306012 0x7db0ea2b5c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:297948 0x7db0ea0bdc
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:380512 0x7db0eb4e60
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:327488 0x7db0ea7f40
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:785136 0x7db0f17af0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:252776 0x7db0e95b68
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:784544 0x7db0f178a0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:785136 0x7db0f17af0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:251652 0x7db0e95704
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:592160 0x7db0ee8920
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:252776 0x7db0e95b68
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:784544 0x7db0f178a0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:785136 0x7db0f17af0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:785136 0x7db0f17af0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:252776 0x7db0e95b68
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:784544 0x7db0f178a0
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:257260 0x7db0e96cec
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317232 0x7db0ea5730
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:256076 0x7db0e9684c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:317256 0x7db0ea5748
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:330612 0x7db0ea8b74
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:321148 0x7db0ea667c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:256076 0x7db0e9684c
    /data/data/com.XYZ.XYZ/lib-0/libhermes.so:192188 facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)
    /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so:172856 facebook::jsi::Value facebook::jsi::Function::call<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value&&) const
    /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so:172436 0x7dbf239194
    /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so:148968 void std::__ndk1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()> >(void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>&&)
    /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so:159800 facebook::react::JSIExecutor::callFunction(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, folly::dynamic const&)
    /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so:658780 0x7dcb3bbd5c
    /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so:664404 0x7dcb3bd354
    /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so:429388 0x7dcb383d4c
    /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so:367220 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*>)
    /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so:367088 
    unknown 0x3850766e45494e4a

@dulinriley
Copy link
Contributor

Hi @smacgregor, unfortunately an unsymbolicated stack trace doesn't mean much to us, since we have no idea where in libhermes.so these things are happening. You can symbolicate by following the instructions described here: https://github.com/facebook/hermes/blob/master/doc/ReactNativeIntegration.md#reporting-native-crashes

As I mention above, the most common cause of a hermes_fatal is an Out of Memory (OOM) condition, where too much JS memory or native memory was created. This means there is either a memory leak in your code, or you need more than 512 MB of memory (Hermes's default max heap size). The latter can be configured dynamically, although we haven't made that easy to do yet, it requires a rebuild of the C++ part of React Native right now.

I recommend trying to identify any memory issues using the Chrome memory tools with Hermes as I detail in an earlier comment. Fixing those will reduce crashes and improve the performance of your app.

@smacgregor
Copy link

Thank you @dulinriley

here is the symbolicated stack trace. Will spend more time with the memory profile tools - it's a strange crash in that our users seem to only hit it one time but almost everyone is hitting it one time.

********** Crash dump: **********
pid: 0, tid: 0 >>> com.XYZ.XYZ <<<
Stack frame #00  pc 000000000002b288  /data/data/com.XYZ.XYZ/lib-0/libhermes.so (facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, bool)+28): Routine std::__ndk1::basic_ios<char, std::__ndk1::char_traits<char> >::init(std::__ndk1::basic_streambuf<char, std::__ndk1::char_traits<char> >*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/ios:694
Stack frame #00  pc 00000000001940e8  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine ??
??:0
Stack frame #00  pc 0000000000193fe0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine ??
??:0
Stack frame #00  pc 000000000016a6fc  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine GCC_except_table80 at libgcc2.c:?
Stack frame #00  pc 0000000000041e40  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::HandleBase::getHermesValue() const at /home/circleci/project/include/hermes/VM/Handle.h:238
Stack frame #00  pc 00000000000d940c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine void hermes::ESTree::ESTreeVisit<hermes::irgen::(anonymous namespace)::DeclHoisting>(hermes::irgen::(anonymous namespace)::DeclHoisting&, hermes::ESTree::Node*) at /home/circleci/project/include/hermes/AST/ESTree.h:?
Stack frame #00  pc 000000000004ae1c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::stringToNumber(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::StringPrimitive>) at /home/circleci/project/lib/VM/Operations.cpp:392
Stack frame #00  pc 0000000000048e9c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSWeakMapImpl<(hermes::vm::CellKind)41>::create(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::JSObject>) at /home/circleci/project/include/hermes/VM/GenGCNC.h:?
Stack frame #00  pc 000000000005d120  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::raw_ostream::operator<<(char const*) at /home/circleci/project/external/llvh/include/llvm/Support/raw_ostream.h:187
Stack frame #00  pc 0000000000050200  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::Runtime::markRoots(hermes::vm::RootAcceptor&, bool) at /home/circleci/project/lib/VM/Runtime.cpp:449
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 00000000000bfdc0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::BitVector::reset(unsigned int) at /home/circleci/project/external/llvh/include/llvm/ADT/BitVector.h:445
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 000000000003de28  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine PropertyDescriptor at /home/circleci/project/include/hermes/VM/PropertyDescriptor.h:168
Stack frame #00  pc 00000000000bfb70  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::SourceErrorManager::addNewSourceBuffer(std::__ndk1::unique_ptr<llvm::MemoryBuffer, std::__ndk1::default_delete<llvm::MemoryBuffer> >) at /home/circleci/project/include/hermes/Support/SourceErrorManager.h:285
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 00000000000bfdc0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::BitVector::reset(unsigned int) at /home/circleci/project/external/llvh/include/llvm/ADT/BitVector.h:445
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 000000000003d9c4  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::putNamed_RJS(hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Runtime*, hermes::vm::SymbolID, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::PropOpFlags) at /home/circleci/project/include/hermes/VM/JSObject.h:1726
Stack frame #00  pc 0000000000090bf0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::GCScope::newHandle(hermes::vm::HermesValue) at /home/circleci/project/include/hermes/VM/HandleRootOwner.h:440
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000003de28  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine PropertyDescriptor at /home/circleci/project/include/hermes/VM/PropertyDescriptor.h:168
Stack frame #00  pc 00000000000bfb70  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::SourceErrorManager::addNewSourceBuffer(std::__ndk1::unique_ptr<llvm::MemoryBuffer, std::__ndk1::default_delete<llvm::MemoryBuffer> >) at /home/circleci/project/include/hermes/Support/SourceErrorManager.h:285
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 00000000000bfdc0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::BitVector::reset(unsigned int) at /home/circleci/project/external/llvh/include/llvm/ADT/BitVector.h:445
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 00000000000bfdc0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::BitVector::reset(unsigned int) at /home/circleci/project/external/llvh/include/llvm/ADT/BitVector.h:445
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 000000000003de28  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine PropertyDescriptor at /home/circleci/project/include/hermes/VM/PropertyDescriptor.h:168
Stack frame #00  pc 00000000000bfb70  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::SourceErrorManager::addNewSourceBuffer(std::__ndk1::unique_ptr<llvm::MemoryBuffer, std::__ndk1::default_delete<llvm::MemoryBuffer> >) at /home/circleci/project/include/hermes/Support/SourceErrorManager.h:285
Stack frame #00  pc 000000000003efac  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::getHeuristicTypeName(hermes::vm::GenGC*) at /opt/android/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/stdexcept:?
Stack frame #00  pc 000000000004d9f0  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 000000000003eb0c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::checkPropertyUpdate(hermes::vm::Runtime*, hermes::vm::PropertyFlags, hermes::vm::DefinePropertyFlags, hermes::vm::HermesValue, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::PropOpFlags) at /home/circleci/project/lib/VM/JSObject.cpp:2792
Stack frame #00  pc 000000000004da08  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::isConcatSpreadable(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>) at /home/circleci/project/lib/VM/Operations.cpp:1552
Stack frame #00  pc 0000000000050e34  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine llvm::Optional<hermes::vm::MockedEnvironment>::operator=(hermes::vm::MockedEnvironment const&) at /home/circleci/project/external/llvh/include/llvm/ADT/Optional.h:164
Stack frame #00  pc 000000000004e93c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::StringPrimitive::castToUTF16Pointer() const at /home/circleci/project/include/hermes/VM/StringPrimitive.h:999
Stack frame #00  pc 000000000003eb0c  /data/data/com.XYZ.XYZ/lib-0/libhermes.so: Routine hermes::vm::JSObject::checkPropertyUpdate(hermes::vm::Runtime*, hermes::vm::PropertyFlags, hermes::vm::DefinePropertyFlags, hermes::vm::HermesValue, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::PropOpFlags) at /home/circleci/project/lib/VM/JSObject.cpp:2792
Stack frame #00  pc 000000000002f108  /data/data/com.XYZ.XYZ/lib-0/libhermes.so (facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)+444): Routine llvm::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvm::DenseMapInfo<hermes::vm::detail::Transition>, llvm::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const at /home/circleci/project/external/llvh/include/llvm/ADT/DenseMap.h:1077
Stack frame #00  pc 000000000002a334  /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so (facebook::jsi::Value facebook::jsi::Function::call<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value&&) const+240)
Stack frame #00  pc 000000000002a190  /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so
Stack frame #00  pc 00000000000245e4  /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so (void std::__ndk1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()> >(void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>&&)+116)
Stack frame #00  pc 0000000000027034  /data/data/com.XYZ.XYZ/lib-0/libhermes-executor-release.so (facebook::react::JSIExecutor::callFunction(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, folly::dynamic const&)+1156)
Stack frame #00  pc 00000000000a0d58  /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so
Stack frame #00  pc 00000000000a2350  /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so
Stack frame #00  pc 0000000000068d48  /data/data/com.XYZ.XYZ/lib-0/libreactnativejni.so
Stack frame #00  pc 0000000000059a70  /data/data/com.XYZ.XYZ/lib-0/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)
Stack frame #00  pc 00000000000599ec  /data/data/com.XYZ.XYZ/lib-0/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)
Stack frame #00  pc 00000000000c123c  /data/app/com.XYZ.XYZ-GWJdMY2ixZ1l5muyMM-LSQ==/oat/arm64/base.odex (offset 0xc0000) (com.facebook.jni.NativeRunnable.run [DEDUPED]+124)
Stack frame #00  pc 0000000000b23cac  /system/framework/arm64/boot-framework.oat (offset 0x41e000) (android.os.Handler.dispatchMessage+76)
Stack frame #00  pc 0000000000035220  /dev/ashmem/dalvik-jit-code-cache_29550_29550 (deleted)

@dulinriley
Copy link
Contributor

Unfortunately I don't think the stack trace was symbolicated correctly, in particular from this snippet:

hermes::vm::HandleBase::getHermesValue() const at /home/circleci/project/include/hermes/VM/Handle.h:238
void hermes::ESTree::ESTreeVisit<hermes::irgen::(anonymous namespace)::DeclHoisting>(hermes::irgen::(anonymous namespace)::DeclHoisting&, hermes::ESTree::Node*) at /home/circleci/project/include/hermes/AST/ESTree.h:?
hermes::vm::stringToNumber(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::StringPrimitive>) at /home/circleci/project/lib/VM/Operations.cpp:392
hermes::vm::JSWeakMapImpl<(hermes::vm::CellKind)41>::create(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::JSObject>) at /home/circleci/project/include/hermes/VM/GenGCNC.h:?
llvm::raw_ostream::operator<<(char const*) at /home/circleci/project/external/llvh/include/llvm/Support/raw_ostream.h:187
hermes::vm::Runtime::markRoots(hermes::vm::RootAcceptor&, bool) at /home/circleci/project/lib/VM/Runtime.cpp:449

markRoots calling llvm::raw_ostream::operator<< calling JSWeakMapImpl::create doesn't make any sense.
Make sure when you symbolicate you're using a matching version of Hermes with debug symbols as the one that generated the crash. They would both need to be 0.5.3 for example.

@smacgregor
Copy link

Thanks again - I believe this one is symbolicated correctly:

********** Crash dump: **********
#00 0x000000000002b288 /data/data/X.Y.Z/lib-0/libhermes.so (facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, bool)+28)
                                                                       ??
                                                                       ??:0:0
#00 0x00000000001940e8 /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jni::convertCppExceptionToJavaException(std::exception_ptr)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/Exceptions.cpp:265:3

#00 0x0000000000193fe0 /data/data/X.Y.Z/lib-0/libhermes.so
_JNIEnv::NewLocalRef(_jobject*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/jni.h:561:14
facebook::jni::LocalReferenceAllocator::newReference(_jobject*) const
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/ReferenceAllocators-inl.h:52:0
facebook::jni::base_owned_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator>::base_owned_ref(facebook::jni::base_owned_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator> const&)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/References-inl.h:225:0
facebook::jni::basic_strong_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator>::basic_strong_ref(facebook::jni::basic_strong_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator> const&)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/References.h:471:0
facebook::jni::basic_strong_ref<facebook::jni::(anonymous namespace)::JArrayIndexOutOfBoundsException, facebook::jni::LocalReferenceAllocator> facebook::jni::detail::newInstance<facebook::jni::(anonymous namespace)::JArrayIndexOutOfBoundsException, facebook::jni::basic_strong_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator> >(facebook::jni::basic_strong_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator>)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/CoreClasses-inl.h:145:0
facebook::jni::basic_strong_ref<facebook::jni::(anonymous namespace)::JArrayIndexOutOfBoundsException, facebook::jni::LocalReferenceAllocator> facebook::jni::JavaClass<facebook::jni::(anonymous namespace)::JArrayIndexOutOfBoundsException, facebook::jni::JThrowable, void>::newInstance<facebook::jni::basic_strong_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator> >(facebook::jni::basic_strong_ref<facebook::jni::JString, facebook::jni::LocalReferenceAllocator>)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/CoreClasses.h:220:0
facebook::jni::(anonymous namespace)::JArrayIndexOutOfBoundsException::create(char const*)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/Exceptions.cpp:75:0
facebook::jni::convertCppExceptionToJavaException(std::exception_ptr)
/home/circleci/project/first-party/fbjni/cxx/fbjni/detail/Exceptions.cpp:272:0

#00 0x000000000016a6fc /data/data/X.Y.Z/lib-0/libhermes.so
hermes::BacktrackingBumpPtrAllocator::Allocate(unsigned long, unsigned long)
/home/circleci/project/include/hermes/Support/Allocator.h:124:14
hermes::Context::allocateNode(unsigned long, unsigned long)
/home/circleci/project/include/hermes/AST/Context.h:385:0
hermes::ESTree::Node::operator new(unsigned long, hermes::Context&, unsigned long)
/home/circleci/project/include/hermes/AST/ESTree.h:173:0
hermes::parser::detail::JSParserImpl::parseClassElement(bool, llvh::SMRange, bool)
/home/circleci/project/lib/Parser/JSParserImpl.cpp:4115:0

#00 0x0000000000041e40 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::GeneratorInnerFunction::GeneratorInnerFunction(hermes::vm::Runtime*, hermes::vm::Domain*, hermes::vm::JSObject*, hermes::vm::HiddenClass*, hermes::vm::Handle<hermes::vm::Environment>, hermes::vm::CodeBlock*, unsigned int)
/home/circleci/project/include/hermes/VM/Callable.h:1259:9
hermes::vm::GeneratorInnerFunction::create(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::Domain>, hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Handle<hermes::vm::Environment>, hermes::vm::CodeBlock*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/Callable.cpp:1491:0

#00 0x00000000000d940c /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallVectorTemplateCommon<char16_t, void>::getFirstEl() const
/home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:89:46
llvh::SmallVectorTemplateCommon<char16_t, void>::SmallVectorTemplateCommon(unsigned long)
/home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:96:0
llvh::SmallVectorTemplateBase<char16_t, true>::SmallVectorTemplateBase(unsigned long)
/home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:269:0
llvh::SmallVectorImpl<char16_t>::SmallVectorImpl(unsigned int)
/home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:334:0
llvh::SmallVector<char16_t, 32u>::SmallVector()
/home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:849:0
hermes::vm::SmallXString<char16_t, 32u>::SmallXString()
/home/circleci/project/include/hermes/VM/SmallXString.h:29:0
hermes::vm::canonicalizePath(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::StringPrimitive>, hermes::vm::Handle<hermes::vm::StringPrimitive>)::$_0::operator()(hermes::vm::Handle<hermes::vm::StringPrimitive>, unsigned int) const
/home/circleci/project/lib/VM/JSLib/require.cpp:173:0
hermes::vm::canonicalizePath(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::StringPrimitive>, hermes::vm::Handle<hermes::vm::StringPrimitive>)
/home/circleci/project/lib/VM/JSLib/require.cpp:184:0
hermes::vm::require(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/require.cpp:212:0


#00 0x000000000004ae1c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HeapSnapshot::emitMeta()
/home/circleci/project/lib/VM/HeapSnapshot.cpp:293:20


#00 0x0000000000048e9c /data/data/X.Y.Z/lib-0/libhermes.so
llvh::DenseMapBase<llvh::DenseMap<void const*, unsigned long, llvh::DenseMapInfo<void const*>, llvh::detail::DenseMapPair<void const*, unsigned long> >, void const*, unsigned long, llvh::DenseMapInfo<void const*>, llvh::detail::DenseMapPair<void const*, unsigned long> >::operator[](void const* const&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:296:12
hermes::vm::GCBase::IDTracker::getObjectID(void const*)
/home/circleci/project/include/hermes/VM/GCBase.h:1548:0
hermes::vm::GCBase::getObjectID(void const*)
/home/circleci/project/include/hermes/VM/GCBase.h:1514:0
hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1::operator()(hermes::vm::GCCell*) const
/home/circleci/project/lib/VM/GCBase.cpp:493:0
decltype(std::__ndk1::forward<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1&>(fp)(std::__ndk1::forward<hermes::vm::GCCell*>(fp0))) std::__ndk1::__invoke<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1&, hermes::vm::GCCell*>(hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1&, hermes::vm::GCCell*&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/type_traits:3501:0
void std::__ndk1::__invoke_void_return_wrapper<void>::__call<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1&, hermes::vm::GCCell*>(hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1&, hermes::vm::GCCell*&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__functional_base:348:0
std::__ndk1::__function::__alloc_func<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1, std::__ndk1::allocator<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1>, void (hermes::vm::GCCell*)>::operator()(hermes::vm::GCCell*&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/functional:1540:0
std::__ndk1::__function::__func<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1, std::__ndk1::allocator<hermes::vm::GCBase::createSnapshot(hermes::vm::GenGC*, llvh::raw_ostream&)::$_1>, void (hermes::vm::GCCell*)>::operator()(hermes::vm::GCCell*&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/functional:1714:0


#00 0x000000000005d120 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::TwineChar16::concat(hermes::vm::TwineChar16 const&) const
/home/circleci/project/include/hermes/VM/TwineChar16.h:419:7
hermes::vm::operator+(hermes::vm::TwineChar16 const&, hermes::vm::TwineChar16 const&)
/home/circleci/project/include/hermes/VM/TwineChar16.h:435:0
hermes::vm::JSArray::setLength(hermes::vm::Handle<hermes::vm::JSArray>, hermes::vm::Runtime*, unsigned int, hermes::vm::PropOpFlags)
/home/circleci/project/lib/VM/JSArray.cpp:753:0


#00 0x0000000000050200 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::DictPropertyMap::find(hermes::vm::DictPropertyMap const*, hermes::vm::SymbolID)
/home/circleci/project/include/hermes/VM/DictPropertyMap.h:590:16
hermes::vm::HiddenClass::makeAllReadOnly(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime*)::$_1::operator()(hermes::vm::SymbolID, hermes::vm::NamedPropertyDescriptor) const
/home/circleci/project/lib/VM/HiddenClass.cpp:801:0
void hermes::vm::DictPropertyMap::forEachProperty<hermes::vm::HiddenClass::makeAllReadOnly(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime*)::$_1>(hermes::vm::Handle<hermes::vm::DictPropertyMap>, hermes::vm::Runtime*, hermes::vm::HiddenClass::makeAllReadOnly(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime*)::$_1 const&)
/home/circleci/project/include/hermes/VM/DictPropertyMap.h:506:0
hermes::vm::HiddenClass::makeAllReadOnly(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime*)
/home/circleci/project/lib/VM/HiddenClass.cpp:782:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x000000000003d9c4 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__set_short_size(unsigned long)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1464:35
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::clear()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3071:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__clear_and_shrink()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3820:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__move_assign(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&, std::__ndk1::integral_constant<bool, true>)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2292:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::operator=(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2304:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:423:0



#00 0x0000000000090bf0 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::enable_if<(is_move_constructible<hermes::vm::Domain**>::value) && (is_move_assignable<hermes::vm::Domain**>::value), void>::type std::__ndk1::swap<hermes::vm::Domain**>(hermes::vm::Domain**&, hermes::vm::Domain**&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/type_traits:3671:11
std::__ndk1::vector<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*> >::__swap_out_circular_buffer(std::__ndk1::__split_buffer<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*>&>&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:953:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x00000000000bfdc0 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::GCScope::createMarker() const
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:365:26
hermes::vm::GCScopeMarkerRAII::GCScopeMarkerRAII(hermes::vm::HandleRootOwner*)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:483:0
hermes::vm::objectFromEntries(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:951:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x000000000003d9c4 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__set_short_size(unsigned long)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1464:35
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::clear()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3071:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__clear_and_shrink()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3820:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__move_assign(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&, std::__ndk1::integral_constant<bool, true>)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2292:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::operator=(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2304:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:423:0


#00 0x0000000000090bf0 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::enable_if<(is_move_constructible<hermes::vm::Domain**>::value) && (is_move_assignable<hermes::vm::Domain**>::value), void>::type std::__ndk1::swap<hermes::vm::Domain**>(hermes::vm::Domain**&, hermes::vm::Domain**&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/type_traits:3671:11
std::__ndk1::vector<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*> >::__swap_out_circular_buffer(std::__ndk1::__split_buffer<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*>&>&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:953:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000003de28 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::append(char const*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2571:12
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > std::__ndk1::operator+<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&, char const*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:4141:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:427:0


#00 0x00000000000bfb70 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::NativeArgs::getArgHandle(unsigned int) const
/home/circleci/project/include/hermes/VM/NativeArgs.h:114:20
hermes::vm::objectGetOwnPropertySymbols(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:492:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x000000000003d9c4 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__set_short_size(unsigned long)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1464:35
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::clear()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3071:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__clear_and_shrink()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3820:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__move_assign(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&, std::__ndk1::integral_constant<bool, true>)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2292:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::operator=(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2304:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:423:0


#00 0x0000000000090bf0 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::enable_if<(is_move_constructible<hermes::vm::Domain**>::value) && (is_move_assignable<hermes::vm::Domain**>::value), void>::type std::__ndk1::swap<hermes::vm::Domain**>(hermes::vm::Domain**&, hermes::vm::Domain**&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/type_traits:3671:11
std::__ndk1::vector<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*> >::__swap_out_circular_buffer(std::__ndk1::__split_buffer<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*>&>&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:953:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x00000000000bfdc0 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::GCScope::createMarker() const
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:365:26
hermes::vm::GCScopeMarkerRAII::GCScopeMarkerRAII(hermes::vm::HandleRootOwner*)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:483:0
hermes::vm::objectFromEntries(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:951:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x00000000000bfdc0 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::GCScope::createMarker() const
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:365:26
hermes::vm::GCScopeMarkerRAII::GCScopeMarkerRAII(hermes::vm::HandleRootOwner*)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:483:0
hermes::vm::objectFromEntries(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:951:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x000000000003d9c4 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__set_short_size(unsigned long)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:1464:35
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::clear()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3071:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__clear_and_shrink()
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:3820:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::__move_assign(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&, std::__ndk1::integral_constant<bool, true>)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2292:0
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::operator=(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2304:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:423:0


#00 0x0000000000090bf0 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::enable_if<(is_move_constructible<hermes::vm::Domain**>::value) && (is_move_assignable<hermes::vm::Domain**>::value), void>::type std::__ndk1::swap<hermes::vm::Domain**>(hermes::vm::Domain**&, hermes::vm::Domain**&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/type_traits:3671:11
std::__ndk1::vector<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*> >::__swap_out_circular_buffer(std::__ndk1::__split_buffer<hermes::vm::Domain*, std::__ndk1::allocator<hermes::vm::Domain*>&>&)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/vector:953:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000003de28 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::append(char const*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2571:12
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > std::__ndk1::operator+<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&, char const*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:4141:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:427:0


#00 0x00000000000bfb70 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::NativeArgs::getArgHandle(unsigned int) const
/home/circleci/project/include/hermes/VM/NativeArgs.h:114:20
hermes::vm::objectGetOwnPropertySymbols(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:492:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x00000000000bfdc0 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::GCScope::createMarker() const
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:365:26
hermes::vm::GCScopeMarkerRAII::GCScopeMarkerRAII(hermes::vm::HandleRootOwner*)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:483:0
hermes::vm::objectFromEntries(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:951:0


#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0
#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42
#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0
#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12
#00 0x00000000000bfdc0 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::GCScope::createMarker() const
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:365:26
hermes::vm::GCScopeMarkerRAII::GCScopeMarkerRAII(hermes::vm::HandleRootOwner*)
/home/circleci/project/include/hermes/VM/HandleRootOwner.h:483:0
hermes::vm::objectFromEntries(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:951:0
#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0
#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42
#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0
#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12
#00 0x000000000003de28 /data/data/X.Y.Z/lib-0/libhermes.so
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >::append(char const*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:2571:12
std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > std::__ndk1::operator+<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&&, char const*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/string:4141:0
facebook::jsi::JSError::setValue(facebook::jsi::Runtime&, facebook::jsi::Value&&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:427:0
#00 0x00000000000bfb70 /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::NativeArgs::getArgHandle(unsigned int) const
/home/circleci/project/include/hermes/VM/NativeArgs.h:114:20
hermes::vm::objectGetOwnPropertySymbols(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Object.cpp:492:0
#00 0x000000000003efac /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
void facebook::jsi::Object::setProperty<facebook::jsi::String>(facebook::jsi::Runtime&, char const*, facebook::jsi::String&&)
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:110:0


#00 0x000000000004d9f0 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/include/hermes/VM/StackTracesTree-NoRuntime.h:0:42


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x000000000003eb0c /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
facebook::jsi::Object::getProperty(facebook::jsi::Runtime&, char const*) const
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:83:0
facebook::jsi::(anonymous namespace)::callGlobalFunction(facebook::jsi::Runtime&, char const*, facebook::jsi::Value const&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:45:0


#00 0x000000000004da08 /data/data/X.Y.Z/lib-0/libhermes.so
bool llvh::DenseMapBase<llvh::DenseMap<hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >, hermes::vm::StackTracesTreeNode::SourceLoc, llvh::detail::DenseSetEmpty, hermes::vm::StackTracesTreeNode::SourceLocMapInfo, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> >::LookupBucketFor<hermes::vm::StackTracesTreeNode::SourceLoc>(hermes::vm::StackTracesTreeNode::SourceLoc const&, llvh::detail::DenseSetPair<hermes::vm::StackTracesTreeNode::SourceLoc> const*&) const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:0:0


#00 0x0000000000050e34 /data/data/X.Y.Z/lib-0/libhermes.so
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets() const
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1077:12
llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:1082:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBuckets()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:486:0
llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::getBucketsEnd()
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:494:0
std::__ndk1::pair<llvh::DenseMapIterator<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> >, false>, bool> llvh::DenseMapBase<llvh::SmallDenseMap<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, 8u, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >, hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass>, llvh::DenseMapInfo<hermes::vm::detail::Transition>, llvh::detail::DenseMapPair<hermes::vm::detail::Transition, hermes::vm::WeakRef<hermes::vm::HiddenClass> > >::try_emplace<hermes::vm::WeakRef<hermes::vm::HiddenClass> >(hermes::vm::detail::Transition const&, hermes::vm::WeakRef<hermes::vm::HiddenClass>&&)
/home/circleci/project/external/llvh/include/llvh/ADT/DenseMap.h:235:0


#00 0x000000000004e93c /data/data/X.Y.Z/lib-0/libhermes.so
hermes::vm::HiddenClass::_snapshotNameImpl(hermes::vm::GCCell*, hermes::vm::GenGC*)
/opt/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/new:0:12


#00 0x000000000003eb0c /data/data/X.Y.Z/lib-0/libhermes.so
facebook::jsi::Pointer::~Pointer()
/home/circleci/project/API/jsi/jsi/../jsi/jsi.h:337:13
facebook::jsi::Object::getProperty(facebook::jsi::Runtime&, char const*) const
/home/circleci/project/API/jsi/jsi/../jsi/jsi-inl.h:83:0
facebook::jsi::(anonymous namespace)::callGlobalFunction(facebook::jsi::Runtime&, char const*, facebook::jsi::Value const&)
/home/circleci/project/API/jsi/jsi/jsi.cpp:45:0


#00 0x000000000002f108 /data/data/X.Y.Z/lib-0/libhermes.so (facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)+444)
                                                                       llvh::SmallVectorBase::SmallVectorBase(void*, unsigned long)
                                                                       /home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:42:12
                                                                       llvh::SmallVectorTemplateCommon<char16_t, void>::SmallVectorTemplateCommon(unsigned long)
                                                                       /home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:96:0
                                                                       llvh::SmallVectorTemplateBase<char16_t, true>::SmallVectorTemplateBase(unsigned long)
                                                                       /home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:269:0
                                                                       llvh::SmallVectorImpl<char16_t>::SmallVectorImpl(unsigned int)
                                                                       /home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:334:0
                                                                       llvh::SmallVector<char16_t, 32u>::SmallVector()
                                                                       /home/circleci/project/external/llvh/include/llvh/ADT/SmallVector.h:849:0
                                                                       hermes::vm::SmallXString<char16_t, 32u>::SmallXString()
                                                                       /home/circleci/project/include/hermes/VM/SmallXString.h:29:0
                                                                       facebook::hermes::(anonymous namespace)::toStdString(hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::StringPrimitive>)
                                                                       /home/circleci/project/API/hermes/hermes.cpp:1492:0


#00 0x000000000002a334 /data/data/X.Y.Z/lib-0/libhermes-executor-release.so (facebook::jsi::Value facebook::jsi::Function::call<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value&&) const+240)


#00 0x000000000002a190 /data/data/X.Y.Z/lib-0/libhermes-executor-release.so
#00 0x00000000000245e4 /data/data/X.Y.Z/lib-0/libhermes-executor-release.so (void std::__ndk1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()> >(void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>&&)+116)

#00 0x0000000000027034 /data/data/X.Y.Z/lib-0/libhermes-executor-release.so (facebook::react::JSIExecutor::callFunction(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, folly::dynamic const&)+1156)

#00 0x00000000000a0d58 /data/data/X.Y.Z/lib-0/libreactnativejni.so
#00 0x00000000000a2350 /data/data/X.Y.Z/lib-0/libreactnativejni.so
#00 0x0000000000068d48 /data/data/X.Y.Z/lib-0/libreactnativejni.so

#00 0x0000000000059a70 /data/data/X.Y.Z/lib-0/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 0x00000000000599ec /data/data/X.Y.Z/lib-0/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 0x00000000000c123c /data/app/X.Y.Z-By8duKiOwAYMPhbAv3NspA==/oat/arm64/base.odex (offset 0xc0000) (com.facebook.jni.NativeRunnable.run [DEDUPED]+124)

#00 0x0000000000b2686c /system/framework/arm64/boot-framework.oat (offset 0x420000) (android.os.Handler.dispatchMessage+76)
#00 0x0000000000068f20 /dev/ashmem/dalvik-jit-code-cache_5680_5680 (deleted)

@dulinriley
Copy link
Contributor

Unfortunately @smacgregor I think that's still an incorrect stack trace. In several places it shows jsi::Pointer::~Pointer calling stuff from HeapSnapshot, which isn't possible.
Let's make sure we're doing everything right, can you provide:

  • RN version (of the app with a crash)
  • Hermes version (of the app with a crash)
  • Version of Hermes unstripped libraries you downloaded
  • Exact commands you ran to do the symbolication
  • Any output that symbolication had such as warnings or errors (other than the stack, which is quite large)

With all that I might be able to see what's going wrong

@smacgregor
Copy link

Thanks again for your help @dulinriley. I think the problem with the bad symbolication came from our app using a version of the NDK (r15) which couldn't symbolicate arm64.

RN 0.63.4
Hermes: 0.5.2-rc1
Hermes unstripped libraries: hermes-runtime-android-v0.5.2-rc1.tar.gz

Running this again using ndk-trace from the latest version of the ndk:

./ndk-stack -sym ~/Downloads/t/unstripped-release/0/lib/arm64-v8a < ~/Desktop/unsymbolicated_crash.txt

Output

********** Crash dump: **********
#00 0x000000000002b288 /data/data/com.X.Y/lib-0/libhermes.so (facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, bool)+28)
                                                              facebook::hermes::detail::hermesFatalErrorHandler(void*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, bool)
                                                              /home/circleci/project/API/hermes/hermes.cpp:144:32
#00 0x00000000001940e8 /data/data/com.X.Y/lib-0/libhermes.so
llvm::report_fatal_error(llvm::Twine const&, bool)
/home/circleci/project/external/llvh/lib/Support/ErrorHandling.cpp:108:5
#00 0x0000000000193fe0 /data/data/com.X.Y/lib-0/libhermes.so
llvm::report_fatal_error(char const*, bool)
/home/circleci/project/external/llvh/lib/Support/ErrorHandling.cpp:83:3
#00 0x000000000016a6fc /data/data/com.X.Y/lib-0/libhermes.so
hermes::hermes_fatal(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)
/home/circleci/project/lib/Support/ErrorHandling.cpp:61:3
#00 0x0000000000041e40 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::GCBase::oom(std::__ndk1::error_code)
/home/circleci/project/lib/VM/GCBase.cpp:327:3
#00 0x00000000000d940c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::OldGen::fullCollectThenAlloc(unsigned int, hermes::vm::HasFinalizer)
/home/circleci/project/lib/VM/gcs/OldGenNC.cpp:629:8
#00 0x000000000004ae1c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::OldGen::alloc(unsigned int, hermes::vm::HasFinalizer)
/home/circleci/project/include/hermes/VM/OldGenNC.h:488:10
void* hermes::vm::GenGC::allocLongLivedImpl<(hermes::vm::HasFinalizer)1>(unsigned int)
/home/circleci/project/include/hermes/VM/GenGCNC.h:1022:0
#00 0x0000000000048e9c /data/data/com.X.Y/lib-0/libhermes.so
void* hermes::vm::GenGC::allocLongLived<(hermes::vm::HasFinalizer)1>(unsigned int)
/home/circleci/project/include/hermes/VM/GenGCNC.h:991:14
void* hermes::vm::Runtime::allocLongLived<(hermes::vm::HasFinalizer)1>(unsigned int)
/home/circleci/project/include/hermes/VM/Runtime.h:1581:0
hermes::vm::HiddenClass::create(hermes::vm::Runtime*, hermes::vm::ClassFlags, hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::SymbolID, hermes::vm::PropertyFlags, unsigned int)
/home/circleci/project/lib/VM/HiddenClass.cpp:256:0
hermes::vm::HiddenClass::addProperty(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime*, hermes::vm::SymbolID, hermes::vm::PropertyFlags)
/home/circleci/project/lib/VM/HiddenClass.cpp:551:0
#00 0x000000000005d120 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::JSObject::addOwnPropertyImpl(hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Runtime*, hermes::vm::SymbolID, hermes::vm::PropertyFlags, hermes::vm::Handle<hermes::vm::HermesValue>)
/home/circleci/project/lib/VM/JSObject.cpp:2676:20
#00 0x0000000000050200 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:3228:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x00000000000bfdc0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::functionPrototypeCall(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:234:0
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x000000000003de28 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::Callable::executeCall(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::JSObject>)
/home/circleci/project/lib/VM/Callable.cpp:378:0
#00 0x00000000000bfb70 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::functionPrototypeApply(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:211:10
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x00000000000bfdc0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::functionPrototypeCall(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:234:0
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x000000000003d9c4 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::Callable::executeCall3(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::HermesValue, hermes::vm::HermesValue, hermes::vm::HermesValue, bool)
/home/circleci/project/lib/VM/Callable.cpp:312:0
#00 0x0000000000090bf0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::arrayPrototypeForEach(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Array.cpp:1282:11
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000003de28 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::Callable::executeCall(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::JSObject>)
/home/circleci/project/lib/VM/Callable.cpp:378:0
#00 0x00000000000bfb70 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::functionPrototypeApply(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:211:10
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x00000000000bfdc0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::functionPrototypeCall(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:234:0
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x00000000000bfdc0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::functionPrototypeCall(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:234:0
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x000000000003de28 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::Callable::executeCall(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::JSObject>)
/home/circleci/project/lib/VM/Callable.cpp:378:0
#00 0x00000000000bfb70 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::functionPrototypeApply(void*, hermes::vm::Runtime*, hermes::vm::NativeArgs)
/home/circleci/project/lib/VM/JSLib/Function.cpp:211:10
#00 0x000000000003efac /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:534:9
#00 0x000000000004d9f0 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:321:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x000000000003eb0c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::BoundFunction::_boundCall(hermes::vm::BoundFunction*, hermes::inst::Inst const*, hermes::vm::Runtime*)
/home/circleci/project/lib/VM/Callable.cpp:846:0
#00 0x000000000004da08 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime*, hermes::vm::PinnedHermesValue*)
/home/circleci/project/lib/VM/Interpreter.cpp:325:12
#00 0x0000000000050e34 /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false>(hermes::vm::Runtime*, hermes::vm::InterpreterState&)
/home/circleci/project/lib/VM/Interpreter.cpp:1676:7
#00 0x000000000004e93c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*)
/home/circleci/project/lib/VM/Interpreter.cpp:862:10
#00 0x000000000003eb0c /data/data/com.X.Y/lib-0/libhermes.so
hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
/home/circleci/project/include/hermes/VM/Callable.h:270:12
hermes::vm::BoundFunction::_boundCall(hermes::vm::BoundFunction*, hermes::inst::Inst const*, hermes::vm::Runtime*)
/home/circleci/project/lib/VM/Callable.cpp:846:0
#00 0x000000000002f108 /data/data/com.X.Y/lib-0/libhermes.so (facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)+444)
                                                              hermes::vm::Callable::call(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime*)
                                                              /home/circleci/project/include/hermes/VM/Callable.h:270:12
                                                              facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)::$_21::operator()() const
                                                              /home/circleci/project/API/hermes/hermes.cpp:1851:0
                                                              decltype(fp()) (anonymous namespace)::maybeRethrow<facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)::$_21>(facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)::$_21 const&)
                                                              /home/circleci/project/API/hermes/hermes.cpp:111:0
                                                              facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)
                                                              /home/circleci/project/API/hermes/hermes.cpp:1823:0
#00 0x000000000002a334 /data/data/com.X.Y/lib-0/libhermes-executor-release.so (facebook::jsi::Value facebook::jsi::Function::call<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, facebook::jsi::Value&&) const+240)
#00 0x000000000002a190 /data/data/com.X.Y/lib-0/libhermes-executor-release.so
#00 0x00000000000245e4 /data/data/com.X.Y/lib-0/libhermes-executor-release.so (void std::__ndk1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()> >(void (*&)(std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>), std::__ndk1::function<void ()> const&, std::__ndk1::function<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > ()>&&)+116)
#00 0x0000000000027034 /data/data/com.X.Y/lib-0/libhermes-executor-release.so (facebook::react::JSIExecutor::callFunction(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, folly::dynamic const&)+1156)
#00 0x00000000000a0d58 /data/data/com.X.Y/lib-0/libreactnativejni.so
#00 0x00000000000a2350 /data/data/com.X.Y/lib-0/libreactnativejni.so
#00 0x0000000000068d48 /data/data/com.X.Y/lib-0/libreactnativejni.so
#00 0x0000000000059a70 /data/data/com.X.Y/lib-0/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 0x00000000000599ec /data/data/com.X.Y/lib-0/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 0x00000000000c123c /data/app/com.X.Y-k9M8Kava8PGj6ZU7tkDlrA==/oat/arm64/base.odex (offset 0xc0000) (com.facebook.jni.NativeRunnable.run [DEDUPED]+124)
#00 0x0000000000b1fd0c /system/framework/arm64/boot-framework.oat (offset 0x422000) (android.os.Handler.dispatchMessage+76)
#00 0x0000000000062780 /dev/ashmem/dalvik-jit-code-cache_26394_26394 (deleted)

@dulinriley
Copy link
Contributor

Thanks @smacgregor that stack trace now looks right. At frame 5 we can see GCBase::oom is being called. This is the out of memory error I mention above. There can be many causes of this, and the best way to fix this is to find surfaces in your app that are allocating a lot of memory, and use snapshots and the heap timeline profiler to see what's allocating them and retaining them.

@dulinriley
Copy link
Contributor

This is the issue and comment where I'm trying to pick in the improved crash message:
react-native-community/releases#214 (comment)

@smacgregor
Copy link

smacgregor commented Feb 4, 2021

Thank you - we were able to track down the offending code change that was triggering this OOM. I'm anxious to see your fix for improving the crash message go out - I think that will help us spot the culprit faster if it happens again in the future.

@dulinriley dulinriley changed the title SIGSEGV hermesFatalErrorHandler SIGSEGV hermesFatalErrorHandler -- Out of Memory (OOM) Feb 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants