hermes: Possible memory leak

Bug Description

The iOS react-native application suddenly crashes when the user are consuming it. Not sure which it’s the cause. When those crashes occurs, i can deal because happens usually it’s a community, or invalid js call, which i can backtrace it using the stacktrace(somehow the problematic module is always on the stacktrace.), but in this case can’t see which module caused it leaving me no choice but search help here since the crash happened on hermes engine.

Having a random issue using the 0.73 version of react-native. Hermes enabled and new arch disabled.

  • [x ] Since it just happens on iOS as usual i always clean the project and then run pod install to install the latest deps.

Hermes version: Not sure which version, the 0.73 react-native bundled hermes version. React Native: 0.73 OS: 17.1 Platform: arm64-v8a, armeabi-v7a

Also here is my react-native-info:

info Fetching system and libraries information...
System:
  OS: macOS 14.0
  CPU: (24) x64 Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz
  Memory: 54.28 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.9.0
    path: /usr/local/bin/node
  Yarn:
    version: 1.22.19
    path: /usr/local/bin/yarn
  npm:
    version: 10.1.0
    path: /usr/local/bin/npm
  Watchman:
    version: 2023.11.27.00
    path: /usr/local/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: /usr/local/opt/ruby/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - watchOS 10.2
  Android SDK: Not Found
IDEs:
  Android Studio: 2023.1 AI-231.9392.1.2311.11076708
  Xcode:
    version: 15.1/15C65
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.21
    path: /usr/bin/javac
  Ruby:
    version: 3.2.2
    path: /usr/local/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.0
    wanted: "0.73"
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Full stacktrace:

OS Version: iOS 17.1 (23B92)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: SEGV_NOOP at 0x000000003e806ff0
Crashed Thread: 3

Application Specific Information:
natural >
KERN_INVALID_ADDRESS at 0x3e806ff0.

