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] Random app crash on production build #2327

Closed
1 of 3 tasks
abgaryanharutyun opened this issue Aug 27, 2021 · 73 comments
Closed
1 of 3 tasks

[IOS] Random app crash on production build #2327

abgaryanharutyun opened this issue Aug 27, 2021 · 73 comments
Labels
Bug bug-bash-jan22 Issues visited during Bug Bash Jan 2022 Crash Important This seem to be a serious issue and we will need to take a deeper look into it some time soon 🏠 Reanimated 2

Comments

@abgaryanharutyun
Copy link

abgaryanharutyun commented Aug 27, 2021

Description

Getting app crash on random places with reanimated 2

Expected behavior

No crash

Actual behavior & steps to reproduce

Random behaviour

Snack or minimal code example

terminating with uncaught exception of type facebook::jsi::JSError: Exception in HostObject::get(propName:_value): mutex lock failed: Invalid argument
workletValueSetter
[native code]
(lldb)

Package versions

  • React Native: 0.64.2
  • React Native Reanimated: 2.2.0
  • NodeJS: 14
  • Xcode: 12.5.1
  • Java & Gradle: -

Affected platforms

  • Android
  • iOS
  • Web
@github-actions
Copy link

github-actions bot commented Aug 27, 2021

Issue validator

The issue is valid!

@kesha-antonov
Copy link

Same here

@blaswan
Copy link

blaswan commented Sep 1, 2021

Same here

@antonio5mins
Copy link

antonio5mins commented Sep 9, 2021

Hey, we are facing the same problem. When running on physical devices (ios) we get this crash randomly

@marcel-happyfloat
Copy link

maybe similar: #2366

@piaskowyk piaskowyk self-assigned this Sep 10, 2021
@piaskowyk
Copy link
Member

Could you try to update to 2.2.1 version?

@antonio5mins
Copy link

antonio5mins commented Sep 10, 2021

Still happens for us @piaskowyk

@pistonsky
Copy link

Still happens in 2.2.3

@pistonsky
Copy link

In my case it happens when a screen that contains some worklets that are being used in animated styles gets unmounted. I'm hosting my shared values in react context, so that these values can later be accessed by various components on the screen. The context gets erased, along with all components having animated styles, but the worklet is still being called after that.

@kasperski95
Copy link

kasperski95 commented Oct 21, 2021

What features your application uses?

  • shared values in context 👍
  • portals 👎
  • setting shared value in InteractionManager 😃
  • scrollOffset based animations 🎉
  • runOnJS 😕

@hmust92
Copy link

hmust92 commented Nov 2, 2021

In my case it happens when a screen that contains some worklets that are being used in animated styles gets unmounted. I'm hosting my shared values in react context, so that these values can later be accessed by various components on the screen. The context gets erased, along with all components having animated styles, but the worklet is still being called after that.

Is the screen where you are seeing the crash your home screen or another screen you navigate to?

I am running into this same issue. In our app, our shared values are also initialized in context on our home screen. We notice this issue whenever we remount the home screen. (from a push notification while the app is already running)

It doesn't happen every time, but it does happen from time to time and crashes the application. Still trying to wrap my head around completely why it happens as well.

As a workaround for now we are considering initializing our shared values outside of the components (using makeMutable) and then also maintaining them. It's not ideal but it might potentially prevent the crash when the screen holding those shared values unmounts.

@MingaudasVagonis
Copy link

