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

[iOS] Crash EXC_BREAKPOINT facebook::jsi::detail::BeforeCaller<T>::before #5421

Closed
Nodonisko opened this issue Nov 27, 2023 · 24 comments · Fixed by #5505
Closed

[iOS] Crash EXC_BREAKPOINT facebook::jsi::detail::BeforeCaller<T>::before #5421

Nodonisko opened this issue Nov 27, 2023 · 24 comments · Fixed by #5505
Assignees
Labels
Missing info The user didn't precise the problem enough Missing repro This issue need minimum repro scenario Platform: iOS This issue is specific to iOS

Comments

@Nodonisko
Copy link
Contributor

Description

Hello after update to latest Reanimated from 3.2 to 3.5.4 we started to get quite a lot of crashes in Sentry from production. Full stack trace should be available here: https://satoshilabs.sentry.io/share/issue/b32f6c235e384b0f8703d7ab37b6edfa/

Crashes seems to be random and we were not able to reproduce them yet, but we are pretty sure that this is caused by either Reanimated or @shopify/react-native-skia because we did not any other changes in our latest release except updating these two libraries.

This error seems to be iOS specific, not a single crash from Android so far.

Screenshot 2023-11-27 at 14 36 54

Steps to reproduce

We were not able to reproduce it yet, but I will add example if we will some reliable way how to reproduce it.

Snack or a link to a repository

Reanimated version

3.5.4

React Native version

0.71.8

Platforms

iOS

JavaScript runtime

Hermes

Workflow

React Native

Architecture

Paper (Old Architecture)

Build type

Release mode

Device

Real device

Device model

No response

Acknowledgements

Yes

@Nodonisko Nodonisko added the Needs review Issue is ready to be reviewed by a maintainer label Nov 27, 2023
@github-actions github-actions bot added the Missing repro This issue need minimum repro scenario label Nov 27, 2023
Copy link

Hey! 👋

The issue doesn't seem to contain a minimal reproduction.

Could you provide a snack or a link to a GitHub repository under your username that reproduces the problem?

@github-actions github-actions bot added Platform: iOS This issue is specific to iOS Missing info The user didn't precise the problem enough labels Nov 27, 2023
Copy link

Hey! 👋

It looks like you've omitted a few important sections from the issue template.

Please complete Snack or a link to a repository section.

@SpreadTriad
Copy link

Thanks for reporting, Nodonisko. We see the same issue in Sentry with the exact same stack trace. It seems to be somewhat rare, but it does result in a fatal crash, so is worth looking into.

We use react-native 0.72.6 and react-native-reanimated 3.5.4. I'll update both and if the issue persists for 3.6.0, I'll add a full bug report here.

RikSchefferAmsterdam pushed a commit to Amsterdam/amsterdam-app-frontend that referenced this issue Dec 1, 2023
Omdat we iOS crashes zien gerelateerd aan reanimated en hermes (https://municipality-of-amsterdam.sentry.io/issues/4576021340/events/4837141d08ed4c80bfd016bb65b26d94), heb ik RN en reanimated ge-update.

Ik wil graag even kijken of dit het issue oplost. Zo niet, dan gaan we aanhaken bij de bug report software-mansion/react-native-reanimated#5421

Geen verdere wijzigingen nodig ivm met de RN update (https://github.com/facebook/react-native/releases/tag/v0.72.7)

Zie #96660

Related work items: #98495
@sagar-tomar-groww
Copy link

sagar-tomar-groww commented Dec 1, 2023

@SpreadTriad we are also getting this same crash with exact same stack trace.
seems like same issue #5331

@anurag-dadheech @VaidyaAkhil-Groww FYI

@Nodonisko
Copy link
Contributor Author

So it looks like that it's happening on app launch? I will try to relaunch app in simulator many times and see if I will be able to replicate that.

@SpreadTriad
Copy link

Not immediately on app launch, at least not for us. Looking at the Sentry "breadcrumbs", there is some interaction before the crash. But we may have differences in our implementation.

In #5331 (comment) a possible cause is mentioned: mixing the RN Animated component with the reanimated version. I'll look into it more next week.

@sagar-tomar-groww thank you for sharing!

@Nodonisko
Copy link
Contributor Author

We do not used RN Animated anywhere, but we use Reanimated with Skia quite a lot.

@sagar-tomar-groww
Copy link

@SpreadTriad For your reference. Below is the stack trace for us.
We do have mix of Animated from RN and Reanimated but on different screens.
Awaiting observations from your end on this


0  Groww +0x3f4044          reanimated::ReanimatedReentrancyCheck::before() (ReanimatedHermesRuntime.h:85:7)
1  Groww +0x3f3720          facebook::jsi::WithRuntimeDecorator<reanimated::ReanimatedReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::createArray(unsigned long) (decorator.h:461:7)
2  Groww +0x3e2b7c          facebook::jsi::Array::Array(facebook::jsi::Runtime&, unsigned long) (jsi.h:885:58)
3  Groww +0x3e2790          ___ZN10reanimated22createReanimatedModuleEP9RCTBridgeRKNSt3__110shared_ptrIN8facebook5react11CallInvokerEEE_block_invoke_2 (NativeProxy.mm:299:26)
4  Groww +0x3f63d4          __33-[REANodesManager dispatchEvent:]_block_invoke (REANodesManager.mm:398:5)
5  Groww +0x4b72c4          RCTExecuteOnMainQueue (RCTUtils.m:262:5)
6  Groww +0x3f6300          -[REANodesManager dispatchEvent:] (REANodesManager.mm:390:3)
7  Groww +0x3ecfb8          -[RCTEventDispatcher(Reanimated) reanimated_sendEvent:] (RCTEventDispatcher+Reanimated.m:23:3)
8  Groww +0x4ad0a4          -[RCTTouchHandler _updateAndDispatchTouches:eventName:] (RCTTouchHandler.m:231:3)
9  Groww +0x4ad268          -[RCTTouchHandler touchesBegan:withEvent:] (RCTTouchHandler.m:288:3)
10 UIKitCore +0xb44b8       -[UIGestureRecognizer _componentsBegan:withEvent:]
11 UIKitCore +0xb23f8       -[UITouchesEvent _sendEventToGestureRecognizer:]
12 UIKitCore +0x9beaf0      -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:]
13 UIKitCore +0xf3d8c       -[UIGestureEnvironment _updateForEvent:window:]
14 UIKitCore +0xf8600       -[UIWindow sendEvent:]
15 UIKitCore +0xf78c0       -[UIApplication sendEvent:]
16 UIKitCore +0xf5bac       ___dispatchPreprocessedEventFromEventQueue
17 UIKitCore +0x13e884      ___processEventQueue
18 UIKitCore +0x443e84      ___eventFetcherSourceCallback
19 CoreFoundation +0xd3124  ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
20 CoreFoundation +0xdf7b0  ___CFRunLoopDoSource0
21 CoreFoundation +0x64644  ___CFRunLoopDoSources0
22 CoreFoundation +0x7a0d0  ___CFRunLoopRun
23 CoreFoundation +0x7f3e8  _CFRunLoopRunSpecific
24 GraphicsServices +0x1358 _GSEventRunModal
25 UIKitCore +0x39cf54      -[UIApplication _run]
26 UIKitCore +0x39cbb8      _UIApplicationMain
27 Groww +0xa950            main (main.m:19:11)
28 dyld +0x15de8            start

@arditderstila
Copy link

arditderstila commented Dec 4, 2023

For same problem i am getting this stacktrace error from Sentry form quite some time now .
it happens rarely most of time when app is installed for first time or opened after some time app crashes only first time on Ios and after app is reopened everything is Ok.
I am using also Animated from react native and react-native-reanimated but in different screens

Thread 0 Crashed:
0 Sportify 0x200a00f34 reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:83)
1 Sportify 0x200a00dd0 facebook::jsi::detail::BeforeCaller::before (decorator.h:418)
2 Sportify 0x200a00da8 facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:743)
3 Sportify 0x200a00d40 facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:742)
4 Sportify 0x2009f7aec facebook::jsi::WithRuntimeDecorator::cloneObject (decorator.h:536)
5 hermes 0x11ea06114 facebook::jsi::Value::Value
6 Sportify 0x20050fda4 facebook::jsi::detail::toValue (jsi-inl.h:43)
7 Sportify 0x2009c4ae0 facebook::jsi::Function::call (jsi-inl.h:241)
8 Sportify 0x2009c4a78 reanimated::CoreFunction::call (Shareables.h:37)
9 Sportify 0x2009c4a1c reanimated::JSRuntimeHelper::runOnUIGuarded (Shareables.h:90)
10 Sportify 0x2009c49a0 const::lambda::operator() (NativeReanimatedModule.cpp:65)
11 Sportify 0x2009c4938 std::__1::__invoke[abi:v160006] (invoke.h:394)
12 Sportify 0x2009c48e4 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
13 Sportify 0x2009c48b8 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
14 Sportify 0x2009c3648 std::__1::__function::__func::operator() (function.h:356)
15 Sportify 0x20099611c std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
16 Sportify 0x200996034 std::__1::function::operator() (function.h:1156)
17 Sportify 0x2009b6068 reanimated::NativeReanimatedModule::onRender (NativeReanimatedModule.cpp:429)
18 Sportify 0x2009cdc8c reanimated::NativeReanimatedModule::NativeReanimatedModule::lambda::operator() (NativeReanimatedModule.cpp:164)
19 Sportify 0x2009cdc58 std::__1::__invoke[abi:v160006] (invoke.h:394)
20 Sportify 0x2009cdc04 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
21 Sportify 0x2009cdbd8 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
22 Sportify 0x2009cca44 std::__1::__function::__func::operator() (function.h:356)
23 Sportify 0x20099611c std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
24 Sportify 0x200996034 std::__1::function::operator() (function.h:1156)
25 Sportify 0x200995fc0 reanimated::createReanimatedModule::lambda::operator() (NativeProxy.mm:159)
26 Sportify 0x200a06fb0 -[REANodesManager onAnimationFrame:] (REANodesManager.mm:295)
27 QuartzCore 0x33e621a14
28 QuartzCore 0x33e624bfc
29 QuartzCore 0x33e624708
30 QuartzCore 0x33e6a391c
31 UIKitCore 0x33feda48c
32 UIKitCore 0x33fed9b7c
33 UIKitCore 0x33fed9c38
34 CoreFoundation 0x33ba1f31c
35 CoreFoundation 0x33ba1e598
36 CoreFoundation 0x33ba1cd4c
37 CoreFoundation 0x33ba1ba88
38 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
39 GraphicsServices 0x3c21e15ec GSEventRunModal
40 UIKitCore 0x34005c2b4
41 UIKitCore 0x34005b8f0 UIApplicationMain
42 Sportify 0x200388e84 main (main.m:7)
43 0x1d674adcc