Thread 3 Crashed:
0   hermes                          0x10591bc94         hermes::vm::HadesGC::MarkWeakRootsAcceptor::acceptWeak
1   hermes                          0x105918188         hermes::vm::GCBase::markWeakRoots
2   hermes                          0x105917370         hermes::vm::HadesGC::completeMarking
3   hermes                          0x105916714         hermes::vm::HadesGC::incrementalCollect
4   hermes                          0x105919630         hermes::vm::HadesGC::yieldToOldGen
5   hermes                          0x1059164e4         hermes::vm::HadesGC::youngGenCollection
6   hermes                          0x105918c24         hermes::vm::HadesGC::allocSlow
7   hermes                          0x1058c4818         hermes::vm::GCBase::makeAVariable<T>
8   hermes                          0x1058c340c         hermes::vm::StringBuilder::createStringBuilder
9   hermes                          0x1058c3250         hermes::vm::StringPrimitive::concat
10  hermes                          0x1058a729c         hermes::vm::addOp_RJS
11  hermes                          0x105881284         hermes::vm::Interpreter::interpretFunction<T>
12  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
13  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
14  hermes                          0x10586ff84         hermes::vm::BoundFunction::_boundCall
15  hermes                          0x10587ce14         hermes::vm::Interpreter::handleCallSlowPath
16  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
17  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
18  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
19  hermes                          0x10586f060         hermes::vm::Callable::executeCall3
20  hermes                          0x10589dc48         hermes::vm::JSMapImpl<T>::forEach
21  hermes                          0x1058ef45c         hermes::vm::mapPrototypeForEach
22  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
23  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
24  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
25  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
26  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
27  hermes                          0x10586f5a0         hermes::vm::Callable::executeCall
28  hermes                          0x105902774         hermes::vm::functionPrototypeApply
29  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
30  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
31  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
32  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
33  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
34  hermes                          0x10586f5a0         hermes::vm::Callable::executeCall
35  hermes                          0x105902774         hermes::vm::functionPrototypeApply
36  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
37  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
38  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
39  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
40  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
41  hermes                          0x10586f5a0         hermes::vm::Callable::executeCall
42  hermes                          0x105902774         hermes::vm::functionPrototypeApply
43  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
44  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
45  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
46  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
47  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
48  hermes                          0x10586ff84         hermes::vm::BoundFunction::_boundCall
49  hermes                          0x10585ad6c         facebook::hermes::HermesRuntimeImpl::call
50  fitcheckpersonal                0x204951f5c         [inlined] facebook::jsi::RuntimeDecorator<T>::call (decorator.h:340)
51  fitcheckpersonal                0x204951f5c         facebook::jsi::WithRuntimeDecorator<T>::call (decorator.h:753)
52  fitcheckpersonal                0x204959864         [inlined] facebook::jsi::Function::call (jsi-inl.h:259)
53  fitcheckpersonal                0x204959864         [inlined] facebook::jsi::Function::call (jsi-inl.h:264)
54  fitcheckpersonal                0x204959864         facebook::jsi::Function::call<T> (jsi-inl.h:272)
55  fitcheckpersonal                0x2049596d0         [inlined] facebook::react::JSIExecutor::callFunction::lambda::operator() (JSIExecutor.cpp:258)
56  fitcheckpersonal                0x2049596d0         [inlined] std::__1::__invoke[abi:v160006]<T> (invoke.h:394)
57  fitcheckpersonal                0x2049596d0         [inlined] std::__1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
58  fitcheckpersonal                0x2049596d0         [inlined] std::__1::__function::__alloc_func<T>::operator()[abi:v160006] (function.h:185)
59  fitcheckpersonal                0x2049596d0         std::__1::__function::__func<T>::operator() (function.h:356)
60  fitcheckpersonal                0x204787234         [inlined] std::__1::__invoke[abi:v160006]<T> (invoke.h:394)
61  fitcheckpersonal                0x204787234         std::__1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
62  fitcheckpersonal                0x2049569fc         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
63  fitcheckpersonal                0x2049569fc         [inlined] std::__1::function<T>::operator() (function.h:1156)
64  fitcheckpersonal                0x2049569fc         facebook::react::JSIExecutor::callFunction (JSIExecutor.cpp:256)
65  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
66  fitcheckpersonal                0x20494b02c         [inlined] std::__1::function<T>::operator() (function.h:1156)
67  fitcheckpersonal                0x20494b02c         [inlined] facebook::react::NativeToJsBridge::runOnExecutorQueue::lambda::operator() (NativeToJsBridge.cpp:308)
68  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__invoke[abi:v160006]<T> (invoke.h:394)
69  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
70  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__function::__alloc_func<T>::operator()[abi:v160006] (function.h:185)
71  fitcheckpersonal                0x20494b02c         std::__1::__function::__func<T>::operator() (function.h:356)
72  fitcheckpersonal                0x20478a56c         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
73  fitcheckpersonal                0x20478a56c         [inlined] std::__1::function<T>::operator() (function.h:1156)
74  fitcheckpersonal                0x20478a56c         facebook::react::tryAndReturnError (RCTCxxUtils.mm:73)
75  fitcheckpersonal                0x204795ef0         facebook::react::RCTMessageThread::tryFunc (RCTMessageThread.mm:68)
76  fitcheckpersonal                0x204795cfc         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
77  fitcheckpersonal                0x204795cfc         [inlined] std::__1::function<T>::operator() (function.h:1156)
78  fitcheckpersonal                0x204795cfc         facebook::react::RCTMessageThread::runAsync (RCTMessageThread.mm:44)
79  CoreFoundation                  0x30cfcd890         __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__
80  CoreFoundation                  0x30cfcd7a4         __CFRunLoopDoBlocks
81  CoreFoundation                  0x30cfccc38         __CFRunLoopRun
82  CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
83  fitcheckpersonal                0x20477fa7c         +[RCTCxxBridge runRunLoop] (RCTCxxBridge.mm:332)
84  Foundation                      0x30f1f7ff0         __NSThread__start__
85  libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 0
0   libsystem_kernel.dylib          0x30ce0f8b4         mach_msg2_trap
1   libsystem_kernel.dylib          0x30ce21d2c         mach_msg2_internal
2   libsystem_kernel.dylib          0x30ce184ec         mach_msg_overwrite
3   libsystem_kernel.dylib          0x30ce0fc34         mach_msg
4   CoreFoundation                  0x30cfcdea0         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x30cfcc768         __CFRunLoopRun
6   CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
7   HIToolbox                       0x321b10444         RunCurrentEventLoopInMode
8   HIToolbox                       0x321b10280         ReceiveNextEventCommon
9   HIToolbox                       0x321b0ffd8         _BlockUntilNextEventMatchingListInModeWithFilter
10  AppKit                          0x313fc3c50         _DPSNextEvent
11  AppKit                          0x314799eb8         -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]
12  AppKit                          0x313fb70fc         -[NSApplication run]
13  AppKit                          0x313f8e3c8         NSApplicationMain
14  AppKit                          0x3141e123c         _NSApplicationMainWithInfoDictionary
15  UIKitMacHelper                  0x33e7a2d88         UINSApplicationMain
16  UIKitCore                       0x369ac3938         UIApplicationMain
17  fitcheckpersonal                0x204690034         main (main.m:8)
18  <unknown>                       0x18c6dd0e0         <redacted>