We are receiving a lot of these after upgrading from 2.2.0 (in all of the new versions 2.2.1, 2.2.2, 2.2.3, 2.3.0+). Also happening only on real devices in production. I managed to catch the crash on xcode (partially cut off, don't know if that will be any help).
image

@paulrostorp
Copy link

Exact same crash happened on production using react-native-reanimated@2.2.4 and react-native-screens@3.9.0.

Not sure if this is relevant (or true), but I have reason to believe screens is related because sentry tells me it happens in a transaction called RNSScreen:
Screenshot 2021-12-13 at 13 25 58

(crashlytics reports the exact same error message as in #2327 (comment))

@MingaudasVagonis
Copy link

After upgrading to reanimated 2.3.0 and no longer reseting routes in react-navigation (not sure which one helped), we have gone from around 1000 total of these crashes in multiple releases to 0.

@Moorkell
Copy link

@MingaudasVagonis We are seeing this issue as well in release builds, currently attempting to upgrade to 2.3.0. If you don't mind me asking, what version of react-navigation are you on?

@MingaudasVagonis
Copy link

@Moorkell

"@react-navigation/bottom-tabs": "^6.0.9",
"@react-navigation/material-top-tabs": "^6.0.6",
"@react-navigation/native": "^6.0.6",
"@react-navigation/stack": "^6.0.11",

@renatobentorocha
Copy link

We also had experimented some crashes and screen freeze when navigate back using navigation.popToTop() or navigation.goBack(). The solution, basically, was use of InteractionManager and remove Layout Animations.

Packges:

  • react-native-reanimated@^2.3.1
  • react-native-gesture-handler@^2.1.0

@paulrostorp
Copy link

This issue is still happening on v2.3.1. I have a more detailed crash log here:

Exception in HostObject::get(propName:_value): mutex lock failed: Invalid argument workletValueSetter@/Users/paulrostorp/work/crimson-frog/actions-runner/_work/mobile/mobile/node_modules/react-native-reanimated/src/reanimated2/core.ts (192:0):1:1085 [native code]

@Cavallando
Copy link

I realize this might not fit everyone's situation, but we also started seeing a crash with this error in production builds only, running v2.3.1 of reanimated and using LayoutAnimations. In our use case, we are using our own bridged iOS native module that is running some longer running processes on the background. We noticed this crash coming up before any of the longer processes were even triggered.

Looking at the Swift we wrote for this, I noticed we were signaling to the main thread within our background thread with Dispatch.main.async which is all fine generally speaking but I realized doing that didn't make sense for us.

I won't pretend I know much about what mutex lock means in this context or in any context really but everything I read online seemed to relate back to DispatchQueues and background threads. But the timing of when this dispatch happens and when we needed to run some LayoutAnimation was right inline with each other and the "randomness" of the crash seemed to align with the asynchronous nature of our native module. I also believe I read somewhere that threads work a little bit differently when running in dev vs. production builds.

I could be making all of this up but just going off of what I could, we seemed to have gotten around this crash for our use case after removing the Dispatch.main.async and keeping things in the background thread.

Definitely feels like there is a bug, or at least an opportunity for a more useful error message, however since signaling back to the main thread is a common/often required process.

@gran33
Copy link

gran33 commented Jan 16, 2022

Same here.

"react-native-reanimated": "2.2.4",
"react-native-navigation": "7.24.3",

@Ubax Ubax added the bug-bash-jan22 Issues visited during Bug Bash Jan 2022 label Jan 28, 2022
@piaskowyk piaskowyk removed their assignment Jan 28, 2022
@nhannah
Copy link

nhannah commented Feb 3, 2022

Ran into the same error using:

"react-native-reanimated": "2.3.1",
"react-native-screens": "3.10.2",
"@react-navigation/native": "6.0.6",
"@react-navigation/native-stack": "6.2.5",

Exact same crash happened on production using react-native-reanimated@2.2.4 and react-native-screens@3.9.0.

Not sure if this is relevant (or true), but I have reason to believe screens is related because sentry tells me it happens in a transaction called RNSScreen: Screenshot 2021-12-13 at 13 25 58

(crashlytics reports the exact same error message as in #2327 (comment))

@GuoXiaoyang
Copy link

GuoXiaoyang commented Feb 4, 2022

Same error here, using:

"react-native-reanimated": "~2.3.1",
"react-native-screens": "~3.10.1",
"@react-navigation/drawer": "^6.1.8",
"@react-navigation/elements": "^1.2.1",
"@react-navigation/native": "^6.0.6",
"@react-navigation/routers": "^6.1.0",
"@react-navigation/stack": "^6.0.11",

Collected crash log:

Version:             2.2.0 (27)
AppStoreTools:       13C90b
AppVariant:          1:iPhone11,8:15
Beta:                YES
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.xx.xx.xx [2557]

Date/Time:           2022-02-04 16:26:54.0104 +0800
Launch Time:         2022-02-04 15:43:01.8122 +0800
OS Version:          iPhone OS 15.2.1 (19C63)
Release Type:        User
Baseband Version:    4.02.02
Report Version:      104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: FRONTBOARD 2343432205 
<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:scene-update watchdog transgression: application<com.moement.moego.business>:28852 exhausted real (wall clock) time allowance of 10.00 seconds
ProcessVisibility: Foreground
ProcessState: Running
WatchdogEvent: scene-update
WatchdogVisibility: Background
WatchdogCPUStatistics: (
"Elapsed total CPU time (seconds): 19.480 (user 19.480, system 0.000), 30% CPU",
"Elapsed application CPU time (seconds): 0.107, 0% CPU"
) reportType:CrashLog maxTerminationResistance:Interactive>

Triggered by Thread:  0


Kernel Triage:
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get


Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001b915a66c __psynch_mutexwait + 8
1   libsystem_pthread.dylib       	0x00000001f25fc3cc _pthread_mutex_firstfit_lock_wait + 84 (pthread_mutex.c:1414)
2   libsystem_pthread.dylib       	0x00000001f260350c _pthread_mutex_firstfit_lock_slow + 240 (pthread_mutex.c:1490)
3   business                      	0x0000000102952a94 -[RCTEventDispatcher sendEvent:] + 84 (RCTEventDispatcher.mm:124)
4   business                      	0x0000000102874c00 -[REAEventDispatcher sendEvent:] + 164 (REAEventDispatcher.m:11)
5   business                      	0x00000001028dd58c __createEventSetter_block_invoke_2 + 260 (RCTComponentData.m:122)
6   business                      	0x000000010297b028 -[RCTImageView reloadImage] + 224 (RCTImageView.mm:308)
7   business                      	0x000000010297c34c -[RCTImageView didMoveToWindow] + 136 (RCTImageView.mm:0)
8   UIKitCore                     	0x00000001842ece78 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 2228 (UIView.m:15964)
9   UIKitCore                     	0x00000001842ec960 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 924 (UIView.m:15859)
10  UIKitCore                     	0x00000001841ea0f4 -[UIScrollView _didMoveFromWindow:toWindow:] + 96 (UIScrollView.m:2987)
11  UIKitCore                     	0x00000001842ec960 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 924 (UIView.m:15859)
12  UIKitCore                     	0x00000001841ea0f4 -[UIScrollView _didMoveFromWindow:toWindow:] + 96 (UIScrollView.m:2987)
13  UIKitCore                     	0x00000001842ec960 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 924 (UIView.m:15859)
14  UIKitCore                     	0x00000001842125cc __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 140 (UIView.m:12304)
15  CoreAutoLayout                	0x000000019a7555f8 -[NSISEngine withBehaviors:performModifications:] + 88 (NSISEngine.m:1988)
16  UIKitCore                     	0x00000001842a2128 -[UIView(Hierarchy) _postMovedFromSuperview:] + 836 (UIView.m:471)
17  UIKitCore                     	0x00000001841be194 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 2148 (UIView.m:16700)
18  business                      	0x00000001028bd944 -[RNSScreenContainerView attachScreen:atIndex:] + 212 (RNSScreenContainer.m:130)
19  business                      	0x00000001028bddf4 -[RNSScreenContainerView updateContainer] + 1072 (RNSScreenContainer.m:170)
20  business                      	0x00000001028b8c54 -[RNSScreenView setActivityStateOrNil:] + 108 (RNSScreen.m:76)
21  business                      	0x00000001028dc8d8 __49-[RCTComponentData createPropBlock:isShadowView:]_block_invoke.89 + 228 (RCTComponentData.m:300)
22  business                      	0x00000001028dca8c __49-[RCTComponentData createPropBlock:isShadowView:]_block_invoke_2.90 + 364 (RCTComponentData.m:318)
23  business                      	0x00000001028dccec __37-[RCTComponentData setProps:forView:]_block_invoke + 100 (RCTComponentData.m:356)
24  CoreFoundation                	0x0000000181bcc714 __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ + 24 (NSDictionaryHelpers.m:10)
25  CoreFoundation                	0x0000000181be482c -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 208 (NSDictionaryM_Common.h:315)
26  business                      	0x00000001028dcc68 -[RCTComponentData setProps:forView:] + 124 (RCTComponentData.m:355)
27  business                      	0x000000010293041c -[RCTUIManager synchronouslyUpdateViewOnUIThread:viewName:props:] + 156 (RCTUIManager.m:1048)
28  business                      	0x0000000102968490 -[RCTPropsAnimatedNode updateView] + 260 (RCTPropsAnimatedNode.m:75)
29  business                      	0x0000000102968bb4 -[RCTPropsAnimatedNode performUpdate] + 840 (RCTPropsAnimatedNode.m:139)
30  business                      	0x000000010295c79c -[RCTAnimatedNode updateNodeIfNecessary] + 264 (RCTAnimatedNode.m:106)
31  business                      	0x0000000102964c54 0x10277c000 + 2002004
32  CoreFoundation                	0x0000000181bcc714 __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ + 24 (NSDictionaryHelpers.m:10)
33  CoreFoundation                	0x0000000181be482c -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 208 (NSDictionaryM_Common.h:315)
34  business                      	0x0000000102964708 0x10277c000 + 2000648
35  business                      	0x0000000102935b18 RCTExecuteOnMainQueue + 44 (RCTUtils.m:258)
36  business                      	0x000000010296292c -[RCTNativeAnimatedModule eventDispatcherWillDispatchEvent:] + 92 (RCTNativeAnimatedModule.mm:355)
37  business                      	0x0000000102952b14 -[RCTEventDispatcher sendEvent:] + 212 (RCTEventDispatcher.mm:127)
38  business                      	0x0000000102874c00 -[REAEventDispatcher sendEvent:] + 164 (REAEventDispatcher.m:11)
39  business                      	0x0000000102849638 -[RNGestureHandler sendStateChangeEvent:] + 120 (RNGestureHandler.m:0)
40  business                      	0x0000000102849590 -[RNGestureHandler sendEventsInState:forViewWithTag:withExtraData:] + 352 (RNGestureHandler.m:233)
41  business                      	0x0000000102849408 -[RNGestureHandler handleGesture:] + 204 (RNGestureHandler.m:194)
42  UIKitCore                     	0x0000000184212c14 -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 56 (UIGestureRecognizer.m:136)
43  UIKitCore                     	0x00000001841dbd48 _UIGestureRecognizerSendTargetActions + 116 (UIGestureRecognizer.m:1481)
44  UIKitCore                     	0x00000001841a4a94 _UIGestureRecognizerSendActions + 284 (UIGestureRecognizer.m:1520)
45  UIKitCore                     	0x00000001841de0f8 -[UIGestureRecognizer _updateGestureForActiveEvents] + 636 (UIGestureRecognizer.m:0)
46  UIKitCore                     	0x0000000184196304 _UIGestureEnvironmentUpdate + 1988 (UIGestureEnvironment.m:206)
47  UIKitCore                     	0x00000001841ca0b0 -[UIGestureEnvironment _updateForEvent:window:] + 784 (UIGestureEnvironment.m:1332)
48  UIKitCore                     	0x00000001841d7250 -[UIWindow sendEvent:] + 4428 (UIWindow.m:3265)
49  UIKitCore                     	0x0000000184387918 -[UIApplication sendEvent:] + 828 (UIApplication.m:11876)
50  UIKitCore                     	0x00000001841aa464 __dispatchPreprocessedEventFromEventQueue + 7904 (UIEventDispatcher.m:2290)
51  UIKitCore                     	0x000000018419f250 __processEventQueue + 6760 (UIEventDispatcher.m:2597)
52  UIKitCore                     	0x00000001841a46fc __eventFetcherSourceCallback + 172 (UIEventDispatcher.m:2669)
53  CoreFoundation                	0x0000000181c470d0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1972)
54  CoreFoundation                	0x0000000181c57d90 __CFRunLoopDoSource0 + 208 (CFRunLoop.c:2016)
55  CoreFoundation                	0x0000000181b92098 __CFRunLoopDoSources0 + 268 (CFRunLoop.c:2053)
56  CoreFoundation                	0x0000000181b978a4 __CFRunLoopRun + 820 (CFRunLoop.c:2951)
57  CoreFoundation                	0x0000000181bab468 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
58  GraphicsServices              	0x000000019d73638c GSEventRunModal + 164 (GSEvent.c:2200)
59  UIKitCore                     	0x000000018454d088 -[UIApplication _run] + 1100 (UIApplication.m:3493)
60  UIKitCore                     	0x00000001842cb958 UIApplicationMain + 2092 (UIApplication.m:5046)
61  business                      	0x000000010278414c main + 88 (main.m:7)
62  dyld                          	0x0000000103995aa4 start + 520 (dyldMain.cpp:879)

@u840903
Copy link

u840903 commented Feb 6, 2022

I can reliably reproduce C++ Exception RNSScreen Unhandled N8facebook3jsi7JSErrorE by setting an entering animation as an exiting animation.

<Animated.View exiting={SlideInDown} />
{
  "react-native-reanimated": "~2.3.1",
}

@nickolaz
Copy link

nickolaz commented Aug 1, 2022

Any update? It's affecting our app too.
Anyone tell us how to fix it.
image

@Gnative
Copy link

Gnative commented Aug 1, 2022

If it helps anyone, check the component where you use reanimated/gestures is not rendering more than necessary.

I was running into an issue with quite a lot of freezing, hanging and crashes from having reanimated shared values set with in a FlatList item components. Noticed that there were a lot of unnecessary renders with my FlatList item components and after fixing this, with the use of memorisation, my app has become more stable and have not seen any reported app freezing since.

This might be similar to some of the earlier comments in regards to noticing this issue happens more when mounting/unmounting more complex screens

@Pyroboomka
Copy link

Our issues was fixed when I refactored react-navigation. Crash happened when mounting new stack navigator with a screen, that heavily uses reanimated features. So after some refactoring (remove extra stack navigator, put a problematic screen in navigator above) it kinda stopped happening. Maybe this will be helpful for someone.

@piaskowyk piaskowyk added Important This seem to be a serious issue and we will need to take a deeper look into it some time soon Crash labels Aug 8, 2022
@amin79
Copy link

amin79 commented Aug 16, 2022

same problem here

"react-native": "0.69.4",
"react-native-reanimated": "~2.9.1",
"@react-navigation/stack": "^6.2.2",

@arinjay
Copy link

arinjay commented Aug 16, 2022

Any updates here ?

we are experiencing the same issue for months now.
The issue happens when clearing multiple screens for the navigation stack.

@amin79
Copy link

amin79 commented Aug 16, 2022

@arinjay They have release a new version some hours ago. I'm installing and testing. Hope it is solved in this version.

@iGroza
Copy link

iGroza commented Aug 26, 2022

same issue, I have random crashes on iOS release build

libc++abi: terminating with uncaught exception of type facebook::jsi::JSError
dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/usr/lib/libMTLCapture.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
terminating with uncaught exception of type facebook::jsi::JSError

ENV:
react-native: 0.68.2
react-native-reanimated: 2.9.1

and I use @gorhom/bottom-sheet based on reanimated2
DEVICE: iPhone 12, iOS 15.5

@iGroza
Copy link

iGroza commented Aug 26, 2022

same issue, I have random crashes on iOS release build

libc++abi: terminating with uncaught exception of type facebook::jsi::JSError
dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/usr/lib/libMTLCapture.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
terminating with uncaught exception of type facebook::jsi::JSError

ENV: react-native: 0.68.2 react-native-reanimated: 2.9.1

and I use @gorhom/bottom-sheet based on reanimated2 DEVICE: iPhone 12, iOS 15.5

I found a solution, i just enable hermes and the error is gone 🥸

@romantseg
Copy link

Any updates on this? We are seeing this issue with Hermes enabled, so unlikely it's due to that.
Also noticed that this mostly happens now after XCode 14

@declanelcocks
Copy link

@RomanTsegelskyi anything else you've updated or enabled? I've noticed this issue happening for quite some time on even on XCode 13.

@romantseg
Copy link

@declanelcocks not sure. We only started seeing it after we had first built with XCode 14 and haven't seen this error before. Hermes has been enabled for a while

@pke
Copy link

pke commented Dec 2, 2022

Exact same crash happened on production using react-native-reanimated@2.2.4 and react-native-screens@3.9.0.

Not sure if this is relevant (or true), but I have reason to believe screens is related because sentry tells me it happens in a transaction called RNSScreen: Screenshot 2021-12-13 at 13 25 58

(crashlytics reports the exact same error message as in #2327 (comment))

We are also experiencing this:

image

And the reason seems obvious. An unchecked null ptr access. The reanimated code is riddled with unchecked access to pointers and could really need a thorough linting cure.

image
It even says in the comment can be null, yet RNRA just chains calls on it, without any try..catch protection.

@rajeevverma076
Copy link

gqrdcujrclsvvkajsamfabzowwpi/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNReanimated.build/Objects-normal/x86_64/UIResponder+Reanimated.dia:1:1: warning: Could not read serialized diagnostics file: error("Failed to open diagnostics file") (in target 'RNReanimated' from project 'Pods')

"react-native-reanimated": "^2.11.0",
"react-native": "0.68.2",

Not able to run ios build

@shivamp2404
Copy link

shivamp2404 commented Dec 21, 2022

More detailed logs:

"react-native": "0.66.0",
"react-native-reanimated": "2.3.1",
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Application Specific Information:
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
CoreSimulator 776.3 - Device: iPhone 12 Pro (74D7A1A8-E30D-4885-BBA8-5C3996E03C1C) - Runtime: iOS 15.0 (19A339) - DeviceType: iPhone 12 Pro
terminating with uncaught exception of type facebook::jsi::JSError: Exception in HostObject::get(propName:_value): mutex lock failed: Invalid argument
workletValueSetter@/Users/user/app-react-native/node_modules/react-native-reanimated/src/reanimated2/core.ts (192:0):1:1085
@[native code]
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
abort() called


Kernel Triage:
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   ???                           	       0x17ee52940 ???
1   <translation info unavailable>	       0x17fb17aec ???
2   libsystem_pthread.dylib       	       0x11f5981ff pthread_kill + 263
3   libsystem_c.dylib             	       0x11f73871e __abort + 139
4   libsystem_c.dylib             	       0x11f738693 abort + 138
5   libc++abi.dylib               	       0x115e285c2 abort_message + 241
6   libc++abi.dylib               	       0x115e19755 demangling_terminate_handler() + 242
7   libobjc.A.dylib               	       0x1143cbc23 _objc_terminate() + 104
8   myapp                     	       0x102e8fc25 FIRCLSTerminateHandler() + 325
9   libc++abi.dylib               	       0x115e279e7 std::__terminate(void (*)()) + 8
10  libc++abi.dylib               	       0x115e27998 std::terminate() + 56
11  libdispatch.dylib             	       0x11e366a6a _dispatch_client_callout + 28
12  libdispatch.dylib             	       0x11e373e20 _dispatch_main_queue_callback_4CF + 1073
13  CoreFoundation                	       0x12112185d __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
14  CoreFoundation                	       0x12111c0ba __CFRunLoopRun + 2772
15  CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
16  GraphicsServices              	       0x1228d5cd3 GSEventRunModal + 139
17  UIKitCore                     	       0x1375d9e63 -[UIApplication _run] + 928
18  UIKitCore                     	       0x1375dea53 UIApplicationMain + 101
19  myapp                     	       0x102abbbdf main + 63 (AppDelegate.swift:86)
20  dyld_sim                      	       0x110e63e1e start_sim + 10
21  dyld                          	       0x208ae051e start + 462

Thread 1:: com.apple.rosetta.exceptionserver
0   ???                           	    0x7ff7ffed79a4 ???
1   ???                           	    0x7ff7ffef0208 ???

Thread 2:: com.apple.uikit.eventfetch-thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   CoreFoundation                	       0x121121450 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                	       0x12111baf3 __CFRunLoopRun + 1293
5   CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
6   Foundation                    	       0x11826341c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
7   Foundation                    	       0x118263693 -[NSRunLoop(NSRunLoop) runUntilDate:] + 72
8   UIKitCore                     	       0x13769a0b9 -[UIEventFetcher threadMain] + 491
9   Foundation                    	       0x11828c142 __NSThread__start__ + 999
10  libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
11  libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 3:
0   ???                           	    0x7ff7ffef5814 ???

Thread 4:: com.google.firebase.crashlytics.MachExceptionServer
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   myapp                     	       0x102e9bf01 FIRCLSMachExceptionReadMessage + 81
4   myapp                     	       0x102e9be40 FIRCLSMachExceptionServer + 48
5   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
6   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 5:: com.apple.NSURLConnectionLoader
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   CoreFoundation                	       0x121121450 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                	       0x12111baf3 __CFRunLoopRun + 1293
5   CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
6   CFNetwork                     	       0x113d2037e 0x113ae7000 + 2331518
7   Foundation                    	       0x11828c142 __NSThread__start__ + 999
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 6:: JavaScriptCore bmalloc scavenger
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   libc++.1.dylib                	       0x110d86a73 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 93
4   JavaScriptCore                	       0x11cc7e3c2 bmalloc::Scavenger::threadRunLoop() + 882
5   JavaScriptCore                	       0x11cc7dae9 bmalloc::Scavenger::threadEntryPoint(bmalloc::Scavenger*) + 9
6   JavaScriptCore                	       0x11cc7f3e7 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::Scavenger*), bmalloc::Scavenger*> >(void*) + 39
7   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
8   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 7:: AVAudioSession Notify Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   CoreFoundation                	       0x121121450 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                	       0x12111baf3 __CFRunLoopRun + 1293
5   CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
6   AudioSession                  	       0x11f7d8f1d CADeprecated::GenericRunLoopThread::Entry(void*) + 157
7   AudioSession                  	       0x11f7eab89 CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 77
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 8:: AMCP Logging Spool
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1097d1284 ???
2   caulk                         	       0x120e6fa56 caulk::mach::semaphore::wait_or_error() + 16
3   caulk                         	       0x120e6ae2e caulk::concurrent::details::worker_thread::run() + 36
4   caulk                         	       0x120e6ae82 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 41
5   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
6   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 9:: com.apple.CFNetwork.CustomProtocols
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   CoreFoundation                	       0x121121450 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                	       0x12111baf3 __CFRunLoopRun + 1293
5   CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
6   CFNetwork                     	       0x113d2037e 0x113ae7000 + 2331518
7   Foundation                    	       0x11828c142 __NSThread__start__ + 999
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 10:: com.squareup.SocketRocket.NetworkThread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   CoreFoundation                	       0x121121450 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                	       0x12111baf3 __CFRunLoopRun + 1293
5   CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
6   Foundation                    	       0x11826341c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
7   myapp_ios                     	       0x127c261e2 -[_RCTSRRunLoopThread main] + 338 (RCTSRWebSocket.m:1620)
8   Foundation                    	       0x11828c142 __NSThread__start__ + 999
9   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
10  libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 11:: com.apple.CFSocket.private
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1097f4e84 ???
2   CoreFoundation                	       0x121136260 __CFSocketManager + 628
3   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
4   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 12:: JIT Worklist Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 13:: com.facebook.react.JavaScript
0   <translation info unavailable>	       0x10b0b9bb4 ???
1   <translation info unavailable>	       0x10b0b96c8 ???
2   myapp_ios                     	       0x127e96b15 facebook::jsc::JSCRuntime::JSCStringValue::~JSCStringValue() + 21 (JSCRuntime.cpp:105)
3   myapp_ios                     	       0x127e96ae6 facebook::jsc::JSCRuntime::JSCStringValue::invalidate() + 70 (JSCRuntime.cpp:534)
4   myapp_ios                     	       0x127c8157d facebook::jsi::Pointer::~Pointer() + 45 (jsi.h:366)
5   myapp_ios                     	       0x127ad09c5 facebook::jsi::String::~String() + 21 (jsi.h:478)
6   myapp_ios                     	       0x127ad0805 facebook::jsi::String::~String() + 21 (jsi.h:478)
7   myapp_ios                     	       0x127a4e489 reanimated::FrozenObject::FrozenObject(facebook::jsi::Runtime&, facebook::jsi::Object const&, reanimated::RuntimeManager*) + 649 (FrozenObject.cpp:22)
8   myapp_ios                     	       0x127a4e86d reanimated::FrozenObject::FrozenObject(facebook::jsi::Runtime&, facebook::jsi::Object const&, reanimated::RuntimeManager*) + 45 (FrozenObject.cpp:11)
9   myapp_ios                     	       0x127b1de37 std::__1::__shared_ptr_emplace<reanimated::FrozenObject, std::__1::allocator<reanimated::FrozenObject> >::__shared_ptr_emplace<facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&>(std::__1::allocator<reanimated::FrozenObject>, facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&) + 167 (memory:2627)
10  myapp_ios                     	       0x127b1dafd std::__1::__shared_ptr_emplace<reanimated::FrozenObject, std::__1::allocator<reanimated::FrozenObject> >::__shared_ptr_emplace<facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&>(std::__1::allocator<reanimated::FrozenObject>, facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&) + 45 (memory:2621)
11  myapp_ios                     	       0x127b1d9d4 std::__1::shared_ptr<reanimated::FrozenObject> std::__1::allocate_shared<reanimated::FrozenObject, std::__1::allocator<reanimated::FrozenObject>, facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&, void>(std::__1::allocator<reanimated::FrozenObject> const&, facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&) + 148 (memory:3385)
12  myapp_ios                     	       0x127b14b57 std::__1::shared_ptr<reanimated::FrozenObject> std::__1::make_shared<reanimated::FrozenObject, facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&, void>(facebook::jsi::Runtime&, facebook::jsi::Object&, reanimated::RuntimeManager*&) + 103 (memory:3394)
13  myapp_ios                     	       0x127b13c87 reanimated::ShareableValue::adapt(facebook::jsi::Runtime&, facebook::jsi::Value const&, reanimated::ValueType) + 4135 (ShareableValue.cpp:164)
14  myapp_ios                     	       0x127b14e9b reanimated::ShareableValue::adapt(facebook::jsi::Runtime&, facebook::jsi::Value const&, reanimated::RuntimeManager*, reanimated::ValueType) + 203 (ShareableValue.cpp:194)
15  myapp_ios                     	       0x127b13903 reanimated::ShareableValue::adapt(facebook::jsi::Runtime&, facebook::jsi::Value const&, reanimated::ValueType) + 3235 (ShareableValue.cpp:141)
16  myapp_ios                     	       0x127b14e9b reanimated::ShareableValue::adapt(facebook::jsi::Runtime&, facebook::jsi::Value const&, reanimated::RuntimeManager*, reanimated::ValueType) + 203 (ShareableValue.cpp:194)
17  myapp_ios                     	       0x127a73649 reanimated::MutableValue::set(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&, facebook::jsi::Value const&) + 1561 (MutableValue.cpp:66)
18  myapp_ios                     	       0x127e9e06c facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::setProperty(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSString*, OpaqueJSValue const*, OpaqueJSValue const**) + 156 (JSCRuntime.cpp:766)
19  JavaScriptCore                	       0x11bdf2b13 JSC::JSCallbackObject<JSC::JSNonFinalObject>::put(JSC::JSCell*, JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 291
20  JavaScriptCore                	       0x11c529bab JSC::operationPutByIdNonStrict(JSC::JSGlobalObject*, JSC::StructureStubInfo*, long long, long long, unsigned long) + 1467
21  ???                           	    0x2d8ce35964f5 ???
22  ???                           	    0x2d8ce342f12b ???
23  ???                           	    0x2d8ce3484640 ???
24  ???                           	    0x2d8ce32af10c ???
25  ???                           	    0x2d8ce30ead47 ???
26  ???                           	    0x2d8ce31f7dc0 ???
27  ???                           	    0x2d8ce30050aa ???
28  ???                           	    0x2d8ce3002b17 ???
29  JavaScriptCore                	       0x11bd52d06 vmEntryToJavaScript + 216
30  JavaScriptCore                	       0x11c4920bc JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 540
31  JavaScriptCore                	       0x11c7dd343 JSC::boundThisNoArgsFunctionCall(JSC::JSGlobalObject*, JSC::CallFrame*) + 707
32  JavaScriptCore                	       0x11bd52e58 vmEntryToNative + 226
33  JavaScriptCore                	       0x11c4920eb JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 587
34  JavaScriptCore                	       0x11c721a74 JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 164
35  JavaScriptCore                	       0x11be09e29 JSObjectCallAsFunction + 665
36  myapp_ios                     	       0x127e98fa3 facebook::jsc::JSCRuntime::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 339 (JSCRuntime.cpp:1260)
37  myapp_ios                     	       0x127ea8189 facebook::jsi::Function::call(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 105 (jsi-inl.h:228)
38  myapp_ios                     	       0x127ea80c5 facebook::jsi::Function::call(facebook::jsi::Runtime&, std::initializer_list<facebook::jsi::Value>) const + 101 (jsi-inl.h:233)
39  myapp_ios                     	       0x127ed0ddd facebook::jsi::Value facebook::jsi::Function::call<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, facebook::jsi::Value&&) const + 365 (jsi-inl.h:241)
40  myapp_ios                     	       0x127ed0bf9 facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5::operator()() const + 153 (JSIExecutor.cpp:256)
41  myapp_ios                     	       0x127ed0b3d decltype(std::__1::forward<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5&>(fp)()) std::__1::__invoke<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5&>(facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5&) + 29 (type_traits:3694)
42  myapp_ios                     	       0x127ed0aed void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5&>(facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5&) + 29 (__functional_base:348)
43  myapp_ios                     	       0x127ed0abd std::__1::__function::__alloc_func<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5, std::__1::allocator<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5>, void ()>::operator()() + 29 (functional:1558)
44  myapp_ios                     	       0x127ecf9f9 std::__1::__function::__func<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5, std::__1::allocator<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_5>, void ()>::operator()() + 25 (functional:1732)
45  myapp_ios                     	       0x127c870c2 std::__1::__function::__value_func<void ()>::operator()() const + 50 (functional:1885)
46  myapp_ios                     	       0x127c86ff5 std::__1::function<void ()>::operator()() const + 21 (functional:2560)
47  myapp_ios                     	       0x127b38395 facebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) + 21 (JSIExecutor.h:107)
48  myapp_ios                     	       0x127b3adcc decltype(std::__1::forward<void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>(fp)(std::__1::forward<std::__1::function<void ()> const&>(fp0), std::__1::forward<std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()> >(fp0))) std::__1::__invoke<void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()> >(void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 108 (type_traits:3694)
49  myapp_ios                     	       0x127b3ad37 void std::__1::__invoke_void_return_wrapper<void, true>::__call<void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()> >(void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 71 (__functional_base:348)
50  myapp_ios                     	       0x127b3acc7 std::__1::__function::__alloc_func<void (*)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::allocator<void (*)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>, void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 71 (functional:1558)
51  myapp_ios                     	       0x127b398a6 std::__1::__function::__func<void (*)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::allocator<void (*)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>, void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 70 (functional:1732)
52  myapp_ios                     	       0x127ecf01f std::__1::__function::__value_func<void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) const + 95 (functional:1885)
53  myapp_ios                     	       0x127ebfce2 std::__1::function<void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) const + 66 (functional:2560)
54  myapp_ios                     	       0x127ebf8f9 facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&) + 457 (JSIExecutor.cpp:254)
55  myapp_ios                     	       0x127e0ea24 facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2::operator()(facebook::react::JSExecutor*) const + 724 (NativeToJsBridge.cpp:207)
56  myapp_ios                     	       0x127e0e732 decltype(std::__1::forward<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&>(fp)(std::__1::forward<facebook::react::JSExecutor*>(fp0))) std::__1::__invoke<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*&&) + 50 (type_traits:3694)
57  myapp_ios                     	       0x127e0e6d2 void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*&&) + 50 (__functional_base:348)
58  myapp_ios                     	       0x127e0e692 std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 50 (functional:1558)
59  myapp_ios                     	       0x127e0d331 std::__1::__function::__func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 49 (functional:1732)
60  myapp_ios                     	       0x127e19c4a std::__1::__function::__value_func<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) const + 74 (functional:1885)
61  myapp_ios                     	       0x127e19bcd std::__1::function<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*) const + 45 (functional:2560)
62  myapp_ios                     	       0x127e19b97 facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8::operator()() const + 87 (NativeToJsBridge.cpp:310)
63  myapp_ios                     	       0x127e19b1d decltype(std::__1::forward<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&>(fp)()) std::__1::__invoke<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&) + 29 (type_traits:3694)
64  myapp_ios                     	       0x127e19acd void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&) + 29 (__functional_base:348)
65  myapp_ios                     	       0x127e19a9d std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8>, void ()>::operator()() + 29 (functional:1558)
66  myapp_ios                     	       0x127e18619 std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8>, void ()>::operator()() + 25 (functional:1732)
67  myapp_ios                     	       0x127c870c2 std::__1::__function::__value_func<void ()>::operator()() const + 50 (functional:1885)
68  myapp_ios                     	       0x127c86ff5 std::__1::function<void ()>::operator()() const + 21 (functional:2560)
69  myapp_ios                     	       0x127b947b5 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 21 (RCTCxxUtils.mm:74)
70  myapp_ios                     	       0x127bc2a71 facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 33 (RCTMessageThread.mm:69)
71  myapp_ios                     	       0x127bc7d73 facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1::operator()() const + 83 (RCTMessageThread.mm:82)
72  myapp_ios                     	       0x127bc7cfd decltype(std::__1::forward<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(fp)()) std::__1::__invoke<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&) + 29 (type_traits:3694)
73  myapp_ios                     	       0x127bc7cad void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&) + 29 (__functional_base:348)
74  myapp_ios                     	       0x127bc7c7d std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()() + 29 (functional:1558)
75  myapp_ios                     	       0x127bc68f9 std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()() + 25 (functional:1732)
76  myapp_ios                     	       0x127c870c2 std::__1::__function::__value_func<void ()>::operator()() const + 50 (functional:1885)
77  myapp_ios                     	       0x127c86ff5 std::__1::function<void ()>::operator()() const + 21 (functional:2560)
78  myapp_ios                     	       0x127bc27da invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 42 (RCTMessageThread.mm:45)
79  CoreFoundation                	       0x121121bbb __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
80  CoreFoundation                	       0x121120fc1 __CFRunLoopDoBlocks + 443
81  CoreFoundation                	       0x12111be15 __CFRunLoopRun + 2095
82  CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
83  myapp_ios                     	       0x127b632a2 +[RCTCxxBridge runRunLoop] + 962 (RCTCxxBridge.mm:367)
84  Foundation                    	       0x11828c142 __NSThread__start__ + 999
85  libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
86  libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 14:: com.apple.CFStream.LegacyThread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x1087d4834 ???
2   libsystem_kernel.dylib        	       0x11f770ce8 mach_msg + 56
3   CoreFoundation                	       0x121121450 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                	       0x12111baf3 __CFRunLoopRun + 1293
5   CoreFoundation                	       0x12111b103 CFRunLoopRunSpecific + 567
6   CoreFoundation                	       0x121144c4c _legacyStreamRunLoop_workThread + 249
7   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
8   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 15:
0   ???                           	    0x7ff7ffef5814 ???