Thread 0 Crashed:
0 Sportify 0x200a00f34 reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:83)
1 Sportify 0x200a00dd0 facebook::jsi::detail::BeforeCaller::before (decorator.h:418)
2 Sportify 0x200a00da8 facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:743)
3 Sportify 0x200a00d40 facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:742)
4 Sportify 0x2009f7aec facebook::jsi::WithRuntimeDecorator::cloneObject (decorator.h:536)
5 hermes 0x11ea06114 facebook::jsi::Value::Value
6 Sportify 0x20050fda4 facebook::jsi::detail::toValue (jsi-inl.h:43)
7 Sportify 0x2009c4ae0 facebook::jsi::Function::call (jsi-inl.h:241)
8 Sportify 0x2009c4a78 reanimated::CoreFunction::call (Shareables.h:37)
9 Sportify 0x2009c4a1c reanimated::JSRuntimeHelper::runOnUIGuarded (Shareables.h:90)
10 Sportify 0x2009c49a0 const::lambda::operator() (NativeReanimatedModule.cpp:65)
11 Sportify 0x2009c4938 std::__1::__invoke[abi:v160006] (invoke.h:394)
12 Sportify 0x2009c48e4 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
13 Sportify 0x2009c48b8 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
14 Sportify 0x2009c3648 std::__1::__function::__func::operator() (function.h:356)
15 Sportify 0x20099611c std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
16 Sportify 0x200996034 std::__1::function::operator() (function.h:1156)
17 Sportify 0x2009b6068 reanimated::NativeReanimatedModule::onRender (NativeReanimatedModule.cpp:429)
18 Sportify 0x2009cdc8c reanimated::NativeReanimatedModule::NativeReanimatedModule::lambda::operator() (NativeReanimatedModule.cpp:164)
19 Sportify 0x2009cdc58 std::__1::__invoke[abi:v160006] (invoke.h:394)
20 Sportify 0x2009cdc04 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
21 Sportify 0x2009cdbd8 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
22 Sportify 0x2009cca44 std::__1::__function::__func::operator() (function.h:356)
23 Sportify 0x20099611c std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
24 Sportify 0x200996034 std::__1::function::operator() (function.h:1156)
25 Sportify 0x200995fc0 reanimated::createReanimatedModule::lambda::operator() (NativeProxy.mm:159)
26 Sportify 0x200a06fb0 -[REANodesManager onAnimationFrame:] (REANodesManager.mm:295)
27 QuartzCore 0x33e621a14
28 QuartzCore 0x33e624bfc
29 QuartzCore 0x33e624708
30 QuartzCore 0x33e6a391c
31 UIKitCore 0x33feda48c
32 UIKitCore 0x33fed9b7c
33 UIKitCore 0x33fed9c38
34 CoreFoundation 0x33ba1f31c
35 CoreFoundation 0x33ba1e598
36 CoreFoundation 0x33ba1cd4c
37 CoreFoundation 0x33ba1ba88
38 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
39 GraphicsServices 0x3c21e15ec GSEventRunModal
40 UIKitCore 0x34005c2b4
41 UIKitCore 0x34005b8f0 UIApplicationMain
42 Sportify 0x200388e84 main (main.m:7)
43 0x1d674adcc

Thread 1 name: com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x3ca3ff1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3ca3fef70 mach_msg2_internal
2 libsystem_kernel.dylib 0x3ca3fee88 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3ca3fecc8 mach_msg
4 CoreFoundation 0x33ba1dd0c
5 CoreFoundation 0x33ba1bc04
6 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
7 Foundation 0x33995454c
8 Foundation 0x33998227c
9 UIKitCore 0x33ffbdfc8
10 Foundation 0x3399d9184
11 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 2 name: com.apple.CFStream.LegacyThread
0 libsystem_kernel.dylib 0x3ca3ff1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3ca3fef70 mach_msg2_internal
2 libsystem_kernel.dylib 0x3ca3fee88 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3ca3fecc8 mach_msg
4 CoreFoundation 0x33ba1dd0c
5 CoreFoundation 0x33ba1bc04
6 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
7 CoreFoundation 0x33bb25ca0
8 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 3
0 libsystem_pthread.dylib 0x40ee999fc _pthread_wqthread

