facebook / hermes

A JavaScript engine optimized for running React Native.
https://hermesengine.dev/
MIT License
9.92k stars 642 forks source link

When I use Hermes to run my project, I face a crash online about JSONLexer.cpp function scanNumber() #1526

Open hopestar90 opened 1 month ago

hopestar90 commented 1 month ago
  1. The Hermes version is based on rn/0.71-stable
  2. the crash is like this: SIGABRT: Abort program: Error: Find abort message failure SIGSEGV: Segmentation violation (invalid memory reference)

    /Users/victor.chi/github_hermes_workspace/hermes/lib/VM/JSLib/JSONLexer.cpp:98 | hermes::vm::JSONLexer::scanNumber() /Users/victor.chi/github_hermes_workspace/hermes/include/hermes/VM/HandleRootOwner.h:461 | hermes::vm::GCScope::newPinnedHermesValue(hermes::vm::HermesValue) /Users/victor.chi/github_hermes_workspace/shopee-hermes/include/hermes/VM/SmallHermesValue-inline.h:37 | hermes::vm::HermesValue32::unboxToHV(hermes::vm::PointerBase&) const /Users/victor.chi/Library/Android/sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/deque:323 | std::ndk1::deque_iterator<llvh::StringMap<hermes::vm::MockedEnvironment::StatsTableValue, llvh::MallocAllocator>, llvh::StringMap<hermes::vm::MockedEnvironment::StatsTableValue, llvh::MallocAllocator>*, llvh::StringMap<hermes::vm::MockedEnvironment::StatsTableValue, llvh::MallocAllocator>&, llvh::StringMap<hermes::vm::MockedEnvironment::StatsTableValue, llvh::MallocAllocator>**, int, 170>::operator++() /Users/victor.chi/github_hermes_workspace/hermes/include/hermes/VM/HandleRootOwner.h:307 | GCScope /Users/victor.chi/github_hermes_workspace/hermes/API/hermes/hermes.cpp:771 | facebook::hermes::HermesRuntimeImpl::JsiProxy::get(hermes::vm::SymbolID) /Users/victor.chi/github_hermes_workspace/hermes/API/hermes/hermes.cpp:795 | facebook::hermes::HermesRuntimeImpl::JsiProxy::get(hermes::vm::SymbolID) /data/app/~~ownmaPykvO0cICHrwMqdDg==/com.xxxx.id-aOeqDDsay4zY5N-7Ue8MHw==/split_config.armeabi_v7a.apk!libhermes.so:46 | ?? /Users/chengyu.zhou/Documents/WorkSpace/ReactNativeAndroid/ReactNative/ReactAndroid/src/main/java/com/facebook/react/../hermes/reactexecutor/../../../../../../../../ReactCommon/jsi/jsi/decorator.h:264 | facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::createArray(unsigned int) /Users/chengyu.zhou/Documents/WorkSpace/ReactNativeAndroid/ReactNative/ReactAndroid/../ReactCommon/jsi/jsi/jsi.h:720 | Array /Users/chengyu.zhou/Documents/WorkSpace/ReactNativeAndroid/ReactNative/ReactAndroid/../ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp:235 | operator() /Users/chengyu.zhou/Library/Android/sdk/ndk/19.2.5345600/sources/cxx-stl/llvm-libc++/include/type_traits:4350 | _ZNSt6ndk18invokeIRPFvRKNS_8functionIFvvEEENS1_IFNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEvEEEEJS5_SD_EEEDTclclsr3std6ndk1E7forwardIT_Efp_Espclsr3std6ndk1E7forwardIT0_Efp0_EEEOSHDpOSI /Users/chengyu.zhou/Library/Android/sdk/ndk/19.2.5345600/sources/cxx-stl/llvm-libc++/include/functional:1923 | std::ndk1::function<void (std::ndk1::function<void ()> const&, std::ndk1::function<std::ndk1::basic_string<char, std::ndk1::char_traits, std::ndk1::allocator > ()>)>::operator()(std::ndk1::function<void ()> const&, std::ndk1::function<std::ndk1::basic_string<char, std::ndk1::char_traits, std::__ndk1::allocator > ()>) const

from my side :

1 These android devices typically have smaller memory (usually 2-3GB)

tmikov commented 1 month ago

Thanks for reporting this. Unfortunately this issue is based on an old version of Hermes and we’re only able to support the latest version. Please try reproducing this issue with the most recent build.

Additionally, the stack trace provided is not symbolicated correctly. We have information about how to symbolicate crashes here: https://github.com/facebook/hermes/blob/main/doc/ReactNativeIntegration.md#reporting-native-crashes