Thread 1 name: com.apple.uikit.eventfetch-thread
0   libsystem_kernel.dylib          0x30ce0f8b4         mach_msg2_trap
1   libsystem_kernel.dylib          0x30ce21d2c         mach_msg2_internal
2   libsystem_kernel.dylib          0x30ce184ec         mach_msg_overwrite
3   libsystem_kernel.dylib          0x30ce0fc34         mach_msg
4   CoreFoundation                  0x30cfcdea0         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x30cfcc768         __CFRunLoopRun
6   CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
7   Foundation                      0x30f1fea74         -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
8   Foundation                      0x30f2733ec         -[NSRunLoop(NSRunLoop) runUntilDate:]
9   UIKitCore                       0x369ac4d04         -[UIEventFetcher threadMain]
10  Foundation                      0x30f1f7ff0         __NSThread__start__
11  libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 2 name: com.apple.NSEventThread
0   libsystem_kernel.dylib          0x30ce0f8b4         mach_msg2_trap
1   libsystem_kernel.dylib          0x30ce21d2c         mach_msg2_internal
2   libsystem_kernel.dylib          0x30ce184ec         mach_msg_overwrite
3   libsystem_kernel.dylib          0x30ce0fc34         mach_msg
4   CoreFoundation                  0x30cfcdea0         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x30cfcc768         __CFRunLoopRun
6   CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
7   AppKit                          0x3140ed400         _NSEventThread
8   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 3 name: com.facebook.react.JavaScript Crashed:
0   hermes                          0x10591bc94         hermes::vm::HadesGC::MarkWeakRootsAcceptor::acceptWeak
1   hermes                          0x105918188         hermes::vm::GCBase::markWeakRoots
2   hermes                          0x105917370         hermes::vm::HadesGC::completeMarking
3   hermes                          0x105916714         hermes::vm::HadesGC::incrementalCollect
4   hermes                          0x105919630         hermes::vm::HadesGC::yieldToOldGen
5   hermes                          0x1059164e4         hermes::vm::HadesGC::youngGenCollection
6   hermes                          0x105918c24         hermes::vm::HadesGC::allocSlow
7   hermes                          0x1058c4818         hermes::vm::GCBase::makeAVariable<T>
8   hermes                          0x1058c340c         hermes::vm::StringBuilder::createStringBuilder
9   hermes                          0x1058c3250         hermes::vm::StringPrimitive::concat
10  hermes                          0x1058a729c         hermes::vm::addOp_RJS
11  hermes                          0x105881284         hermes::vm::Interpreter::interpretFunction<T>
12  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
13  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
14  hermes                          0x10586ff84         hermes::vm::BoundFunction::_boundCall
15  hermes                          0x10587ce14         hermes::vm::Interpreter::handleCallSlowPath
16  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
17  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
18  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
19  hermes                          0x10586f060         hermes::vm::Callable::executeCall3
20  hermes                          0x10589dc48         hermes::vm::JSMapImpl<T>::forEach
21  hermes                          0x1058ef45c         hermes::vm::mapPrototypeForEach
22  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
23  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
24  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
25  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
26  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
27  hermes                          0x10586f5a0         hermes::vm::Callable::executeCall
28  hermes                          0x105902774         hermes::vm::functionPrototypeApply
29  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
30  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
31  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
32  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
33  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
34  hermes                          0x10586f5a0         hermes::vm::Callable::executeCall
35  hermes                          0x105902774         hermes::vm::functionPrototypeApply
36  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
37  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
38  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
39  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
40  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
41  hermes                          0x10586f5a0         hermes::vm::Callable::executeCall
42  hermes                          0x105902774         hermes::vm::functionPrototypeApply
43  hermes                          0x10587029c         hermes::vm::NativeFunction::_nativeCall
44  hermes                          0x10587ce04         hermes::vm::Interpreter::handleCallSlowPath
45  hermes                          0x10587e60c         hermes::vm::Interpreter::interpretFunction<T>
46  hermes                          0x10587ddfc         hermes::vm::Runtime::interpretFunctionImpl
47  hermes                          0x105870394         hermes::vm::JSFunction::_callImpl
48  hermes                          0x10586ff84         hermes::vm::BoundFunction::_boundCall
49  hermes                          0x10585ad6c         facebook::hermes::HermesRuntimeImpl::call
50  fitcheckpersonal                0x204951f5c         [inlined] facebook::jsi::RuntimeDecorator<T>::call (decorator.h:340)
51  fitcheckpersonal                0x204951f5c         facebook::jsi::WithRuntimeDecorator<T>::call (decorator.h:753)
52  fitcheckpersonal                0x204959864         [inlined] facebook::jsi::Function::call (jsi-inl.h:259)
53  fitcheckpersonal                0x204959864         [inlined] facebook::jsi::Function::call (jsi-inl.h:264)
54  fitcheckpersonal                0x204959864         facebook::jsi::Function::call<T> (jsi-inl.h:272)
55  fitcheckpersonal                0x2049596d0         [inlined] facebook::react::JSIExecutor::callFunction::lambda::operator() (JSIExecutor.cpp:258)
56  fitcheckpersonal                0x2049596d0         [inlined] std::__1::__invoke[abi:v160006]<T> (invoke.h:394)
57  fitcheckpersonal                0x2049596d0         [inlined] std::__1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
58  fitcheckpersonal                0x2049596d0         [inlined] std::__1::__function::__alloc_func<T>::operator()[abi:v160006] (function.h:185)
59  fitcheckpersonal                0x2049596d0         std::__1::__function::__func<T>::operator() (function.h:356)
60  fitcheckpersonal                0x204787234         [inlined] std::__1::__invoke[abi:v160006]<T> (invoke.h:394)
61  fitcheckpersonal                0x204787234         std::__1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
62  fitcheckpersonal                0x2049569fc         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
63  fitcheckpersonal                0x2049569fc         [inlined] std::__1::function<T>::operator() (function.h:1156)
64  fitcheckpersonal                0x2049569fc         facebook::react::JSIExecutor::callFunction (JSIExecutor.cpp:256)
65  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
66  fitcheckpersonal                0x20494b02c         [inlined] std::__1::function<T>::operator() (function.h:1156)
67  fitcheckpersonal                0x20494b02c         [inlined] facebook::react::NativeToJsBridge::runOnExecutorQueue::lambda::operator() (NativeToJsBridge.cpp:308)
68  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__invoke[abi:v160006]<T> (invoke.h:394)
69  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
70  fitcheckpersonal                0x20494b02c         [inlined] std::__1::__function::__alloc_func<T>::operator()[abi:v160006] (function.h:185)
71  fitcheckpersonal                0x20494b02c         std::__1::__function::__func<T>::operator() (function.h:356)
72  fitcheckpersonal                0x20478a56c         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
73  fitcheckpersonal                0x20478a56c         [inlined] std::__1::function<T>::operator() (function.h:1156)
74  fitcheckpersonal                0x20478a56c         facebook::react::tryAndReturnError (RCTCxxUtils.mm:73)
75  fitcheckpersonal                0x204795ef0         facebook::react::RCTMessageThread::tryFunc (RCTMessageThread.mm:68)
76  fitcheckpersonal                0x204795cfc         [inlined] std::__1::__function::__value_func<T>::operator()[abi:v160006] (function.h:510)
77  fitcheckpersonal                0x204795cfc         [inlined] std::__1::function<T>::operator() (function.h:1156)
78  fitcheckpersonal                0x204795cfc         facebook::react::RCTMessageThread::runAsync (RCTMessageThread.mm:44)
79  CoreFoundation                  0x30cfcd890         __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__
80  CoreFoundation                  0x30cfcd7a4         __CFRunLoopDoBlocks
81  CoreFoundation                  0x30cfccc38         __CFRunLoopRun
82  CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
83  fitcheckpersonal                0x20477fa7c         +[RCTCxxBridge runRunLoop] (RCTCxxBridge.mm:332)
84  Foundation                      0x30f1f7ff0         __NSThread__start__
85  libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 4 name: hades
0   libsystem_kernel.dylib          0x30ce130ac         __psynch_cvwait
1   libsystem_pthread.dylib         0x30ce8b5f8         _pthread_cond_wait
2   libc++.1.dylib                  0x30ccd54d8         std::__1::condition_variable::wait
3   hermes                          0x10591c104         hermes::vm::HadesGC::Executor::worker
4   hermes                          0x10591bfa4         std::__1::__thread_proxy[abi:v15006]<T>
5   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 5 name: com.apple.CoreMotion.MotionThread
0   libsystem_kernel.dylib          0x30ce0f8b4         mach_msg2_trap
1   libsystem_kernel.dylib          0x30ce21d2c         mach_msg2_internal
2   libsystem_kernel.dylib          0x30ce184ec         mach_msg_overwrite
3   libsystem_kernel.dylib          0x30ce0fc34         mach_msg
4   CoreFoundation                  0x30cfcdea0         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x30cfcc768         __CFRunLoopRun
6   CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
7   CoreFoundation                  0x30d049990         CFRunLoopRun
8   CoreMotion                      0x354239278         CLClientCreateIso6709Notation
9   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 6 name: caulk.messenger.shared:17
0   libsystem_kernel.dylib          0x30ce0f830         semaphore_wait_trap
1   caulk                           0x32153868c         caulk::semaphore::timed_wait
2   caulk                           0x321538540         caulk::concurrent::details::worker_thread::run
3   caulk                           0x321538240         caulk::thread_proxy<T>
4   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 7 name: caulk.messenger.shared:high
0   libsystem_kernel.dylib          0x30ce0f830         semaphore_wait_trap
1   caulk                           0x32153868c         caulk::semaphore::timed_wait
2   caulk                           0x321538540         caulk::concurrent::details::worker_thread::run
3   caulk                           0x321538240         caulk::thread_proxy<T>
4   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 8
0   libsystem_kernel.dylib          0x30ce12ea8         __semwait_signal
1   libsystem_c.dylib               0x30cbd12f4         nanosleep
2   libsystem_c.dylib               0x30cbda0b8         sleep
3   fitcheckpersonal                0x204985e94         monitorCachedData (SentryCrashCachedData.c:145)
4   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 9 name: SentryCrash Exception Handler (Secondary)
0   libsystem_kernel.dylib          0x30ce0f8b4         mach_msg2_trap
1   libsystem_kernel.dylib          0x30ce21d2c         mach_msg2_internal
2   libsystem_kernel.dylib          0x30ce184ec         mach_msg_overwrite
3   libsystem_kernel.dylib          0x30ce0fc34         mach_msg
4   fitcheckpersonal                0x204991bdc         handleExceptions (SentryCrashMonitor_MachException.c:314)
5   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 11 name: io.sentry.app-hang-tracker
0   libsystem_kernel.dylib          0x30ce12ea8         __semwait_signal
1   libsystem_c.dylib               0x30cbd12f4         nanosleep
2   Foundation                      0x30f2763a0         +[NSThread sleepForTimeInterval:]
3   fitcheckpersonal                0x204975520         -[SentryANRTracker detectANRs] (SentryANRTracker.m:105)
4   Foundation                      0x30f1f7ff0         __NSThread__start__
5   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 12 name: caulk::deferred_logger
0   libsystem_kernel.dylib          0x30ce0f830         semaphore_wait_trap
1   caulk                           0x32153868c         caulk::semaphore::timed_wait
2   caulk                           0x321538540         caulk::concurrent::details::worker_thread::run
3   caulk                           0x321538240         caulk::thread_proxy<T>
4   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 13 name: hades
0   libsystem_kernel.dylib          0x30ce130ac         __psynch_cvwait
1   libsystem_pthread.dylib         0x30ce8b5f8         _pthread_cond_wait
2   libc++.1.dylib                  0x30ccd54d8         std::__1::condition_variable::wait
3   hermes                          0x10591c104         hermes::vm::HadesGC::Executor::worker
4   hermes                          0x10591bfa4         std::__1::__thread_proxy[abi:v15006]<T>
5   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 14 name: AQConverterThread
0   libsystem_kernel.dylib          0x30ce130ac         __psynch_cvwait
1   libsystem_pthread.dylib         0x30ce8b5f8         _pthread_cond_wait
2   libAudioToolboxUtility.dylib    0x32a63ace0         CADeprecated::CAGuard::Wait
3   AudioToolbox                    0x32cbf43a0         AQConverterManager::AQConverterThread::ConverterThreadEntry
4   libAudioToolboxUtility.dylib    0x32a6171ac         CADeprecated::CAPThread::Entry
5   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 15 name: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib          0x30ce0f8b4         mach_msg2_trap
1   libsystem_kernel.dylib          0x30ce21d2c         mach_msg2_internal
2   libsystem_kernel.dylib          0x30ce184ec         mach_msg_overwrite
3   libsystem_kernel.dylib          0x30ce0fc34         mach_msg
4   CoreFoundation                  0x30cfcdea0         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x30cfcc768         __CFRunLoopRun
6   CoreFoundation                  0x30cfcbc58         CFRunLoopRunSpecific
7   CFNetwork                       0x3175bb394         _CFURLStorageSessionDisableCache
8   Foundation                      0x30f1f7ff0         __NSThread__start__
9   libsystem_pthread.dylib         0x30ce8b030         _pthread_start