Thread 4 name: com.squareup.SocketRocket.NetworkThread
0 libsystem_kernel.dylib 0x3ca3ff1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3ca3fef70 mach_msg2_internal
2 libsystem_kernel.dylib 0x3ca3fee88 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3ca3fecc8 mach_msg
4 CoreFoundation 0x33ba1dd0c
5 CoreFoundation 0x33ba1bc04
6 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
7 Foundation 0x33995454c
8 Sportify 0x200b8a2ac -[_RCTSRRunLoopThread main] (RCTSRWebSocket.m:1624)
9 Foundation 0x3399d9184
10 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 5 name: com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x3ca3ff1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3ca3fef70 mach_msg2_internal
2 libsystem_kernel.dylib 0x3ca3fee88 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3ca3fecc8 mach_msg
4 CoreFoundation 0x33ba1dd0c
5 CoreFoundation 0x33ba1bc04
6 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
7 CFNetwork 0x33ddde780 _CFURLStorageSessionCopyIdentifier
8 Foundation 0x3399d9184
9 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 6 name: com.apple.CFSocket.private
0 libsystem_kernel.dylib 0x3ca40b8c0 select$DARWIN_EXTSN
1 CoreFoundation 0x33bac7970
2 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 7
0 libsystem_kernel.dylib 0x3ca3ff9d8 __semwait_signal
1 libsystem_c.dylib 0x34b9f1f20 nanosleep
2 libsystem_c.dylib 0x34ba001dc sleep
3 Sportify 0x200cc14f8 monitorCachedData (SentryCrashCachedData.c:145)
4 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 8 name: SentryCrash Exception Handler (Secondary)
0 libsystem_kernel.dylib 0x3ca3ff1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3ca3fef70 mach_msg2_internal
2 libsystem_kernel.dylib 0x3ca3fee88 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3ca3fecc8 mach_msg
4 Sportify 0x200cd76e8 handleExceptions (SentryCrashMonitor_MachException.c:314)
5 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 10
0 libsystem_malloc.dylib 0x35b8fe9d4
1 libsystem_blocks.dylib 0x40ee8fa14 _Block_copy
2 libdispatch.dylib 0x34b95c66c
3 libdispatch.dylib 0x34b962c08 dispatch_channel_async
4 CFNetwork 0x33dddf3e4 _CFURLStorageSessionCopyIdentifier
5 CFNetwork 0x33dd2f7ac _CFStreamErrorFromCFError
6 CFNetwork 0x33dc29660 CFURLDownloadStart
7 libdispatch.dylib 0x34b95c6a8
8 libdispatch.dylib 0x34b95e300
9 libdispatch.dylib 0x34b965894
10 libdispatch.dylib 0x34b9663f8
11 libdispatch.dylib 0x34b971004
12 libdispatch.dylib 0x34b970878
13 libsystem_pthread.dylib 0x40ee99964 _pthread_wqthread

Thread 11
0 libsystem_pthread.dylib 0x40ee999fc _pthread_wqthread

Thread 12
0 vImage 0x347dac318
1 vImage 0x347dac36c
2 vImage 0x347dac944 vImageNewResamplingFilterForFunctionUsingBuffer
3 vImage 0x347d25040 vImageScale_ARGB8888
4 ImageIO 0x347570ee4
5 ImageIO 0x3475716e0
6 ImageIO 0x3474a1494
7 ImageIO 0x3474a26d4
8 ImageIO 0x34749f510
9 ImageIO 0x3474a0668
10 ImageIO 0x3474a04b4
11 ImageIO 0x3473b192c
12 ImageIO 0x3473b1260
13 ImageIO 0x3473b0ec8
14 ImageIO 0x3473b0af8
15 CoreGraphics 0x33f13ff84
16 CoreGraphics 0x33f12a134
17 CoreGraphics 0x33f12a17c
18 CoreGraphics 0x33f12a134
19 CoreGraphics 0x33f129e00 CGAccessSessionCreate
20 CoreGraphics 0x33f0fddc8
21 CoreGraphics 0x33f0fd7c4
22 CoreGraphics 0x33f0fa164
23 CoreGraphics 0x33f128aac
24 CoreGraphics 0x33f126ae4
25 CoreGraphics 0x33f131bf8
26 CoreGraphics 0x33f131434
27 CoreGraphics 0x33f130f6c CGContextDrawImageWithOptions
28 ImageIO 0x3474a7124
29 ImageIO 0x347485000
30 ImageIO 0x347487ec8 CGImageSourceCreateThumbnailAtIndex
31 Sportify 0x20088c890 RCTDecodeImageWithData (RCTImageUtils.m:306)
32 Sportify 0x2008817b0 __80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke_3.206 (RCTImageLoader.mm:927)
33 libdispatch.dylib 0x34b95c6a8
34 libdispatch.dylib 0x34b95e300
35 libdispatch.dylib 0x34b96144c
36 libdispatch.dylib 0x34b96fbe4
37 libdispatch.dylib 0x34b9703ec
38 libsystem_pthread.dylib 0x40ee99928 _pthread_wqthread

Thread 13
0 IOKit 0x34ce393bc iokit_user_client_trap
1 IOGPU 0x427aa2f14 IOGPUCommandQueueSubmitCommandBuffers
2 IOGPU 0x427aa2d78
3 IOGPU 0x427aa2bf0
4 Metal 0x33b1c60c4
5 libdispatch.dylib 0x34b95e300
6 libdispatch.dylib 0x34b9617b8
7 libdispatch.dylib 0x34b9755c0
8 libdispatch.dylib 0x34b974190
9 libdispatch.dylib 0x34b965718
10 libdispatch.dylib 0x34b9663c4
11 libdispatch.dylib 0x34b971004
12 libdispatch.dylib 0x34b970878
13 libsystem_pthread.dylib 0x40ee99964 _pthread_wqthread

