Description
We are noticing new Sentry crashes with Bundle Mode enabled that did not occur on previous versions of Reanimated + Worklets with Bundle Mode disabled.
Based on the Sentry breadcrumbs, the crashes seem to happen when calling runOnJS(callback), where callback is a JS function, inside react-native-gesture-handler tap gestures. This is deduced by the touch event breadcrumbs, and I am not 100% sure runOnJS is at fault. Example:
const gesture = useTapGesture({
onActivate: () => {
runOnJS(callback)();
},
});
Important: This is not reproducible. It seems to happen after the app goes from inactive (screen off, background, etc) to active, but not immediately and not at all times.
Sharing short stack traces below, I can provide longer ones if necessary.
EXC_BAD_ACCESS: Exception 1, Code 1, Subcode 17 >
KERN_INVALID_ADDRESS at 0x11.
hermesvm 0x1046974b4 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::call
SIGPIPE: _msgSend$setClipsToBounds: > estArrayUInt32:
libsystem_kernel 0x235ff0cd4 mach_msg2_trap
libsystem_kernel 0x235ff4228 mach_msg_overwrite
libsystem_kernel 0x235ff4074 mach_msg
I am not sure if this affects Android too.
Steps to reproduce
See description
Snack or a link to a repository
Reanimated version
4.5.0
Worklets version
0.10.0
React Native version
0.85.3
Platforms
iOS
JavaScript runtime
None
Workflow
None
Architecture
None
Reanimated feature flags
None
React Native release level
None
Build type
No response
Device
No response
Host machine
None
Device model
No response
Acknowledgements
No
Description
We are noticing new Sentry crashes with Bundle Mode enabled that did not occur on previous versions of Reanimated + Worklets with Bundle Mode disabled.
Based on the Sentry breadcrumbs, the crashes seem to happen when calling
runOnJS(callback), wherecallbackis a JS function, insidereact-native-gesture-handlertap gestures. This is deduced by the touch event breadcrumbs, and I am not 100% surerunOnJSis at fault. Example:Important: This is not reproducible. It seems to happen after the app goes from inactive (screen off, background, etc) to active, but not immediately and not at all times.
Sharing short stack traces below, I can provide longer ones if necessary.
I am not sure if this affects Android too.
Steps to reproduce
See description
Snack or a link to a repository
Reanimated version
4.5.0
Worklets version
0.10.0
React Native version
0.85.3
Platforms
iOS
JavaScript runtime
None
Workflow
None
Architecture
None
Reanimated feature flags
None
React Native release level
None
Build type
No response
Device
No response
Host machine
None
Device model
No response
Acknowledgements
No