Thread 16:
0   ???                           	    0x7ff7ffef5814 ???

Thread 17:: JSC Heap Collector Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 18:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 19:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 20:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 21:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 22:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 23:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 24:: Heap Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 25:: JSC Heap Collector Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 26:: JIT Worklist Helper Thread
0   ???                           	       0x108748940 ???
1   <translation info unavailable>	       0x108beac24 ???
2   libsystem_pthread.dylib       	       0x11f598a6f _pthread_cond_wait + 1249
3   JavaScriptCore                	       0x11cbf99a7 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) + 3591
4   JavaScriptCore                	       0x11c363c6a bool WTF::Condition::waitUntilUnchecked<WTF::Lock>(WTF::Lock&, WTF::TimeWithDynamicClockType const&) + 154
5   JavaScriptCore                	       0x11cbc354b WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() + 379
6   JavaScriptCore                	       0x11cc20fff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 255
7   JavaScriptCore                	       0x11cc23d39 WTF::wtfThreadEntryPoint(void*) + 9
8   libsystem_pthread.dylib       	       0x11f5984e1 _pthread_start + 125
9   libsystem_pthread.dylib       	       0x11f593f6b thread_start + 15

Thread 27:
0   ???                           	    0x7ff7ffef5814 ???

Thread 28:
0   ???                           	    0x7ff7ffef5814 ???


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000208b5b600  rcx: 0x0000000000000000  rdx: 0x0000000000000000
  rdi: 0x000000030d991d10  rsi: 0x0000000000000003  rbp: 0x0000000000989680  rsp: 0x0000000000000000
   r8: 0x000000030d991d08   r9: 0x0000000000989680  r10: 0x0000000208b5b600  r11: 0x30313a313a29303a
  r12: 0x0000000000000103  r13: 0x0000003000000008  r14: 0x0000000000000006  r15: 0x0000000000000016
  rip: <unavailable>       rfl: 0x0000000000000283
 tmp0: 0xffffffffffffffff tmp1: 0x000000017ee52914 tmp2: 0x0000000172cb3470