Thread 14 name: com.facebook.react.JavaScript
0 libsystem_platform.dylib 0x40ed4a0ac _platform_memset_pattern16
1 hermes 0x11ea0b8c4 facebook::jsi::JSError::~JSError
2 hermes 0x11ea446fc facebook::jsi::JSError::~JSError
3 hermes 0x11ea4b7e0 facebook::jsi::JSError::~JSError
4 hermes 0x11ea497e8 facebook::jsi::JSError::~JSError
5 hermes 0x11ea48884 facebook::jsi::JSError::~JSError
6 hermes 0x11e9f6010 facebook::hermes::HermesRuntime::rootsListLength
7 Sportify 0x2009fa27c facebook::jsi::RuntimeDecorator::setPropertyValue (decorator.h:236)
8 Sportify 0x2009f8488 facebook::jsi::WithRuntimeDecorator::setPropertyValue (decorator.h:622)
9 Sportify 0x2009f6c70 facebook::jsi::Object::setPropertyValue (jsi.h:724)
10 Sportify 0x201129e04 facebook::jsi::Object::setProperty (jsi-inl.h:122)
11 Sportify 0x2004aa850 expo::gl_cpp::setFunctionOnObject
12 Sportify 0x2004a647c expo::gl_cpp::installWebGL2Methods
13 Sportify 0x20049f01c expo::gl_cpp::ensurePrototypes
14 Sportify 0x20049e6d0 expo::gl_cpp::createWebGLRenderer
15 Sportify 0x200457c8c expo::gl_cpp::EXGLContext::maybePrepareWorkletContext
16 Sportify 0x200457710 expo::gl_cpp::EXGLContext::prepareContext
17 Sportify 0x2004b0450 UEXGLContextPrepare
18 Sportify 0x200453a8c -[EXFontScalersManager registerFontScaler:] (EXFontScalersManager.m:59)
19 Sportify 0x200af4940 std::__1::__invoke[abi:v160006] (invoke.h:394)
20 Sportify 0x200af47d0 std::__1::__function::__func::operator() (function.h:945)
21 Sportify 0x2009f4354 std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
22 Sportify 0x2009f4080 std::__1::function::operator() (function.h:1156)
23 Sportify 0x200b0740c facebook::react::tryAndReturnError (RCTCxxUtils.mm:74)
24 Sportify 0x200ae1ce0 -[RCTCxxBridge _tryAndHandleError:] (RCTCxxBridge.mm:344)
25 Foundation 0x339a1bb14
26 CoreFoundation 0x33ba1f31c
27 CoreFoundation 0x33ba1e598
28 CoreFoundation 0x33ba1cd4c
29 CoreFoundation 0x33ba1ba88
30 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
31 Sportify 0x200ae1b30 +[RCTCxxBridge runRunLoop] (RCTCxxBridge.mm:335)
32 Foundation 0x3399d9184
33 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 15 name: hades
0 libsystem_kernel.dylib 0x3ca3ffb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x40ee98fd4
2 libc++.1.dylib 0x35bd1cecc std::__1::condition_variable::wait
3 hermes 0x11eafd988 facebook::jsi::JSError::~JSError
4 hermes 0x11eafd73c facebook::jsi::JSError::~JSError
5 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 16 name: hermes-chrome-inspector-conn
0 libsystem_kernel.dylib 0x3ca3ffb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x40ee98fd4
2 libc++.1.dylib 0x35bd1cecc std::__1::condition_variable::wait
3 Sportify 0x2011a6d88 std::__1::condition_variable::wait (__mutex_base:400)
4 Sportify 0x2011a6bdc facebook::hermes::inspector::detail::SerialExecutor::runLoop (SerialExecutor.cpp:41)
5 Sportify 0x2011a8658 facebook::hermes::inspector::detail::SerialExecutor::SerialExecutor::lambda::operator() (SerialExecutor.cpp:16)
6 Sportify 0x2011a8630 std::__1::__invoke[abi:v160006] (invoke.h:394)
7 Sportify 0x2011a85e8 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
8 Sportify 0x2011a85c4 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
9 Sportify 0x2011a7438 std::__1::__function::__func::operator() (function.h:356)
10 Sportify 0x2009f4354 std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
11 Sportify 0x2009f4080 std::__1::function::operator() (function.h:1156)
12 Sportify 0x2010c2940 facebook::hermes::inspector::detail::Thread::run (Thread.h:73)
13 Sportify 0x2010c3508 std::__1::__invoke[abi:v160006] (invoke.h:394)
14 Sportify 0x2010c3458 std::__1::__thread_execute[abi:v160006] (thread:288)
15 Sportify 0x2010c2c48 std::__1::__thread_proxy[abi:v160006] (thread:299)
16 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 17 name: hermes-inspector
0 libsystem_kernel.dylib 0x3ca3ffb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x40ee98fd4
2 libc++.1.dylib 0x35bd1cecc std::__1::condition_variable::wait
3 Sportify 0x2011a6d88 std::__1::condition_variable::wait (__mutex_base:400)
4 Sportify 0x2011a6bdc facebook::hermes::inspector::detail::SerialExecutor::runLoop (SerialExecutor.cpp:41)
5 Sportify 0x2011a8658 facebook::hermes::inspector::detail::SerialExecutor::SerialExecutor::lambda::operator() (SerialExecutor.cpp:16)
6 Sportify 0x2011a8630 std::__1::__invoke[abi:v160006] (invoke.h:394)
7 Sportify 0x2011a85e8 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
8 Sportify 0x2011a85c4 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
9 Sportify 0x2011a7438 std::__1::__function::__func::operator() (function.h:356)
10 Sportify 0x2009f4354 std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
11 Sportify 0x2009f4080 std::__1::function::operator() (function.h:1156)
12 Sportify 0x2010c2940 facebook::hermes::inspector::detail::Thread::run (Thread.h:73)
13 Sportify 0x2010c3508 std::__1::__invoke[abi:v160006] (invoke.h:394)
14 Sportify 0x2010c3458 std::__1::__thread_execute[abi:v160006] (thread:288)
15 Sportify 0x2010c2c48 std::__1::__thread_proxy[abi:v160006] (thread:299)
16 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 18 name: com.apple.CoreMotion.MotionThread
0 libsystem_kernel.dylib 0x3ca3ff1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3ca3fef70 mach_msg2_internal
2 libsystem_kernel.dylib 0x3ca3fee88 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3ca3fecc8 mach_msg
4 CoreFoundation 0x33ba1dd0c
5 CoreFoundation 0x33ba1bc04
6 CoreFoundation 0x33ba1b668 CFRunLoopRunSpecific
7 CoreFoundation 0x33ba1b3cc CFRunLoopRun
8 CoreMotion 0x3555b79b4 CLClientGetDistanceCoordinates
9 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 19
0 libsystem_kernel.dylib 0x3ca3ffb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x40ee98fd4
2 libc++.1.dylib 0x35bd1cecc std::__1::condition_variable::wait
3 hermes 0x11eafd988 facebook::jsi::JSError::~JSError
4 hermes 0x11eafd73c facebook::jsi::JSError::~JSError
5 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 20
0 libsystem_kernel.dylib 0x3ca3ffb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x40ee98fd4
2 libc++.1.dylib 0x35bd1cecc std::__1::condition_variable::wait
3 Sportify 0x2011a6d88 std::__1::condition_variable::wait (__mutex_base:400)
4 Sportify 0x2011a6bdc facebook::hermes::inspector::detail::SerialExecutor::runLoop (SerialExecutor.cpp:41)
5 Sportify 0x2011a8658 facebook::hermes::inspector::detail::SerialExecutor::SerialExecutor::lambda::operator() (SerialExecutor.cpp:16)
6 Sportify 0x2011a8630 std::__1::__invoke[abi:v160006] (invoke.h:394)
7 Sportify 0x2011a85e8 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
8 Sportify 0x2011a85c4 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
9 Sportify 0x2011a7438 std::__1::__function::__func::operator() (function.h:356)
10 Sportify 0x2009f4354 std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
11 Sportify 0x2009f4080 std::__1::function::operator() (function.h:1156)
12 Sportify 0x2010c2940 facebook::hermes::inspector::detail::Thread::run (Thread.h:73)
13 Sportify 0x2010c3508 std::__1::__invoke[abi:v160006] (invoke.h:394)
14 Sportify 0x2010c3458 std::__1::__thread_execute[abi:v160006] (thread:288)
15 Sportify 0x2010c2c48 std::__1::__thread_proxy[abi:v160006] (thread:299)
16 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 21
0 libsystem_kernel.dylib 0x3ca3ffb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x40ee98fd4
2 libc++.1.dylib 0x35bd1cecc std::__1::condition_variable::wait
3 Sportify 0x2011a6d88 std::__1::condition_variable::wait (__mutex_base:400)
4 Sportify 0x2011a6bdc facebook::hermes::inspector::detail::SerialExecutor::runLoop (SerialExecutor.cpp:41)
5 Sportify 0x2011a8658 facebook::hermes::inspector::detail::SerialExecutor::SerialExecutor::lambda::operator() (SerialExecutor.cpp:16)
6 Sportify 0x2011a8630 std::__1::__invoke[abi:v160006] (invoke.h:394)
7 Sportify 0x2011a85e8 std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
8 Sportify 0x2011a85c4 std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
9 Sportify 0x2011a7438 std::__1::__function::__func::operator() (function.h:356)
10 Sportify 0x2009f4354 std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
11 Sportify 0x2009f4080 std::__1::function::operator() (function.h:1156)
12 Sportify 0x2010c2940 facebook::hermes::inspector::detail::Thread::run (Thread.h:73)
13 Sportify 0x2010c3508 std::__1::__invoke[abi:v160006] (invoke.h:394)
14 Sportify 0x2010c3458 std::__1::__thread_execute[abi:v160006] (thread:288)
15 Sportify 0x2010c2c48 std::__1::__thread_proxy[abi:v160006] (thread:299)
16 libsystem_pthread.dylib 0x40ee9a4d4 _pthread_start

Thread 22
0 libsystem_kernel.dylib 0x3ca407730 __workq_kernreturn
1 libsystem_pthread.dylib 0x40ee999b0 _pthread_wqthread

Thread 23
0 libsystem_kernel.dylib 0x3ca3ffc58 __ulock_wait
1 libdispatch.dylib 0x34b95ecf0
2 libdispatch.dylib 0x34b95f09c
3 AppleMetalGLRenderer 0x4690b6694
4 Sportify 0x200453564 -[EXFontScalersManager registerFontScaler:] (EXFontScalersManager.m:59)
5 libdispatch.dylib 0x34b95c6a8
6 libdispatch.dylib 0x34b95e300
7 libdispatch.dylib 0x34b965894
8 libdispatch.dylib 0x34b9663c4
9 libdispatch.dylib 0x34b971004
10 libdispatch.dylib 0x34b970878
11 libsystem_pthread.dylib 0x40ee99964 _pthread_wqthread