Thread 16
0   libsystem_kernel.dylib          0x30ce11564         __workq_kernreturn
1   libsystem_pthread.dylib         0x30ce8715c         _pthread_wqthread

Thread 17
0   libsystem_kernel.dylib          0x30ce11564         __workq_kernreturn
1   libsystem_pthread.dylib         0x30ce8715c         _pthread_wqthread

Thread 18
0   libsystem_kernel.dylib          0x30ce11564         __workq_kernreturn
1   libsystem_pthread.dylib         0x30ce8715c         _pthread_wqthread

Thread 3 crashed with ARM Thread State (64-bit):
    x0: 0x000000016bbcf6c8   x1: 0x0000000143813a00   x2: 0x000000016bbcf6c8   x3: 0x0000000146ada200
    x4: 0x0000000000000002   x5: 0x0000000146ada200   x6: 0x0000000000000400   x7: 0x00000000000b0000
    x8: 0x0000000000017f93   x9: 0x000000003e804000  x10: 0x0000000000002ff0  x11: 0x000000014406b200
   x12: 0x0000000146ad8000  x13: 0x0000000000003fff  x14: 0x0000000000001690  x15: 0x00000000ffff7dff
   x16: 0x000000018ca18c9c  x17: 0x00000001ebbf8198  x18: 0x0000000000000000  x19: 0x000000016bbcf6c8
   x20: 0x0000000143813a00  x21: 0x000000014413d5e0  x22: 0x000000014416dd70  x23: 0x0000000146832ea0
   x24: 0x0000000146834940  x25: 0x0000000000000000  x26: 0x00000000000097df  x27: 0x00000000003de7b8
   x28: 0x0000000000000001   fp: 0x000000016bbcf6b0   lr: 0x000000010591818c   sp: 0x000000016bbcf690
    pc: 0x000000010591bc94 cpsr: 0x0000000080001000



EOF

code example:

The Expected Behavior

Not to crash.

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Comments: 30 (10 by maintainers)

Most upvoted comments

It is possible that the issue you’re observing is a known leak in WeakMap, which was discussed in https://github.com/facebook/hermes/issues/1147 and fixed in e7b2abe.

Could you try calling gc() from JS periodically and see if that brings the memory consumption under control?