Binary Images:
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
       0x11f592000 -        0x11f59dfff libsystem_pthread.dylib (*) <2f6c275d-7e14-3d31-a924-e1bb41d2415f> /usr/lib/system/libsystem_pthread.dylib
       0x11f6bc000 -        0x11f73ffff libsystem_c.dylib (*) <51aca1b3-4ccf-3807-bad5-887c92fd66a8> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libsystem_c.dylib
       0x115e18000 -        0x115e2dfff libc++abi.dylib (*) <0730c74e-ae80-3f64-92c9-fe946463a8de> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libc++abi.dylib
       0x1143c6000 -        0x1143f7fff libobjc.A.dylib (*) <8d646e32-1ecc-300d-acea-e906348ab594> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dylib
       0x100e02000 -        0x103fe5fff com.myapp.customer.debug (5.38) <8b1414da-f0af-3565-a1c8-b71448d96754> /Users/USER/Library/Developer/CoreSimulator/Devices/74D7A1A8-E30D-4885-BBA8-5C3996E03C1C/data/Containers/Bundle/Application/1A569B51-BF2A-4F81-B8DE-0E01EC4A0452/myapp.app/myapp
       0x11e364000 -        0x11e3aafff libdispatch.dylib (*) <888b1439-4deb-36fa-9ca2-6761a53541b5> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libdispatch.dylib
       0x1210a1000 -        0x1214a2fff com.apple.CoreFoundation (6.9) <1e31c79c-63d5-3c10-857d-2d64f9efcc55> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
       0x1228d2000 -        0x1228dafff com.apple.GraphicsServices (1.0) <c48119f4-7524-3ffa-99a4-f2ed0ed96793> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
       0x136912000 -        0x13817efff com.apple.UIKitCore (1.0) <9b492a0f-d6a5-3bc5-9689-50586f8db216> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
       0x110e62000 -        0x110eaefff dyld_sim (*) <d494c297-dc73-394b-901e-1b5930e801df> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim
       0x208adb000 -        0x208b46fff dyld (*) <dd9e80de-fb3b-349b-96a4-46874ad34d11> /usr/lib/dyld
       0x11f76f000 -        0x11f7a6fff libsystem_kernel.dylib (*) <26a59789-b846-3ed4-96dc-8dbef3c0c8e7> /usr/lib/system/libsystem_kernel.dylib
       0x118141000 -        0x11842ffff com.apple.Foundation (6.9) <02621b3d-174a-37be-879c-4be0f0fa8d96> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Foundation.framework/Foundation
       0x113ae7000 -        0x113f72fff com.apple.CFNetwork (1312) <35b9ca69-ac1b-3620-beb0-728fe87c024d> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CFNetwork.framework/CFNetwork
       0x110d7e000 -        0x110dd3fff libc++.1.dylib (*) <0671d992-833a-3db2-aaf7-de1b5a18dd4b> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libc++.1.dylib
       0x11bace000 -        0x11cdacfff com.apple.JavaScriptCore (8612) <9c11a3c8-fb8a-332f-9344-728e9cae9b64> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore
       0x11f7d7000 -        0x11f7fdfff com.apple.audio.AudioSession (1.0) <bafd4874-f589-3ffe-831b-9a1af5fe804c> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioSession.framework/AudioSession
       0x120e54000 -        0x120e77fff com.apple.audio.caulk (1.0) <5a4164bf-1c0f-3d8a-82bb-de08905b14c5> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/caulk.framework/caulk
       0x126c04000 -        0x1285bffff com.myapp.myapp-ios (1.0) <6b9fc012-9f0a-34f6-aa41-5a081d21f710> /Users/USER/Library/Developer/CoreSimulator/Devices/74D7A1A8-E30D-4885-BBA8-5C3996E03C1C/data/Containers/Bundle/Application/1A569B51-BF2A-4F81-B8DE-0E01EC4A0452/myapp.app/Frameworks/myapp_ios.framework/myapp_ios

Error Formulating Crash Report:
dyld_process_snapshot_get_shared_cache failed

EOF

@JB-CHAUVIN
Copy link

JB-CHAUVIN commented Apr 5, 2023

I fixed the issue with the following patch.

I had the following error when running the app in "release mode" with XCODE : workletFun.bind is undefined...

Here is the patch package :

diff --git a/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js b/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js
index f6beec5..b89ca58 100644
--- a/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js
+++ b/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js
@@ -59,23 +59,23 @@ function valueUnpacker(objectToUnpack, category) {
         // we want to use the proper filename for the location as it guarantees
         // that debugger understands and loads the source code of the file where
         // the worklet is defined.
-        workletFun = global.evalWithSourceMap('(' + initData.code + '\n)', initData.location, initData.sourceMap);
+        workletFun = global.evalWithSourceMap('(' + initData?.code + '\n)', initData?.location, initData?.sourceMap);
       } else if (global.evalWithSourceUrl) {
         // if the runtime doesn't support loading source maps, in dev mode we
         // can pass source url when evaluating the worklet. Now, instead of using
         // the actual file location we use worklet hash, as it the allows us to
         // properly symbolicate traces (see errors.ts for details)
-        workletFun = global.evalWithSourceUrl('(' + initData.code + '\n)', `worklet_${workletHash}`);
+        workletFun = global.evalWithSourceUrl('(' + initData?.code + '\n)', `worklet_${workletHash}`);
       } else {
         // in release we use the regular eval to save on JSI calls
         // eslint-disable-next-line no-eval
-        workletFun = eval('(' + initData.code + '\n)');
+        workletFun = eval('(' + initData?.code + '\n)');
       }
 
       workletsCache.set(workletHash, workletFun);
     }
 