Thread 24
0 libsystem_kernel.dylib 0x3ca407730 __workq_kernreturn
1 libsystem_pthread.dylib 0x40ee999b0 _pthread_wqthread

Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000204d19340 x2: 0x0000000204d19340 x3: 0x0000000000000000
x4: 0x0000000000000000 x5: 0x0000000000001580 x6: 0x0000000283555580 x7: 0xffffffff016a5d00
x8: 0x0000000000000000 x9: 0x0000000204d19340 x10: 0x0000000283b5f980 x11: 0x0000000281d185e0
x12: 0x0000000204d19340 x13: 0x0000000000000001 x14: 0x00000000e407d1e9 x15: 0x00000000000001e9
x16: 0x0000000204d19340 x17: 0x0000000204d19340 x18: 0x0000000000000000 x19: 0x000000016fa7df88
x20: 0x0000000139fc5f40 x21: 0x000000013a809050 x22: 0x0000000280230f00 x23: 0x0000000000000000
x24: 0x0000000000000004 x25: 0x0000000204d19420 x26: 0x0000000139fc5f40 x27: 0x000000013a014600
x28: 0x0000000000000404 fp: 0x000000016fa7ddc0 lr: 0x0000000100a00ebc sp: 0x000000016fa7dd70
pc: 0x0000000100a00f34 cpsr: 0x0000000080001000

EOF

@huextrat
Copy link

huextrat commented Dec 9, 2023

Hi, we have the same error on our side that appears on iOS regardless of version 3.5.4 or 3.6.x. However, it seems to occur even more frequently on version 3.6.x.

If it might help, here is the stacktrace on version 3.6.1:

Crashed in non-app
+0x2fb68c
reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:95)

+0x2fb624
std::__1::__libcpp_thread_get_current_id[abi:v160006] (__threading_support:383)
+0x2fb624
std::__1::this_thread::get_id[abi:v160006] (__threading_support:699)
+0x2fb624
reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:59)

And below the stacktrace on version 3.5.4:

+0x2f87d4
reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:85)

+0x2f876c
std::__1::__libcpp_thread_get_current_id[abi:v160006] (__threading_support:383)
+0x2f876c
std::__1::this_thread::get_id[abi:v160006] (__threading_support:699)
+0x2f876c
reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:49)

Before version 3.5.4 we were on version 3.5.2 and I can't find any trace of this crash on 3.5.2 or lower.

@tomekzaw
Copy link
Member

tomekzaw commented Dec 15, 2023

@Nodonisko Thanks for reporting this crash.

@sagar-tomar-groww @huextrat Can you please provide full stack trace for all threads and exact versions of the libraries that you are using (Reanimated, Skia, Expo-GL, React Native)?

My suspicion is that some other library uses Reanimated runtime on the JS thread while Reanimated tries to use it on the UI thread, hence the crash in the assert. In @arditderstila's stack trace the JS thread is installing ExpoGL.

Duplicate of #5331.

@huextrat
Copy link

huextrat commented Dec 15, 2023

Here is the full stack trace @tomekzaw with every threads.

We are not using Skia or Expo-GL and here is the version of Reanimated and RN:

"react-native-reanimated": "3.6.1"
"react-native": "0.72.7"
"react-native-screens": "3.27.0"
Full Stack Trace OS Version: iOS 17.1.2 (21B101) Report Version: 104

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Crashed Thread: 0

Application Specific Information:
allowsWeakReference

Thread 0 Crashed:
0 MyApp 0x20067768c reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:95)
1 MyApp 0x200677624 [inlined] std::__1::__libcpp_thread_get_current_id[abi:v160006] (__threading_support:383)
2 MyApp 0x200677624 [inlined] std::__1::this_thread::get_id[abi:v160006] (__threading_support:699)
3 MyApp 0x200677624 reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:59)
4 MyApp 0x20067604c [inlined] facebook::jsi::detail::BeforeCaller::before (decorator.h:461)
5 MyApp 0x20067604c [inlined] facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:793)
6 MyApp 0x20067604c [inlined] facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:792)
7 MyApp 0x20067604c facebook::jsi::WithRuntimeDecorator::createObject (decorator.h:630)
8 MyApp 0x200665108 [inlined] facebook::jsi::Object::Object (jsi.h:658)
9 MyApp 0x200665108 [inlined] convertNSDictionaryToJSIObject (REAJSIUtils.h:30)
10 MyApp 0x200665108 convertObjCObjectToJSIValue (REAJSIUtils.h:56)
11 MyApp 0x200664e68 reanimated::createReanimatedModule (NativeProxy.mm:299)
12 MyApp 0x200683eec __33-[REANodesManager dispatchEvent:]_block_invoke (REANodesManager.mm:395)
13 MyApp 0x200745c30 RCTExecuteOnMainQueue (RCTUtils.m:262)
14 MyApp 0x200683e18 -[REANodesManager dispatchEvent:] (REANodesManager.mm:387)
15 MyApp 0x20066faa0 -[RCTEventDispatcher(Reanimated) reanimated_sendEvent:] (RCTEventDispatcher+Reanimated.m:23)
16 MyApp 0x2006fafc8 _createEventSetter_block_invoke_2 (RCTComponentData.m:137)
17 MyApp 0x2006c21d4 -[RNSScreenView notifyTransitionProgress:closing:goingForward:] (RNSScreen.mm:517)
18 MyApp 0x2006c4778 -[RNSScreen notifyTransitionProgress:closing:goingForward:] (RNSScreen.mm:1208)
19 QuartzCore 0x333df1a10 CA::Display::DisplayLinkItem::dispatch

20 QuartzCore 0x333df4bf8 CA::Display::DisplayLink::dispatch_items
21 QuartzCore 0x333df4704 CA::Display::DisplayLink::callback
22 QuartzCore 0x333df1ba8 display_timer_callback
23 CoreFoundation 0x3311ee010 __CFMachPortPerform
24 CoreFoundation 0x3311edf4c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION
25 CoreFoundation 0x3311ec9d4 __CFRunLoopDoSource1
26 CoreFoundation 0x3311ec00c __CFRunLoopRun
27 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
28 GraphicsServices 0x3b79b15e8 GSEventRunModal
29 UIKitCore 0x33582c2b0 -[UIApplication _run]
30 UIKitCore 0x33582b8ec UIApplicationMain
31 MyApp 0x200384068 main (main.m:8)
32 0x1cbf42dcc

Thread 0 Crashed:
0 MyApp 0x20067768c reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:95)
1 MyApp 0x200677624 [inlined] std::__1::__libcpp_thread_get_current_id[abi:v160006] (__threading_support:383)
2 MyApp 0x200677624 [inlined] std::__1::this_thread::get_id[abi:v160006] (__threading_support:699)
3 MyApp 0x200677624 reanimated::ReanimatedReentrancyCheck::before (ReanimatedHermesRuntime.h:59)
4 MyApp 0x20067604c [inlined] facebook::jsi::detail::BeforeCaller::before (decorator.h:461)
5 MyApp 0x20067604c [inlined] facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:793)
6 MyApp 0x20067604c [inlined] facebook::jsi::WithRuntimeDecorator::Around::Around (decorator.h:792)
7 MyApp 0x20067604c facebook::jsi::WithRuntimeDecorator::createObject (decorator.h:630)
8 MyApp 0x200665108 [inlined] facebook::jsi::Object::Object (jsi.h:658)
9 MyApp 0x200665108 [inlined] convertNSDictionaryToJSIObject (REAJSIUtils.h:30)
10 MyApp 0x200665108 convertObjCObjectToJSIValue (REAJSIUtils.h:56)
11 MyApp 0x200664e68 reanimated::createReanimatedModule (NativeProxy.mm:299)
12 MyApp 0x200683eec __33-[REANodesManager dispatchEvent:]_block_invoke (REANodesManager.mm:395)
13 MyApp 0x200745c30 RCTExecuteOnMainQueue (RCTUtils.m:262)
14 MyApp 0x200683e18 -[REANodesManager dispatchEvent:] (REANodesManager.mm:387)
15 MyApp 0x20066faa0 -[RCTEventDispatcher(Reanimated) reanimated_sendEvent:] (RCTEventDispatcher+Reanimated.m:23)
16 MyApp 0x2006fafc8 _createEventSetter_block_invoke_2 (RCTComponentData.m:137)
17 MyApp 0x2006c21d4 -[RNSScreenView notifyTransitionProgress:closing:goingForward:] (RNSScreen.mm:517)
18 MyApp 0x2006c4778 -[RNSScreen notifyTransitionProgress:closing:goingForward:] (RNSScreen.mm:1208)
19 QuartzCore 0x333df1a10 CA::Display::DisplayLinkItem::dispatch

