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)
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?