-    const functionInstance = workletFun.bind(objectToUnpack);
+    const functionInstance = workletFun?.bind?.(objectToUnpack);
     objectToUnpack._recur = functionInstance;
     return functionInstance;
   } else if (objectToUnpack.__init) {
diff --git a/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js.map b/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js.map
index 7488c89..c48c9b8 100644
--- a/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js.map
+++ b/node_modules/react-native-reanimated/lib/commonjs/reanimated2/initializers.js.map
@@ -1 +1 @@
-{"version":3,"names":["callGuardDEV","fn","args","e","global","ErrorUtils","reportFatalError","valueUnpacker","objectToUnpack","category","workletsCache","__workletsCache","handleCache","__handleCache","undefined","Map","WeakMap","workletHash","__workletHash","workletFun","get","initData","__initData","evalWithSourceMap","code","location","sourceMap","evalWithSourceUrl","eval","set","functionInstance","bind","_recur","__init","value","fun","Error","__remoteFunction","setupRequestAnimationFrame","nativeRequestAnimationFrame","requestAnimationFrame","animationFrameCallbacks","lastNativeAnimationFrameTimestamp","__flushAnimationFrame","frameTimestamp","currentCallbacks","forEach","f","flushImmediates","callback","push","length","timestamp","__frameTimestamp","initializeUIRuntime","NativeReanimatedModule","installCoreFunctions","IS_JEST","isJest","setTimeout","performance","now","capturableConsole","console","runOnUIImmediately","error","runOnJS","reportFatalErrorOnJS","message","stack","debug","log","warn","info","setupSetImmediate"],"sources":["initializers.ts"],"sourcesContent":["import { reportFatalErrorOnJS } from './errors';\nimport NativeReanimatedModule from './NativeReanimated';\nimport { isJest } from './PlatformChecker';\nimport {\n  runOnJS,\n  setupSetImmediate,\n  flushImmediates,\n  runOnUIImmediately,\n} from './threads';\n\n// callGuard is only used with debug builds\nfunction callGuardDEV<T extends Array<any>, U>(\n  fn: (...args: T) => U,\n  ...args: T\n): void {\n  'worklet';\n  try {\n    fn(...args);\n  } catch (e) {\n    if (global.ErrorUtils) {\n      global.ErrorUtils.reportFatalError(e as Error);\n    } else {\n      throw e;\n    }\n  }\n}\n\nfunction valueUnpacker(objectToUnpack: any, category?: string): any {\n  'worklet';\n  let workletsCache = global.__workletsCache;\n  let handleCache = global.__handleCache;\n  if (workletsCache === undefined) {\n    // init\n    workletsCache = global.__workletsCache = new Map();\n    handleCache = global.__handleCache = new WeakMap();\n  }\n  const workletHash = objectToUnpack.__workletHash;\n  if (workletHash !== undefined) {\n    let workletFun = workletsCache.get(workletHash);\n    if (workletFun === undefined) {\n      const initData = objectToUnpack.__initData;\n      if (global.evalWithSourceMap) {\n        // if the runtime (hermes only for now) supports loading source maps\n        // we want to use the proper filename for the location as it guarantees\n        // that debugger understands and loads the source code of the file where\n        // the worklet is defined.\n        workletFun = global.evalWithSourceMap(\n          '(' + initData.code + '\\n)',\n          initData.location,\n          initData.sourceMap\n        ) as (...args: any[]) => any;\n      } else if (global.evalWithSourceUrl) {\n        // if the runtime doesn't support loading source maps, in dev mode we\n        // can pass source url when evaluating the worklet. Now, instead of using\n        // the actual file location we use worklet hash, as it the allows us to\n        // properly symbolicate traces (see errors.ts for details)\n        workletFun = global.evalWithSourceUrl(\n          '(' + initData.code + '\\n)',\n          `worklet_${workletHash}`\n        ) as (...args: any[]) => any;\n      } else {\n        // in release we use the regular eval to save on JSI calls\n        // eslint-disable-next-line no-eval\n        workletFun = eval('(' + initData.code + '\\n)') as (\n          ...args: any[]\n        ) => any;\n      }\n      workletsCache.set(workletHash, workletFun);\n    }\n    const functionInstance = workletFun.bind(objectToUnpack);\n    objectToUnpack._recur = functionInstance;\n    return functionInstance;\n  } else if (objectToUnpack.__init) {\n    let value = handleCache!.get(objectToUnpack);\n    if (value === undefined) {\n      value = objectToUnpack.__init();\n      handleCache!.set(objectToUnpack, value);\n    }\n    return value;\n  } else if (category === 'RemoteFunction') {\n    const fun = () => {\n      throw new Error(`Tried to synchronously call a non-worklet function on the UI thread.\n\nPossible solutions are:\n  a) If you want to synchronously execute this method, mark it as a worklet\n  b) If you want to execute this function on the JS thread, wrap it using \\`runOnJS\\``);\n    };\n    fun.__remoteFunction = objectToUnpack;\n    return fun;\n  } else {\n    throw new Error('data type not recognized by unpack method');\n  }\n}\n\nfunction setupRequestAnimationFrame() {\n  'worklet';\n\n  // Jest mocks requestAnimationFrame API and it does not like if that mock gets overridden\n  // so we avoid doing requestAnimationFrame batching in Jest environment.\n  const nativeRequestAnimationFrame = global.requestAnimationFrame;\n\n  let animationFrameCallbacks: Array<(timestamp: number) => void> = [];\n  let lastNativeAnimationFrameTimestamp = -1;\n\n  global.__flushAnimationFrame = (frameTimestamp: number) => {\n    const currentCallbacks = animationFrameCallbacks;\n    animationFrameCallbacks = [];\n    currentCallbacks.forEach((f) => f(frameTimestamp));\n    flushImmediates();\n  };\n\n  global.requestAnimationFrame = (\n    callback: (timestamp: number) => void\n  ): number => {\n    animationFrameCallbacks.push(callback);\n    if (animationFrameCallbacks.length === 1) {\n      // We schedule native requestAnimationFrame only when the first callback\n      // is added and then use it to execute all the enqueued callbacks. Once\n      // the callbacks are run, we clear the array.\n      nativeRequestAnimationFrame((timestamp) => {\n        if (lastNativeAnimationFrameTimestamp >= timestamp) {\n          // Make sure we only execute the callbacks once for a given frame\n          return;\n        }\n        lastNativeAnimationFrameTimestamp = timestamp;\n        global.__frameTimestamp = timestamp;\n        global.__flushAnimationFrame(timestamp);\n        global.__frameTimestamp = undefined;\n      });\n    }\n    // Reanimated currently does not support cancelling callbacks requested with\n    // requestAnimationFrame. We return -1 as identifier which isn't in line\n    // with the spec but it should give users better clue in case they actually\n    // attempt to store the value returned from rAF and use it for cancelling.\n    return -1;\n  };\n}\n\nexport function initializeUIRuntime() {\n  NativeReanimatedModule.installCoreFunctions(callGuardDEV, valueUnpacker);\n\n  const IS_JEST = isJest();\n\n  if (IS_JEST) {\n    // requestAnimationFrame react-native jest's setup is incorrect as it polyfills\n    // the method directly using setTimeout, therefore the callback doesn't get the\n    // expected timestamp as the only argument: https://github.com/facebook/react-native/blob/main/jest/setup.js#L28\n    // We override this setup here to make sure that callbacks get the proper timestamps\n    // when executed. For non-jest environments we define requestAnimationFrame in setupRequestAnimationFrame\n    // @ts-ignore TypeScript uses Node definition for rAF, setTimeout, etc which returns a Timeout object rather than a number\n    global.requestAnimationFrame = (callback: (timestamp: number) => void) => {\n      return setTimeout(() => callback(performance.now()), 0);\n    };\n  }\n\n  const capturableConsole = console;\n  runOnUIImmediately(() => {\n    'worklet';\n    // setup error handler\n    global.ErrorUtils = {\n      reportFatalError: (error: Error) => {\n        runOnJS(reportFatalErrorOnJS)({\n          message: error.message,\n          stack: error.stack,\n        });\n      },\n    };\n\n    // setup console\n    // @ts-ignore TypeScript doesn't like that there are missing methods in console object, but we don't provide all the methods for the UI runtime console version\n    global.console = {\n      debug: runOnJS(capturableConsole.debug),\n      log: runOnJS(capturableConsole.log),\n      warn: runOnJS(capturableConsole.warn),\n      error: runOnJS(capturableConsole.error),\n      info: runOnJS(capturableConsole.info),\n    };\n\n    if (!IS_JEST) {\n      setupSetImmediate();\n      setupRequestAnimationFrame();\n    }\n  })();\n}\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"names":["callGuardDEV","fn","args","e","global","ErrorUtils","reportFatalError","valueUnpacker","objectToUnpack","category","workletsCache","__workletsCache","handleCache","__handleCache","undefined","Map","WeakMap","workletHash","__workletHash","workletFun","get","initData","__initData","evalWithSourceMap","code","location","sourceMap","evalWithSourceUrl","eval","set","functionInstance","bind","_recur","__init","value","fun","Error","__remoteFunction","setupRequestAnimationFrame","nativeRequestAnimationFrame","requestAnimationFrame","animationFrameCallbacks","lastNativeAnimationFrameTimestamp","__flushAnimationFrame","frameTimestamp","currentCallbacks","forEach","f","flushImmediates","callback","push","length","timestamp","__frameTimestamp","initializeUIRuntime","NativeReanimatedModule","installCoreFunctions","IS_JEST","isJest","setTimeout","performance","now","capturableConsole","console","runOnUIImmediately","error","runOnJS","reportFatalErrorOnJS","message","stack","debug","log","warn","info","setupSetImmediate"],"sources":["initializers.ts"],"sourcesContent":["import { reportFatalErrorOnJS } from './errors';\nimport NativeReanimatedModule from './NativeReanimated';\nimport { isJest } from './PlatformChecker';\nimport {\n  runOnJS,\n  setupSetImmediate,\n  flushImmediates,\n  runOnUIImmediately,\n} from './threads';\n\n// callGuard is only used with debug builds\nfunction callGuardDEV<T extends Array<any>, U>(\n  fn: (...args: T) => U,\n  ...args: T\n): void {\n  'worklet';\n  try {\n    fn(...args);\n  } catch (e) {\n    if (global.ErrorUtils) {\n      global.ErrorUtils.reportFatalError(e as Error);\n    } else {\n      throw e;\n    }\n  }\n}\n\nfunction valueUnpacker(objectToUnpack: any, category?: string): any {\n  'worklet';\n  let workletsCache = global.__workletsCache;\n  let handleCache = global.__handleCache;\n  if (workletsCache === undefined) {\n    // init\n    workletsCache = global.__workletsCache = new Map();\n    handleCache = global.__handleCache = new WeakMap();\n  }\n  const workletHash = objectToUnpack.__workletHash;\n  if (workletHash !== undefined) {\n    let workletFun = workletsCache.get(workletHash);\n    if (workletFun === undefined) {\n      const initData = objectToUnpack.__initData;\n      if (global.evalWithSourceMap) {\n        // if the runtime (hermes only for now) supports loading source maps\n        // we want to use the proper filename for the location as it guarantees\n        // that debugger understands and loads the source code of the file where\n        // the worklet is defined.\n        workletFun = global.evalWithSourceMap(\n          '(' + initData?.code + '\\n)',\n          initData?.location,\n          initData?.sourceMap\n        ) as (...args: any[]) => any;\n      } else if (global.evalWithSourceUrl) {\n        // if the runtime doesn't support loading source maps, in dev mode we\n        // can pass source url when evaluating the worklet. Now, instead of using\n        // the actual file location we use worklet hash, as it the allows us to\n        // properly symbolicate traces (see errors.ts for details)\n        workletFun = global.evalWithSourceUrl(\n          '(' + initData.code + '\\n)',\n          `worklet_${workletHash}`\n        ) as (...args: any[]) => any;\n      } else {\n        // in release we use the regular eval to save on JSI calls\n        // eslint-disable-next-line no-eval\n        workletFun = eval('(' + initData.code + '\\n)') as (\n          ...args: any[]\n        ) => any;\n      }\n      workletsCache.set(workletHash, workletFun);\n    }\n    const functionInstance = workletFun?.bind?.(objectToUnpack);\n    objectToUnpack._recur = functionInstance;\n    return functionInstance;\n  } else if (objectToUnpack.__init) {\n    let value = handleCache!.get(objectToUnpack);\n    if (value === undefined) {\n      value = objectToUnpack.__init();\n      handleCache!.set(objectToUnpack, value);\n    }\n    return value;\n  } else if (category === 'RemoteFunction') {\n    const fun = () => {\n      throw new Error(`Tried to synchronously call a non-worklet function on the UI thread.\n\nPossible solutions are:\n  a) If you want to synchronously execute this method, mark it as a worklet\n  b) If you want to execute this function on the JS thread, wrap it using \\`runOnJS\\``);\n    };\n    fun.__remoteFunction = objectToUnpack;\n    return fun;\n  } else {\n    throw new Error('data type not recognized by unpack method');\n  }\n}\n\nfunction setupRequestAnimationFrame() {\n  'worklet';\n\n  // Jest mocks requestAnimationFrame API and it does not like if that mock gets overridden\n  // so we avoid doing requestAnimationFrame batching in Jest environment.\n  const nativeRequestAnimationFrame = global.requestAnimationFrame;\n\n  let animationFrameCallbacks: Array<(timestamp: number) => void> = [];\n  let lastNativeAnimationFrameTimestamp = -1;\n\n  global.__flushAnimationFrame = (frameTimestamp: number) => {\n    const currentCallbacks = animationFrameCallbacks;\n    animationFrameCallbacks = [];\n    currentCallbacks.forEach((f) => f(frameTimestamp));\n    flushImmediates();\n  };\n\n  global.requestAnimationFrame = (\n    callback: (timestamp: number) => void\n  ): number => {\n    animationFrameCallbacks.push(callback);\n    if (animationFrameCallbacks.length === 1) {\n      // We schedule native requestAnimationFrame only when the first callback\n      // is added and then use it to execute all the enqueued callbacks. Once\n      // the callbacks are run, we clear the array.\n      nativeRequestAnimationFrame((timestamp) => {\n        if (lastNativeAnimationFrameTimestamp >= timestamp) {\n          // Make sure we only execute the callbacks once for a given frame\n          return;\n        }\n        lastNativeAnimationFrameTimestamp = timestamp;\n        global.__frameTimestamp = timestamp;\n        global.__flushAnimationFrame(timestamp);\n        global.__frameTimestamp = undefined;\n      });\n    }\n    // Reanimated currently does not support cancelling callbacks requested with\n    // requestAnimationFrame. We return -1 as identifier which isn't in line\n    // with the spec but it should give users better clue in case they actually\n    // attempt to store the value returned from rAF and use it for cancelling.\n    return -1;\n  };\n}\n\nexport function initializeUIRuntime() {\n  NativeReanimatedModule.installCoreFunctions(callGuardDEV, valueUnpacker);\n\n  const IS_JEST = isJest();\n\n  if (IS_JEST) {\n    // requestAnimationFrame react-native jest's setup is incorrect as it polyfills\n    // the method directly using setTimeout, therefore the callback doesn't get the\n    // expected timestamp as the only argument: https://github.com/facebook/react-native/blob/main/jest/setup.js#L28\n    // We override this setup here to make sure that callbacks get the proper timestamps\n    // when executed. For non-jest environments we define requestAnimationFrame in setupRequestAnimationFrame\n    // @ts-ignore TypeScript uses Node definition for rAF, setTimeout, etc which returns a Timeout object rather than a number\n    global.requestAnimationFrame = (callback: (timestamp: number) => void) => {\n      return setTimeout(() => callback(performance.now()), 0);\n    };\n  }\n\n  const capturableConsole = console;\n  runOnUIImmediately(() => {\n    'worklet';\n    // setup error handler\n    global.ErrorUtils = {\n      reportFatalError: (error: Error) => {\n        runOnJS(reportFatalErrorOnJS)({\n          message: error.message,\n          stack: error.stack,\n        });\n      },\n    };\n\n    // setup console\n    // @ts-ignore TypeScript doesn't like that there are missing methods in console object, but we don't provide all the methods for the UI runtime console version\n    global.console = {\n      debug: runOnJS(capturableConsole.debug),\n      log: runOnJS(capturableConsole.log),\n      warn: runOnJS(capturableConsole.warn),\n      error: runOnJS(capturableConsole.error),\n      info: runOnJS(capturableConsole.info),\n    };\n\n    if (!IS_JEST) {\n      setupSetImmediate();\n      setupRequestAnimationFrame();\n    }\n  })();\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAOA;AACA,SAASA,YAAT,CACEC,EADF,EAGQ;EACN;;EADM,kCADHC,IACG;IADHA,IACG;EAAA;;EAEN,IAAI;IACFD,EAAE,CAAC,GAAGC,IAAJ,CAAF;EACD,CAFD,CAEE,OAAOC,CAAP,EAAU;IACV,IAAIC,MAAM,CAACC,UAAX,EAAuB;MACrBD,MAAM,CAACC,UAAP,CAAkBC,gBAAlB,CAAmCH,CAAnC;IACD,CAFD,MAEO;MACL,MAAMA,CAAN;IACD;EACF;AACF;;AAED,SAASI,aAAT,CAAuBC,cAAvB,EAA4CC,QAA5C,EAAoE;EAClE;;EACA,IAAIC,aAAa,GAAGN,MAAM,CAACO,eAA3B;EACA,IAAIC,WAAW,GAAGR,MAAM,CAACS,aAAzB;;EACA,IAAIH,aAAa,KAAKI,SAAtB,EAAiC;IAC/B;IACAJ,aAAa,GAAGN,MAAM,CAACO,eAAP,GAAyB,IAAII,GAAJ,EAAzC;IACAH,WAAW,GAAGR,MAAM,CAACS,aAAP,GAAuB,IAAIG,OAAJ,EAArC;EACD;;EACD,MAAMC,WAAW,GAAGT,cAAc,CAACU,aAAnC;;EACA,IAAID,WAAW,KAAKH,SAApB,EAA+B;IAC7B,IAAIK,UAAU,GAAGT,aAAa,CAACU,GAAd,CAAkBH,WAAlB,CAAjB;;IACA,IAAIE,UAAU,KAAKL,SAAnB,EAA8B;MAC5B,MAAMO,QAAQ,GAAGb,cAAc,CAACc,UAAhC;;MACA,IAAIlB,MAAM,CAACmB,iBAAX,EAA8B;QAC5B;QACA;QACA;QACA;QACAJ,UAAU,GAAGf,MAAM,CAACmB,iBAAP,CACX,MAAMF,QAAQ,CAACG,IAAf,GAAsB,KADX,EAEXH,QAAQ,CAACI,QAFE,EAGXJ,QAAQ,CAACK,SAHE,CAAb;MAKD,CAVD,MAUO,IAAItB,MAAM,CAACuB,iBAAX,EAA8B;QACnC;QACA;QACA;QACA;QACAR,UAAU,GAAGf,MAAM,CAACuB,iBAAP,CACX,MAAMN,QAAQ,CAACG,IAAf,GAAsB,KADX,EAEV,WAAUP,WAAY,EAFZ,CAAb;MAID,CATM,MASA;QACL;QACA;QACAE,UAAU,GAAGS,IAAI,CAAC,MAAMP,QAAQ,CAACG,IAAf,GAAsB,KAAvB,CAAjB;MAGD;;MACDd,aAAa,CAACmB,GAAd,CAAkBZ,WAAlB,EAA+BE,UAA/B;IACD;;IACD,MAAMW,gBAAgB,GAAGX,UAAU,CAACY,IAAX,CAAgBvB,cAAhB,CAAzB;IACAA,cAAc,CAACwB,MAAf,GAAwBF,gBAAxB;IACA,OAAOA,gBAAP;EACD,CAnCD,MAmCO,IAAItB,cAAc,CAACyB,MAAnB,EAA2B;IAChC,IAAIC,KAAK,GAAGtB,WAAW,CAAEQ,GAAb,CAAiBZ,cAAjB,CAAZ;;IACA,IAAI0B,KAAK,KAAKpB,SAAd,EAAyB;MACvBoB,KAAK,GAAG1B,cAAc,CAACyB,MAAf,EAAR;MACArB,WAAW,CAAEiB,GAAb,CAAiBrB,cAAjB,EAAiC0B,KAAjC;IACD;;IACD,OAAOA,KAAP;EACD,CAPM,MAOA,IAAIzB,QAAQ,KAAK,gBAAjB,EAAmC;IACxC,MAAM0B,GAAG,GAAG,MAAM;MAChB,MAAM,IAAIC,KAAJ,CAAW;AACvB;AACA;AACA;AACA,sFAJY,CAAN;IAKD,CAND;;IAOAD,GAAG,CAACE,gBAAJ,GAAuB7B,cAAvB;IACA,OAAO2B,GAAP;EACD,CAVM,MAUA;IACL,MAAM,IAAIC,KAAJ,CAAU,2CAAV,CAAN;EACD;AACF;;AAED,SAASE,0BAAT,GAAsC;EACpC,UADoC,CAGpC;EACA;;EACA,MAAMC,2BAA2B,GAAGnC,MAAM,CAACoC,qBAA3C;EAEA,IAAIC,uBAA2D,GAAG,EAAlE;EACA,IAAIC,iCAAiC,GAAG,CAAC,CAAzC;;EAEAtC,MAAM,CAACuC,qBAAP,GAAgCC,cAAD,IAA4B;IACzD,MAAMC,gBAAgB,GAAGJ,uBAAzB;IACAA,uBAAuB,GAAG,EAA1B;IACAI,gBAAgB,CAACC,OAAjB,CAA0BC,CAAD,IAAOA,CAAC,CAACH,cAAD,CAAjC;IACA,IAAAI,wBAAA;EACD,CALD;;EAOA5C,MAAM,CAACoC,qBAAP,GACES,QAD6B,IAElB;IACXR,uBAAuB,CAACS,IAAxB,CAA6BD,QAA7B;;IACA,IAAIR,uBAAuB,CAACU,MAAxB,KAAmC,CAAvC,EAA0C;MACxC;MACA;MACA;MACAZ,2BAA2B,CAAEa,SAAD,IAAe;QACzC,IAAIV,iCAAiC,IAAIU,SAAzC,EAAoD;UAClD;UACA;QACD;;QACDV,iCAAiC,GAAGU,SAApC;QACAhD,MAAM,CAACiD,gBAAP,GAA0BD,SAA1B;;QACAhD,MAAM,CAACuC,qBAAP,CAA6BS,SAA7B;;QACAhD,MAAM,CAACiD,gBAAP,GAA0BvC,SAA1B;MACD,CAT0B,CAA3B;IAUD,CAhBU,CAiBX;IACA;IACA;IACA;;;IACA,OAAO,CAAC,CAAR;EACD,CAxBD;AAyBD;;AAEM,SAASwC,mBAAT,GAA+B;EACpCC,yBAAA,CAAuBC,oBAAvB,CAA4CxD,YAA5C,EAA0DO,aAA1D;;EAEA,MAAMkD,OAAO,GAAG,IAAAC,uBAAA,GAAhB;;EAEA,IAAID,OAAJ,EAAa;IACX;IACA;IACA;IACA;IACA;IACA;IACArD,MAAM,CAACoC,qBAAP,GAAgCS,QAAD,IAA2C;MACxE,OAAOU,UAAU,CAAC,MAAMV,QAAQ,CAACW,WAAW,CAACC,GAAZ,EAAD,CAAf,EAAoC,CAApC,CAAjB;IACD,CAFD;EAGD;;EAED,MAAMC,iBAAiB,GAAGC,OAA1B;EACA,IAAAC,2BAAA,EAAmB,MAAM;IACvB,UADuB,CAEvB;;IACA5D,MAAM,CAACC,UAAP,GAAoB;MAClBC,gBAAgB,EAAG2D,KAAD,IAAkB;QAClC,IAAAC,gBAAA,EAAQC,4BAAR,EAA8B;UAC5BC,OAAO,EAAEH,KAAK,CAACG,OADa;UAE5BC,KAAK,EAAEJ,KAAK,CAACI;QAFe,CAA9B;MAID;IANiB,CAApB,CAHuB,CAYvB;IACA;;IACAjE,MAAM,CAAC2D,OAAP,GAAiB;MACfO,KAAK,EAAE,IAAAJ,gBAAA,EAAQJ,iBAAiB,CAACQ,KAA1B,CADQ;MAEfC,GAAG,EAAE,IAAAL,gBAAA,EAAQJ,iBAAiB,CAACS,GAA1B,CAFU;MAGfC,IAAI,EAAE,IAAAN,gBAAA,EAAQJ,iBAAiB,CAACU,IAA1B,CAHS;MAIfP,KAAK,EAAE,IAAAC,gBAAA,EAAQJ,iBAAiB,CAACG,KAA1B,CAJQ;MAKfQ,IAAI,EAAE,IAAAP,gBAAA,EAAQJ,iBAAiB,CAACW,IAA1B;IALS,CAAjB;;IAQA,IAAI,CAAChB,OAAL,EAAc;MACZ,IAAAiB,0BAAA;MACApC,0BAA0B;IAC3B;EACF,CA1BD;AA2BD"}
diff --git a/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js b/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js
index 841a948..7827520 100644
--- a/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js
+++ b/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js
@@ -46,23 +46,23 @@ function valueUnpacker(objectToUnpack, category) {
         // we want to use the proper filename for the location as it guarantees
         // that debugger understands and loads the source code of the file where
         // the worklet is defined.
-        workletFun = global.evalWithSourceMap('(' + initData.code + '\n)', initData.location, initData.sourceMap);
+        workletFun = global.evalWithSourceMap('(' + initData?.code + '\n)', initData?.location, initData?.sourceMap);
       } else if (global.evalWithSourceUrl) {
         // if the runtime doesn't support loading source maps, in dev mode we
         // can pass source url when evaluating the worklet. Now, instead of using
         // the actual file location we use worklet hash, as it the allows us to
         // properly symbolicate traces (see errors.ts for details)
-        workletFun = global.evalWithSourceUrl('(' + initData.code + '\n)', `worklet_${workletHash}`);
+        workletFun = global.evalWithSourceUrl('(' + initData?.code + '\n)', `worklet_${workletHash}`);
       } else {
         // in release we use the regular eval to save on JSI calls
         // eslint-disable-next-line no-eval
-        workletFun = eval('(' + initData.code + '\n)');
+        workletFun = eval('(' + initData?.code + '\n)');
       }
 
       workletsCache.set(workletHash, workletFun);
     }
 
-    const functionInstance = workletFun.bind(objectToUnpack);
+    const functionInstance = workletFun?.bind?.(objectToUnpack);
     objectToUnpack._recur = functionInstance;
     return functionInstance;
   } else if (objectToUnpack.__init) {
diff --git a/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js.map b/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js.map
index 7e94f9d..a7b67c2 100644
--- a/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js.map
+++ b/node_modules/react-native-reanimated/lib/module/reanimated2/initializers.js.map
@@ -1 +1 @@
-{"version":3,"names":["reportFatalErrorOnJS","NativeReanimatedModule","isJest","runOnJS","setupSetImmediate","flushImmediates","runOnUIImmediately","callGuardDEV","fn","args","e","global","ErrorUtils","reportFatalError","valueUnpacker","objectToUnpack","category","workletsCache","__workletsCache","handleCache","__handleCache","undefined","Map","WeakMap","workletHash","__workletHash","workletFun","get","initData","__initData","evalWithSourceMap","code","location","sourceMap","evalWithSourceUrl","eval","set","functionInstance","bind","_recur","__init","value","fun","Error","__remoteFunction","setupRequestAnimationFrame","nativeRequestAnimationFrame","requestAnimationFrame","animationFrameCallbacks","lastNativeAnimationFrameTimestamp","__flushAnimationFrame","frameTimestamp","currentCallbacks","forEach","f","callback","push","length","timestamp","__frameTimestamp","initializeUIRuntime","installCoreFunctions","IS_JEST","setTimeout","performance","now","capturableConsole","console","error","message","stack","debug","log","warn","info"],"sources":["initializers.ts"],"sourcesContent":["import { reportFatalErrorOnJS } from './errors';\nimport NativeReanimatedModule from './NativeReanimated';\nimport { isJest } from './PlatformChecker';\nimport {\n  runOnJS,\n  setupSetImmediate,\n  flushImmediates,\n  runOnUIImmediately,\n} from './threads';\n\n// callGuard is only used with debug builds\nfunction callGuardDEV<T extends Array<any>, U>(\n  fn: (...args: T) => U,\n  ...args: T\n): void {\n  'worklet';\n  try {\n    fn(...args);\n  } catch (e) {\n    if (global.ErrorUtils) {\n      global.ErrorUtils.reportFatalError(e as Error);\n    } else {\n      throw e;\n    }\n  }\n}\n\nfunction valueUnpacker(objectToUnpack: any, category?: string): any {\n  'worklet';\n  let workletsCache = global.__workletsCache;\n  let handleCache = global.__handleCache;\n  if (workletsCache === undefined) {\n    // init\n    workletsCache = global.__workletsCache = new Map();\n    handleCache = global.__handleCache = new WeakMap();\n  }\n  const workletHash = objectToUnpack.__workletHash;\n  if (workletHash !== undefined) {\n    let workletFun = workletsCache.get(workletHash);\n    if (workletFun === undefined) {\n      const initData = objectToUnpack.__initData;\n      if (global.evalWithSourceMap) {\n        // if the runtime (hermes only for now) supports loading source maps\n        // we want to use the proper filename for the location as it guarantees\n        // that debugger understands and loads the source code of the file where\n        // the worklet is defined.\n        workletFun = global.evalWithSourceMap(\n          '(' + initData.code + '\\n)',\n          initData.location,\n          initData.sourceMap\n        ) as (...args: any[]) => any;\n      } else if (global.evalWithSourceUrl) {\n        // if the runtime doesn't support loading source maps, in dev mode we\n        // can pass source url when evaluating the worklet. Now, instead of using\n        // the actual file location we use worklet hash, as it the allows us to\n        // properly symbolicate traces (see errors.ts for details)\n        workletFun = global.evalWithSourceUrl(\n          '(' + initData.code + '\\n)',\n          `worklet_${workletHash}`\n        ) as (...args: any[]) => any;\n      } else {\n        // in release we use the regular eval to save on JSI calls\n        // eslint-disable-next-line no-eval\n        workletFun = eval('(' + initData.code + '\\n)') as (\n          ...args: any[]\n        ) => any;\n      }\n      workletsCache.set(workletHash, workletFun);\n    }\n    const functionInstance = workletFun.bind(objectToUnpack);\n    objectToUnpack._recur = functionInstance;\n    return functionInstance;\n  } else if (objectToUnpack.__init) {\n    let value = handleCache!.get(objectToUnpack);\n    if (value === undefined) {\n      value = objectToUnpack.__init();\n      handleCache!.set(objectToUnpack, value);\n    }\n    return value;\n  } else if (category === 'RemoteFunction') {\n    const fun = () => {\n      throw new Error(`Tried to synchronously call a non-worklet function on the UI thread.\n\nPossible solutions are:\n  a) If you want to synchronously execute this method, mark it as a worklet\n  b) If you want to execute this function on the JS thread, wrap it using \\`runOnJS\\``);\n    };\n    fun.__remoteFunction = objectToUnpack;\n    return fun;\n  } else {\n    throw new Error('data type not recognized by unpack method');\n  }\n}\n\nfunction setupRequestAnimationFrame() {\n  'worklet';\n\n  // Jest mocks requestAnimationFrame API and it does not like if that mock gets overridden\n  // so we avoid doing requestAnimationFrame batching in Jest environment.\n  const nativeRequestAnimationFrame = global.requestAnimationFrame;\n\n  let animationFrameCallbacks: Array<(timestamp: number) => void> = [];\n  let lastNativeAnimationFrameTimestamp = -1;\n\n  global.__flushAnimationFrame = (frameTimestamp: number) => {\n    const currentCallbacks = animationFrameCallbacks;\n    animationFrameCallbacks = [];\n    currentCallbacks.forEach((f) => f(frameTimestamp));\n    flushImmediates();\n  };\n\n  global.requestAnimationFrame = (\n    callback: (timestamp: number) => void\n  ): number => {\n    animationFrameCallbacks.push(callback);\n    if (animationFrameCallbacks.length === 1) {\n      // We schedule native requestAnimationFrame only when the first callback\n      // is added and then use it to execute all the enqueued callbacks. Once\n      // the callbacks are run, we clear the array.\n      nativeRequestAnimationFrame((timestamp) => {\n        if (lastNativeAnimationFrameTimestamp >= timestamp) {\n          // Make sure we only execute the callbacks once for a given frame\n          return;\n        }\n        lastNativeAnimationFrameTimestamp = timestamp;\n        global.__frameTimestamp = timestamp;\n        global.__flushAnimationFrame(timestamp);\n        global.__frameTimestamp = undefined;\n      });\n    }\n    // Reanimated currently does not support cancelling callbacks requested with\n    // requestAnimationFrame. We return -1 as identifier which isn't in line\n    // with the spec but it should give users better clue in case they actually\n    // attempt to store the value returned from rAF and use it for cancelling.\n    return -1;\n  };\n}\n\nexport function initializeUIRuntime() {\n  NativeReanimatedModule.installCoreFunctions(callGuardDEV, valueUnpacker);\n\n  const IS_JEST = isJest();\n\n  if (IS_JEST) {\n    // requestAnimationFrame react-native jest's setup is incorrect as it polyfills\n    // the method directly using setTimeout, therefore the callback doesn't get the\n    // expected timestamp as the only argument: https://github.com/facebook/react-native/blob/main/jest/setup.js#L28\n    // We override this setup here to make sure that callbacks get the proper timestamps\n    // when executed. For non-jest environments we define requestAnimationFrame in setupRequestAnimationFrame\n    // @ts-ignore TypeScript uses Node definition for rAF, setTimeout, etc which returns a Timeout object rather than a number\n    global.requestAnimationFrame = (callback: (timestamp: number) => void) => {\n      return setTimeout(() => callback(performance.now()), 0);\n    };\n  }\n\n  const capturableConsole = console;\n  runOnUIImmediately(() => {\n    'worklet';\n    // setup error handler\n    global.ErrorUtils = {\n      reportFatalError: (error: Error) => {\n        runOnJS(reportFatalErrorOnJS)({\n          message: error.message,\n          stack: error.stack,\n        });\n      },\n    };\n\n    // setup console\n    // @ts-ignore TypeScript doesn't like that there are missing methods in console object, but we don't provide all the methods for the UI runtime console version\n    global.console = {\n      debug: runOnJS(capturableConsole.debug),\n      log: runOnJS(capturableConsole.log),\n      warn: runOnJS(capturableConsole.warn),\n      error: runOnJS(capturableConsole.error),\n      info: runOnJS(capturableConsole.info),\n    };\n\n    if (!IS_JEST) {\n      setupSetImmediate();\n      setupRequestAnimationFrame();\n    }\n  })();\n}\n"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"names":["reportFatalErrorOnJS","NativeReanimatedModule","isJest","runOnJS","setupSetImmediate","flushImmediates","runOnUIImmediately","callGuardDEV","fn","args","e","global","ErrorUtils","reportFatalError","valueUnpacker","objectToUnpack","category","workletsCache","__workletsCache","handleCache","__handleCache","undefined","Map","WeakMap","workletHash","__workletHash","workletFun","get","initData","__initData","evalWithSourceMap","code","location","sourceMap","evalWithSourceUrl","eval","set","functionInstance","bind","_recur","__init","value","fun","Error","__remoteFunction","setupRequestAnimationFrame","nativeRequestAnimationFrame","requestAnimationFrame","animationFrameCallbacks","lastNativeAnimationFrameTimestamp","__flushAnimationFrame","frameTimestamp","currentCallbacks","forEach","f","callback","push","length","timestamp","__frameTimestamp","initializeUIRuntime","installCoreFunctions","IS_JEST","setTimeout","performance","now","capturableConsole","console","error","message","stack","debug","log","warn","info"],"sources":["initializers.ts"],"sourcesContent":["import { reportFatalErrorOnJS } from './errors';\nimport NativeReanimatedModule from './NativeReanimated';\nimport { isJest } from './PlatformChecker';\nimport {\n  runOnJS,\n  setupSetImmediate,\n  flushImmediates,\n  runOnUIImmediately,\n} from './threads';\n\n// callGuard is only used with debug builds\nfunction callGuardDEV<T extends Array<any>, U>(\n  fn: (...args: T) => U,\n  ...args: T\n): void {\n  'worklet';\n  try {\n    fn(...args);\n  } catch (e) {\n    if (global.ErrorUtils) {\n      global.ErrorUtils.reportFatalError(e as Error);\n    } else {\n      throw e;\n    }\n  }\n}\n\nfunction valueUnpacker(objectToUnpack: any, category?: string): any {\n  'worklet';\n  let workletsCache = global.__workletsCache;\n  let handleCache = global.__handleCache;\n  if (workletsCache === undefined) {\n    // init\n    workletsCache = global.__workletsCache = new Map();\n    handleCache = global.__handleCache = new WeakMap();\n  }\n  const workletHash = objectToUnpack.__workletHash;\n  if (workletHash !== undefined) {\n    let workletFun = workletsCache.get(workletHash);\n    if (workletFun === undefined) {\n      const initData = objectToUnpack.__initData;\n      if (global.evalWithSourceMap) {\n        // if the runtime (hermes only for now) supports loading source maps\n        // we want to use the proper filename for the location as it guarantees\n        // that debugger understands and loads the source code of the file where\n        // the worklet is defined.\n        workletFun = global.evalWithSourceMap(\n          '(' + initData?.code + '\\n)',\n          initData?.location,\n          initData?.sourceMap\n        ) as (...args: any[]) => any;\n      } else if (global.evalWithSourceUrl) {\n        // if the runtime doesn't support loading source maps, in dev mode we\n        // can pass source url when evaluating the worklet. Now, instead of using\n        // the actual file location we use worklet hash, as it the allows us to\n        // properly symbolicate traces (see errors.ts for details)\n        workletFun = global.evalWithSourceUrl(\n          '(' + initData.code + '\\n)',\n          `worklet_${workletHash}`\n        ) as (...args: any[]) => any;\n      } else {\n        // in release we use the regular eval to save on JSI calls\n        // eslint-disable-next-line no-eval\n        workletFun = eval('(' + initData.code + '\\n)') as (\n          ...args: any[]\n        ) => any;\n      }\n      workletsCache.set(workletHash, workletFun);\n    }\n    const functionInstance = workletFun?.bind?.(objectToUnpack);\n    objectToUnpack._recur = functionInstance;\n    return functionInstance;\n  } else if (objectToUnpack.__init) {\n    let value = handleCache!.get(objectToUnpack);\n    if (value === undefined) {\n      value = objectToUnpack.__init();\n      handleCache!.set(objectToUnpack, value);\n    }\n    return value;\n  } else if (category === 'RemoteFunction') {\n    const fun = () => {\n      throw new Error(`Tried to synchronously call a non-worklet function on the UI thread.\n\nPossible solutions are:\n  a) If you want to synchronously execute this method, mark it as a worklet\n  b) If you want to execute this function on the JS thread, wrap it using \\`runOnJS\\``);\n    };\n    fun.__remoteFunction = objectToUnpack;\n    return fun;\n  } else {\n    throw new Error('data type not recognized by unpack method');\n  }\n}\n\nfunction setupRequestAnimationFrame() {\n  'worklet';\n\n  // Jest mocks requestAnimationFrame API and it does not like if that mock gets overridden\n  // so we avoid doing requestAnimationFrame batching in Jest environment.\n  const nativeRequestAnimationFrame = global.requestAnimationFrame;\n\n  let animationFrameCallbacks: Array<(timestamp: number) => void> = [];\n  let lastNativeAnimationFrameTimestamp = -1;\n\n  global.__flushAnimationFrame = (frameTimestamp: number) => {\n    const currentCallbacks = animationFrameCallbacks;\n    animationFrameCallbacks = [];\n    currentCallbacks.forEach((f) => f(frameTimestamp));\n    flushImmediates();\n  };\n\n  global.requestAnimationFrame = (\n    callback: (timestamp: number) => void\n  ): number => {\n    animationFrameCallbacks.push(callback);\n    if (animationFrameCallbacks.length === 1) {\n      // We schedule native requestAnimationFrame only when the first callback\n      // is added and then use it to execute all the enqueued callbacks. Once\n      // the callbacks are run, we clear the array.\n      nativeRequestAnimationFrame((timestamp) => {\n        if (lastNativeAnimationFrameTimestamp >= timestamp) {\n          // Make sure we only execute the callbacks once for a given frame\n          return;\n        }\n        lastNativeAnimationFrameTimestamp = timestamp;\n        global.__frameTimestamp = timestamp;\n        global.__flushAnimationFrame(timestamp);\n        global.__frameTimestamp = undefined;\n      });\n    }\n    // Reanimated currently does not support cancelling callbacks requested with\n    // requestAnimationFrame. We return -1 as identifier which isn't in line\n    // with the spec but it should give users better clue in case they actually\n    // attempt to store the value returned from rAF and use it for cancelling.\n    return -1;\n  };\n}\n\nexport function initializeUIRuntime() {\n  NativeReanimatedModule.installCoreFunctions(callGuardDEV, valueUnpacker);\n\n  const IS_JEST = isJest();\n\n  if (IS_JEST) {\n    // requestAnimationFrame react-native jest's setup is incorrect as it polyfills\n    // the method directly using setTimeout, therefore the callback doesn't get the\n    // expected timestamp as the only argument: https://github.com/facebook/react-native/blob/main/jest/setup.js#L28\n    // We override this setup here to make sure that callbacks get the proper timestamps\n    // when executed. For non-jest environments we define requestAnimationFrame in setupRequestAnimationFrame\n    // @ts-ignore TypeScript uses Node definition for rAF, setTimeout, etc which returns a Timeout object rather than a number\n    global.requestAnimationFrame = (callback: (timestamp: number) => void) => {\n      return setTimeout(() => callback(performance.now()), 0);\n    };\n  }\n\n  const capturableConsole = console;\n  runOnUIImmediately(() => {\n    'worklet';\n    // setup error handler\n    global.ErrorUtils = {\n      reportFatalError: (error: Error) => {\n        runOnJS(reportFatalErrorOnJS)({\n          message: error.message,\n          stack: error.stack,\n        });\n      },\n    };\n\n    // setup console\n    // @ts-ignore TypeScript doesn't like that there are missing methods in console object, but we don't provide all the methods for the UI runtime console version\n    global.console = {\n      debug: runOnJS(capturableConsole.debug),\n      log: runOnJS(capturableConsole.log),\n      warn: runOnJS(capturableConsole.warn),\n      error: runOnJS(capturableConsole.error),\n      info: runOnJS(capturableConsole.info),\n    };\n\n    if (!IS_JEST) {\n      setupSetImmediate();\n      setupRequestAnimationFrame();\n    }\n  })();\n}\n"],"mappings":"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"}
diff --git a/node_modules/react-native-reanimated/src/reanimated2/initializers.ts b/node_modules/react-native-reanimated/src/reanimated2/initializers.ts
index 2c82793..bc155e8 100644
--- a/node_modules/react-native-reanimated/src/reanimated2/initializers.ts
+++ b/node_modules/react-native-reanimated/src/reanimated2/initializers.ts
@@ -45,7 +45,7 @@ function valueUnpacker(objectToUnpack: any, category?: string): any {
         // that debugger understands and loads the source code of the file where
         // the worklet is defined.
         workletFun = global.evalWithSourceMap(
-          '(' + initData.code + '\n)',
+          '(' + initData?.code + '\n)',
           initData.location,
           initData.sourceMap
         ) as (...args: any[]) => any;
@@ -55,19 +55,19 @@ function valueUnpacker(objectToUnpack: any, category?: string): any {
         // the actual file location we use worklet hash, as it the allows us to
         // properly symbolicate traces (see errors.ts for details)
         workletFun = global.evalWithSourceUrl(
-          '(' + initData.code + '\n)',
+          '(' + initData?.code + '\n)',
           `worklet_${workletHash}`
         ) as (...args: any[]) => any;
       } else {
         // in release we use the regular eval to save on JSI calls
         // eslint-disable-next-line no-eval
-        workletFun = eval('(' + initData.code + '\n)') as (
+        workletFun = eval('(' + initData?.code + '\n)') as (
           ...args: any[]
         ) => any;
       }
       workletsCache.set(workletHash, workletFun);
     }
-    const functionInstance = workletFun.bind(objectToUnpack);
+    const functionInstance = workletFun?.bind?.(objectToUnpack);
     objectToUnpack._recur = functionInstance;
     return functionInstance;
   } else if (objectToUnpack.__init) {

@piaskowyk
Copy link
Member

Fixed with #4239, the fix is available since 3.+ versions 🚀

@seba1342
Copy link

@piaskowyk thanks for your awesome fix, is there any plan to get this fix back-ported into v2?

@piaskowyk
Copy link
Member

We have limited capacity unfortunately 😕 So it is hard to maintain two branches of versions. I really recommend an update to Reanimated 3 because is much more stable than Rea 2.

@seba1342
Copy link

We have limited capacity unfortunately 😕 So it is hard to maintain two branches of versions. I really recommend an update to Reanimated 3 because is much more stable than Rea 2.

Appreciate all the work you do. We are working towards v3 right now. Thank you.

@piaskowyk
Copy link
Member

Thank you for understanding 😊

@salzhrani
Copy link

Tools like expo doctor still recommend v2. Maybe upgrading the version there will improve adoption @piaskowyk

@Kief5555
Copy link

Hello. seems to be an issue here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug bug-bash-jan22 Issues visited during Bug Bash Jan 2022 Crash Important This seem to be a serious issue and we will need to take a deeper look into it some time soon 🏠 Reanimated 2
Projects
None yet
Development

Successfully merging a pull request may close this issue.