20 QuartzCore 0x333df4bf8 CA::Display::DisplayLink::dispatch_items
21 QuartzCore 0x333df4704 CA::Display::DisplayLink::callback
22 QuartzCore 0x333df1ba8 display_timer_callback
23 CoreFoundation 0x3311ee010 __CFMachPortPerform
24 CoreFoundation 0x3311edf4c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION
25 CoreFoundation 0x3311ec9d4 __CFRunLoopDoSource1
26 CoreFoundation 0x3311ec00c __CFRunLoopRun
27 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
28 GraphicsServices 0x3b79b15e8 GSEventRunModal
29 UIKitCore 0x33582c2b0 -[UIApplication _run]
30 UIKitCore 0x33582b8ec UIApplicationMain
31 MyApp 0x200384068 main (main.m:8)
32 0x1cbf42dcc

Thread 1
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 2
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 3
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 4 name: com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x3bfbcf1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3bfbcef6c mach_msg2_internal
2 libsystem_kernel.dylib 0x3bfbcee84 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3bfbcecc4 mach_msg
4 CoreFoundation 0x3311edd08 __CFRunLoopServiceMachPort
5 CoreFoundation 0x3311ebc00 __CFRunLoopRun
6 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
7 Foundation 0x32f124548 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
8 Foundation 0x32f152278 -[NSRunLoop(NSRunLoop) runUntilDate:]
9 UIKitCore 0x33578dfc4 -[UIEventFetcher threadMain]
10 Foundation 0x32f1a9180 NSThread__start
11 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 5
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 6
0 libsystem_kernel.dylib 0x3bfbcf9d8 __semwait_signal
1 libsystem_c.dylib 0x3411c1f1c nanosleep
2 libsystem_c.dylib 0x3411d01d8 sleep
3 MyApp 0x200869f08 monitorCachedData (SentryCrashCachedData.c:145)
4 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 7 name: SentryCrash Exception Handler (Secondary)
0 libsystem_kernel.dylib 0x3bfbcf1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3bfbcef6c mach_msg2_internal
2 libsystem_kernel.dylib 0x3bfbcee84 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3bfbcecc4 mach_msg
4 MyApp 0x200875c40 handleExceptions (SentryCrashMonitor_MachException.c:314)
5 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 9
0 libsystem_pthread.dylib 0x4046799fc start_wqthread

Thread 10
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 11
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 12 name: com.facebook.react.JavaScript
0 hermes 0x102440248 dtoa_fixedpoint
1 hermes 0x10243dc3c dtoa_fixedpoint
2 hermes 0x10243f048 dtoa_fixedpoint
3 hermes 0x10243f1a0 dtoa_fixedpoint
4 hermes 0x1023eaa74 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
5 hermes 0x1023eacdc hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
6 hermes 0x10235aa04 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
7 hermes 0x102356064 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
8 hermes 0x102356c64 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
9 hermes 0x102356038 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
10 hermes 0x10235c764 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
11 hermes 0x10235bcd8 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
12 hermes 0x10235bd54 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
13 hermes 0x10235c0b4 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
14 hermes 0x10235bc68 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
15 hermes 0x10235c0b4 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
16 hermes 0x10235bc68 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
17 hermes 0x10235bd54 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
18 hermes 0x10235c08c hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
19 hermes 0x10235bc68 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
20 hermes 0x10235bd54 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
21 hermes 0x10235c08c hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
22 hermes 0x10235bc68 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
23 hermes 0x10235bd54 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
24 hermes 0x10235e90c hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
25 hermes 0x10235ee70 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
26 hermes 0x1023562c4 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
27 hermes 0x10235c764 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
28 hermes 0x10235bcd8 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
29 hermes 0x10235bbd4 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
30 hermes 0x1023425e0 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
31 hermes 0x102341418 hermes::vm::JSOutOfMemoryError::~JSOutOfMemoryError
32 hermes 0x102315ae0 facebook::jsi::JSError::~JSError
33 hermes 0x102315328 facebook::jsi::JSError::~JSError
34 hermes 0x1021a11c0 facebook::hermes::HermesRuntime::evaluateJavaScriptWithSourceMap
35 hermes 0x1021a0c88 facebook::hermes::HermesRuntime::evaluateJavaScriptWithSourceMap
36 hermes 0x1021a1d18 facebook::hermes::HermesRuntime::rootsListLengthForTests
37 MyApp 0x2006756ac [inlined] facebook::jsi::RuntimeDecorator::evaluateJavaScript (decorator.h:118)
38 MyApp 0x2006756ac facebook::jsi::WithRuntimeDecorator::evaluateJavaScript (decorator.h:530)
39 MyApp 0x200698788 reanimated::WorkletRuntime::installValueUnpacker (WorkletRuntime.cpp:25)
40 MyApp 0x20066a6e8 reanimated::NativeReanimatedModule::installValueUnpacker (NativeReanimatedModule.cpp:139)
41 MyApp 0x20066f670 reanimated::__hostFunction_NativeReanimatedModuleSpec_installValueUnpacker (NativeReanimatedModuleSpec.cpp:15)
42 MyApp 0x2007e2948 [inlined] std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
43 MyApp 0x2007e2948 std::__1::function::operator() (function.h:1156)
44 hermes 0x1021ad47c facebook::hermes::debugger::Debugger::jsiValueFromHermesValue
45 hermes 0x1021c0d6c facebook::jsi::JSError::~JSError
46 hermes 0x1021dfda4 facebook::jsi::JSError::~JSError
47 hermes 0x1021df2b0 facebook::jsi::JSError::~JSError
48 hermes 0x1021c1014 facebook::jsi::JSError::~JSError
49 hermes 0x10228ebc4 facebook::jsi::JSError::~JSError
50 hermes 0x1021c0d6c facebook::jsi::JSError::~JSError
51 hermes 0x1021dfda4 facebook::jsi::JSError::~JSError
52 hermes 0x1021df2b0 facebook::jsi::JSError::~JSError
53 hermes 0x1021c1014 facebook::jsi::JSError::~JSError
54 hermes 0x1021c07a8 facebook::jsi::JSError::~JSError
55 hermes 0x1021dfdc0 facebook::jsi::JSError::~JSError
56 hermes 0x1021df2b0 facebook::jsi::JSError::~JSError
57 hermes 0x1021c1014 facebook::jsi::JSError::~JSError
58 hermes 0x1021bf85c facebook::jsi::JSError::~JSError
59 hermes 0x10228e8e0 facebook::jsi::JSError::~JSError
60 hermes 0x1021c0d6c facebook::jsi::JSError::~JSError
61 hermes 0x1021dfda4 facebook::jsi::JSError::~JSError
62 hermes 0x1021df2b0 facebook::jsi::JSError::~JSError
63 hermes 0x1021c1014 facebook::jsi::JSError::~JSError
64 hermes 0x1021c07a8 facebook::jsi::JSError::~JSError
65 hermes 0x1021a5dd0 facebook::hermes::HermesRuntime::rootsListLengthForTests
66 MyApp 0x2007e15f0 [inlined] facebook::jsi::RuntimeDecorator::call (decorator.h:340)
67 MyApp 0x2007e15f0 facebook::jsi::WithRuntimeDecorator::call (decorator.h:753)
68 MyApp 0x200810bb0 [inlined] facebook::jsi::Function::call (jsi-inl.h:259)
69 MyApp 0x200810bb0 [inlined] facebook::jsi::Function::call (jsi-inl.h:264)
70 MyApp 0x200810bb0 facebook::jsi::Function::call (jsi-inl.h:272)
71 MyApp 0x200810a1c [inlined] facebook::react::JSIExecutor::callFunction::lambda::operator() (JSIExecutor.cpp:253)
72 MyApp 0x200810a1c [inlined] std::__1::__invoke[abi:v160006] (invoke.h:394)
73 MyApp 0x200810a1c [inlined] std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
74 MyApp 0x200810a1c [inlined] std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
75 MyApp 0x200810a1c std::__1::__function::__func::operator() (function.h:356)
76 MyApp 0x20070d19c [inlined] std::__1::__invoke[abi:v160006] (invoke.h:394)
77 MyApp 0x20070d19c std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
78 MyApp 0x20080dbd8 [inlined] std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
79 MyApp 0x20080dbd8 [inlined] std::__1::function::operator() (function.h:1156)
80 MyApp 0x20080dbd8 facebook::react::JSIExecutor::callFunction (JSIExecutor.cpp:251)
81 MyApp 0x2007bae8c [inlined] std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
82 MyApp 0x2007bae8c [inlined] std::__1::function::operator() (function.h:1156)
83 MyApp 0x2007bae8c [inlined] facebook::react::NativeToJsBridge::runOnExecutorQueue::lambda::operator() (NativeToJsBridge.cpp:310)
84 MyApp 0x2007bae8c [inlined] std::__1::__invoke[abi:v160006] (invoke.h:394)
85 MyApp 0x2007bae8c [inlined] std::__1::__invoke_void_return_wrapper::__call (invoke.h:487)
86 MyApp 0x2007bae8c [inlined] std::__1::__function::__alloc_func::operator()[abi:v160006] (function.h:185)
87 MyApp 0x2007bae8c std::__1::__function::__func::operator() (function.h:356)
88 MyApp 0x200710508 [inlined] std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
89 MyApp 0x200710508 [inlined] std::__1::function::operator() (function.h:1156)
90 MyApp 0x200710508 facebook::react::tryAndReturnError (RCTCxxUtils.mm:74)
91 MyApp 0x20071b5b8 facebook::react::RCTMessageThread::tryFunc (RCTMessageThread.mm:69)
92 MyApp 0x20071b384 [inlined] std::__1::__function::__value_func::operator()[abi:v160006] (function.h:510)
93 MyApp 0x20071b384 [inlined] std::__1::function::operator() (function.h:1156)
94 MyApp 0x20071b384 facebook::react::RCTMessageThread::runAsync (RCTMessageThread.mm:45)
95 CoreFoundation 0x3311ef3a4 CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK
96 CoreFoundation 0x3311edb98 __CFRunLoopDoBlocks
97 CoreFoundation 0x3311eba98 __CFRunLoopRun
98 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
99 MyApp 0x20070567c +[RCTCxxBridge runRunLoop] (RCTCxxBridge.mm:337)
100 Foundation 0x32f1a9180 NSThread__start
101 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 13
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 14 name: hades
0 libsystem_kernel.dylib 0x3bfbcfb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x404678fd0 _pthread_cond_wait
2 libc++.1.dylib 0x3514ecec8 std::__1::condition_variable::wait
3 hermes 0x1022b43f4 facebook::jsi::JSError::~JSError
4 hermes 0x1022b41a8 facebook::jsi::JSError::~JSError
5 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 15 name: hermes-chrome-inspector-conn
0 libsystem_kernel.dylib 0x3bfbcfb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x404678fd0 _pthread_cond_wait
2 libc++.1.dylib 0x3514ecec8 std::__1::condition_variable::wait
3 MyApp 0x200809f54 [inlined] std::__1::condition_variable::wait (__mutex_base:400)
4 MyApp 0x200809f54 facebook::hermes::inspector::detail::SerialExecutor::runLoop (SerialExecutor.cpp:41)
5 MyApp 0x2007cc978 [inlined] std::__1::__invoke[abi:v160006] (invoke.h:394)
6 MyApp 0x2007cc978 [inlined] std::__1::__thread_execute[abi:v160006] (thread:288)
7 MyApp 0x2007cc978 std::__1::__thread_proxy[abi:v160006] (thread:299)
8 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 16 name: hermes-inspector
0 libsystem_kernel.dylib 0x3bfbcfb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x404678fd0 _pthread_cond_wait
2 libc++.1.dylib 0x3514ecec8 std::__1::condition_variable::wait
3 MyApp 0x200809f54 [inlined] std::__1::condition_variable::wait (__mutex_base:400)
4 MyApp 0x200809f54 facebook::hermes::inspector::detail::SerialExecutor::runLoop (SerialExecutor.cpp:41)
5 MyApp 0x2007cc978 [inlined] std::__1::__invoke[abi:v160006] (invoke.h:394)
6 MyApp 0x2007cc978 [inlined] std::__1::__thread_execute[abi:v160006] (thread:288)
7 MyApp 0x2007cc978 std::__1::__thread_proxy[abi:v160006] (thread:299)
8 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 17 name: com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x3bfbcf1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3bfbcef6c mach_msg2_internal
2 libsystem_kernel.dylib 0x3bfbcee84 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3bfbcecc4 mach_msg
4 CoreFoundation 0x3311edd08 __CFRunLoopServiceMachPort
5 CoreFoundation 0x3311ebc00 __CFRunLoopRun
6 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
7 CFNetwork 0x3335ae77c _CFURLStorageSessionCopyIdentifier
8 Foundation 0x32f1a9180 NSThread__start
9 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 18 name: com.apple.CFNetwork.CustomProtocols
0 libsystem_kernel.dylib 0x3bfbcf1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3bfbcef6c mach_msg2_internal
2 libsystem_kernel.dylib 0x3bfbcee84 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3bfbcecc4 mach_msg
4 CoreFoundation 0x3311edd08 __CFRunLoopServiceMachPort
5 CoreFoundation 0x3311ebc00 __CFRunLoopRun
6 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
7 CFNetwork 0x3335ae77c _CFURLStorageSessionCopyIdentifier
8 Foundation 0x32f1a9180 NSThread__start
9 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 19
0 libsystem_kernel.dylib 0x3bfbd7730 __workq_kernreturn
1 libsystem_pthread.dylib 0x4046799ac _pthread_wqthread

Thread 20 name: com.facebook.SocketRocket.NetworkThread
0 libsystem_kernel.dylib 0x3bfbcf1d8 mach_msg2_trap
1 libsystem_kernel.dylib 0x3bfbcef6c mach_msg2_internal
2 libsystem_kernel.dylib 0x3bfbcee84 mach_msg_overwrite
3 libsystem_kernel.dylib 0x3bfbcecc4 mach_msg
4 CoreFoundation 0x3311edd08 __CFRunLoopServiceMachPort
5 CoreFoundation 0x3311ebc00 __CFRunLoopRun
6 CoreFoundation 0x3311eb664 CFRunLoopRunSpecific
7 Foundation 0x32f124548 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
8 MyApp 0x2008e402c -[SRRunLoopThread main] (SRRunLoopThread.m:70)
9 Foundation 0x32f1a9180 NSThread__start
10 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 21 name: com.apple.CFSocket.private
0 libsystem_kernel.dylib 0x3bfbdb8c0 __select
1 CoreFoundation 0x33129796c __CFSocketManager
2 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 22
0 libsystem_kernel.dylib 0x3bfbcfb7c __psynch_cvwait
1 libsystem_pthread.dylib 0x404678fd0 _pthread_cond_wait
2 libc++.1.dylib 0x3514ecec8 std::__1::condition_variable::wait
3 hermes 0x1022b43f4 facebook::jsi::JSError::~JSError
4 hermes 0x1022b41a8 facebook::jsi::JSError::~JSError
5 libsystem_pthread.dylib 0x40467a4d0 _pthread_start

Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x00000001fa510a00 x1: 0x03000001fa51ce99 x2: 0x00000001fa51d938 x3: 0x000000016fa812dd
x4: 0x0000000000000016 x5: 0x0000000000003300 x6: 0x0000000000000073 x7: 0x00000000000003e8
x8: 0x0000000170227000 x9: 0x0000000000000000 x10: 0x000000014790cb29 x11: 0x007f00011e012400
x12: 0x000000000000004c x13: 0x000000011e0128b0 x14: 0x03000001fa51ce99 x15: 0x00000001fa51ce98
x16: 0x00000001fa510a00 x17: 0x00000001fa510a00 x18: 0x0000000000000000 x19: 0x0000000282e4b240
x20: 0x0000000282e4b218 x21: 0x000000016fa811c0 x22: 0x0000000280d7e140 x23: 0x00000002802c0300
x24: 0xa17118ac5259a3b3 x25: 0x00000001fa510ae0 x26: 0x0000000123a78e50 x27: 0x0000000120842a00
x28: 0x0000000000000104 fp: 0x000000016fa81120 lr: 0x8650330100677628 sp: 0x000000016fa81110
pc: 0x000000010067768c cpsr: 0x0000000020000000

@Nodonisko
Copy link
Contributor Author

Could this be related to react-native-screens? I can see this in @huextrat stack trace:

17 MyApp 0x2006c21d4 -[RNSScreenView notifyTransitionProgress:closing:goingForward:] (RNSScreen.mm:517)
18 MyApp 0x2006c4778 -[RNSScreen notifyTransitionProgress:closing:goingForward:] (RNSScreen.mm:1208)

And it seems that react-native-screen uses reanimated.

@tomekzaw
Copy link
Member

tomekzaw commented Dec 15, 2023

@huextrat Thanks, this helps a lot! Does the stack trace come from a debug or release build? What's the exact name of the build configuration, is it Release or something else?

@Nodonisko Might be, but currently we suspect that the issue is that Reanimated tries to use worklet runtime on the UI thread (e.g. when handling event) when the worklet runtime has not been fully initialized yet.

@tomekzaw tomekzaw self-assigned this Dec 15, 2023
@tomekzaw tomekzaw removed the Needs review Issue is ready to be reviewed by a maintainer label Dec 15, 2023
@huextrat
Copy link

@huextrat Thanks, this helps a lot! Does the stack trace come from a debug or release build? What's the exact name of the build configuration, is it Release or something else?

@Nodonisko Might be, but currently we suspect that the issue is that Reanimated tries to use worklet runtime on the UI thread (e.g. when handling event) when the worklet runtime has not been fully initialized yet.

@tomekzaw Glad to help! This stack trace is from a release build. If you mean the exact name of iOS configuration, it's Prod_Release

@Nodonisko
Copy link
Contributor Author

Nodonisko commented Dec 15, 2023

@tomekzaw I think it's also happening on Android, but there is no stacktrace only SIGTRAP https://satoshilabs.sentry.io/share/issue/f556cdefb8f34eecaafe93d7ddbe50c8/

I just noticed we started to get this error on Android right after we updated Reanimated from 2.3.0 to 2.5.4 which is same time as we started to get that iOS error.

@tomekzaw
Copy link
Member

@huextrat Great, that's what I thought, thanks for confirming this! You see, the failing code is wrapped inside #ifndef NDEBUG which means it should be compiled only in debug mode (or rather: not compiled in release mode) so I was wondering why you have it in your release app. It turns out that React Native sets DEBUG flag in debug mode but sadly does not set NDEBUG flag in release mode (we found out when for some reason we migrated all #ifdef DEBUG in Reanimated to #ifndef NDEBUG and everything started to fail). From the perspective of RN library, we don't know the build configurations of the app, so we manually set NDEBUG flag only for config=Release but if your release named something different than Release (e.g. Prod_Release), you should install pods with environmental variable PRODUCTION=1 which makes our podspec to force injection of NDEBUG flag. Fortunately, the issue with missing NDEBUG flag in React Native was already fixed by @tjzel in facebook/react-native#41715 should will be released in React Native 0.73.2.

At the same time, passing PRODUCTION=1 flag in your case will not solve the underlying issue; it would only skip the check. Good news is that I already have an idea on how to fix it (also on Android, cc @Nodonisko) and I will submit a PR soon (early next week). Thanks again for quick response!

@huextrat
Copy link

@tomekzaw Thank you for your investigation. There's documentation on the PRODUCTION=1 flag I'd never seen that before on the Reanimated documentation? But given the explanation, it makes sense.

I'm looking forward to seeing the PR!

@tomekzaw
Copy link
Member

There's documentation on the PRODUCTION=1 flag

This is a flag from React Native (mentioned e.g. here) but yeah it's not documented at all, that's why we shouldn't rely on it. However, it's required only if the build configuration has a different name than the default one, which technically is also a custom setup.

@huextrat
Copy link

There's documentation on the PRODUCTION=1 flag

This is a flag from React Native (mentioned e.g. here) but yeah it's not documented at all, that's why we shouldn't rely on it. However, it's required only if the build configuration has a different name than the default one, which technically is also a custom setup.

All right, it would have been interesting to be the same flag as NO_FLIPPER so basically replacing documentation about NO_FLIPPER to recommend using PRODUCTION instead (ex: https://reactnative.dev/docs/next/speeding-ci-builds), but this is another topic haha

@Nodonisko
Copy link
Contributor Author

@tomekzaw Thank you for quick fix!

github-merge-queue bot pushed a commit that referenced this issue Dec 21, 2023
<!-- Thanks for submitting a pull request! We appreciate you spending
the time to work on these changes. Please follow the template so that
the reviewers can easily understand what the code changes affect. -->

## Summary

Fixes #5421, fixes #5331.

This PR removes `installValueUnpacker` method which was called on the JS
thread during the creation of `NativeReanimatedModule` but operated
directly on the UI runtime. Because of this, UI runtime was already used
from JS thread so any use from the UI runtime (e.g. Reanimated event
handlers) would cause a crash due to a failed check in
`ReanimatedReentrancyCheck::before`. Note that the check also occurred
in release mode due to improperly set `NDEBUG` flag.

## Test plan

<!-- Provide a minimal but complete code snippet that can be used to
test out this change along with instructions how to run it and a
description of the expected behavior. -->
@Nodonisko
Copy link
Contributor Author

@tomekzaw I seems that fix did not helped, at least for iOS. We released yesterday new version of our app which is using version 3.7.0-nightly-20240101-9d365ae7b and we still got crashes reported on startup.

Same error as before:
https://satoshilabs.sentry.io/share/issue/b32f6c235e384b0f8703d7ab37b6edfa/

@arditderstila
Copy link

@tomekzaw I seems that fix did not helped, at least for iOS. We released yesterday new version of our app which is using version 3.7.0-nightly-20240101-9d365ae7b and we still got crashes reported on startup.

Same error as before: https://satoshilabs.sentry.io/share/issue/b32f6c235e384b0f8703d7ab37b6edfa/

are u using Hermes ?

@Nodonisko
Copy link
Contributor Author

Yes, it's Hermes.

RikSchefferAmsterdam pushed a commit to Amsterdam/amsterdam-app-frontend that referenced this issue Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Missing info The user didn't precise the problem enough Missing repro This issue need minimum repro scenario Platform: iOS This issue is specific to iOS
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants