react-native-reanimated: App crash on launch : `reanimated::ReanimatedReentrancyCheck::before()`

Description

The app is randomly crashing(1 out of 15-20 times) when launching the app.

  • The crash has 3 variants

Stack trace from Firebase Crashlytics

Variant 1:

Crashed: com.apple.main-thread
0  randomAppName           0x1d060c reanimated::ReanimatedReentrancyCheck::before() + 85 (ReanimatedHermesRuntime.h:85)
1  randomAppName           0x1ce300 facebook::jsi::WithRuntimeDecorator<reanimated::ReanimatedReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::createObject() + 226 (decorator.h:226)
2  randomAppName           0x1bd684 convertObjCObjectToJSIValue(facebook::jsi::Runtime&, objc_object*) + 406 (jsi.h:406)
3  randomAppName           0x1bd3e4 invocation function for block in reanimated::createReanimatedModule(RCTBridge*, std::__1::shared_ptr<facebook::react::CallInvoker> const&) + 300 (NativeProxy.mm:300)
4  randomAppName           0x1d2e9c __33-[REANodesManager dispatchEvent:]_block_invoke + 398 (REANodesManager.mm:398)
5  randomAppName           0x286b80 RCTExecuteOnMainQueue + 262 (RCTUtils.m:262)
6  randomAppName           0x1d2dc8 -[REANodesManager dispatchEvent:] + 401 (REANodesManager.mm:401)
7  randomAppName           0x1c8aac -[RCTEventDispatcher(Reanimated) reanimated_sendEvent:] + 23 (RCTEventDispatcher+Reanimated.m:23)
8  randomAppName           0x23c460 __createEventSetter_block_invoke_2 + 137 (RCTComponentData.m:137)
9  randomAppName           0x46e4f0 -[RNCSafeAreaProvider invalidateSafeAreaInsets] + 42 (RNCSafeAreaProvider.m:42)
10 UIKitCore                      0x1b1e8 -[UIView _safeAreaInsetsDidChangeFromOldInsets:] + 28
11 UIKitCore                      0x183d0 -[UIView _updateCombinedInsetsIfNecessary] + 100
12 UIKitCore                      0x62a78 -[UIView(Geometry) setBounds:] + 948
13 randomAppName           0x28bf9c -[RCTView reactSetFrame:] + 786 (RCTView.m:786)
14 randomAppName           0x27fa30 __51-[RCTUIManager uiBlockWithLayoutUpdateForRootView:]_block_invoke.97 + 688 (RCTUIManager.m:688)
15 randomAppName           0x282990 __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke + 1200 (RCTUIManager.m:1200)
16 randomAppName           0x282a80 __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke.146 + 1223 (RCTUIManager.m:1223)
17 libdispatch.dylib              0x26a8 _dispatch_call_block_and_release + 32
18 libdispatch.dylib              0x4300 _dispatch_client_callout + 20
19 libdispatch.dylib              0x12998 _dispatch_main_queue_drain + 984
20 libdispatch.dylib              0x125b0 _dispatch_main_queue_callback_4CF + 44
21 CoreFoundation                 0x379bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
22 CoreFoundation                 0x346c8 __CFRunLoopRun + 1996
23 CoreFoundation                 0x33e18 CFRunLoopRunSpecific + 608
24 GraphicsServices               0x35ec GSEventRunModal + 164
25 UIKitCore                      0x22f2fc -[UIApplication _run] + 888
26 UIKitCore                      0x22e938 UIApplicationMain + 340
27 randomAppName           0x822c main + 8 (main.m:8)
28 ???                            0x1c82ebd44 (Missing)

Variant 2:

Crashed: com.apple.main-thread
0  randomAppName           0x1d060c reanimated::ReanimatedReentrancyCheck::before() + 85 (ReanimatedHermesRuntime.h:85)
1  randomAppName           0x1ce300 facebook::jsi::WithRuntimeDecorator<reanimated::ReanimatedReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::createObject() + 226 (decorator.h:226)
2  randomAppName           0x1bd684 convertObjCObjectToJSIValue(facebook::jsi::Runtime&, objc_object*) + 406 (jsi.h:406)
3  randomAppName           0x1bd3e4 invocation function for block in reanimated::createReanimatedModule(RCTBridge*, std::__1::shared_ptr<facebook::react::CallInvoker> const&) + 300 (NativeProxy.mm:300)
4  randomAppName           0x1d2e9c __33-[REANodesManager dispatchEvent:]_block_invoke + 398 (REANodesManager.mm:398)
5  libdispatch.dylib              0x26a8 _dispatch_call_block_and_release + 32
6  libdispatch.dylib              0x4300 _dispatch_client_callout + 20
7  libdispatch.dylib              0x12998 _dispatch_main_queue_drain + 984
8  libdispatch.dylib              0x125b0 _dispatch_main_queue_callback_4CF + 44
9  CoreFoundation                 0x379bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
10 CoreFoundation                 0x346c8 __CFRunLoopRun + 1996
11 CoreFoundation                 0x33e18 CFRunLoopRunSpecific + 608
12 GraphicsServices               0x35ec GSEventRunModal + 164
13 UIKitCore                      0x22f2fc -[UIApplication _run] + 888
14 UIKitCore                      0x22e938 UIApplicationMain + 340
15 randomAppName           0x822c main + 8 (main.m:8)
16 ???                            0x1c82ebd44 (Missing)

Variant 3:

Crashed: com.apple.main-thread
0  randomAppName           0x1d060c reanimated::ReanimatedReentrancyCheck::before() + 85 (ReanimatedHermesRuntime.h:85)
1  randomAppName           0x1ce300 facebook::jsi::WithRuntimeDecorator<reanimated::ReanimatedReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::createObject() + 226 (decorator.h:226)
2  randomAppName           0x1bd684 convertObjCObjectToJSIValue(facebook::jsi::Runtime&, objc_object*) + 406 (jsi.h:406)
3  randomAppName           0x1bd3e4 invocation function for block in reanimated::createReanimatedModule(RCTBridge*, std::__1::shared_ptr<facebook::react::CallInvoker> const&) + 300 (NativeProxy.mm:300)
4  randomAppName           0x1d2e9c __33-[REANodesManager dispatchEvent:]_block_invoke + 398 (REANodesManager.mm:398)
5  randomAppName           0x286b80 RCTExecuteOnMainQueue + 262 (RCTUtils.m:262)
6  randomAppName           0x1d2dc8 -[REANodesManager dispatchEvent:] + 401 (REANodesManager.mm:401)
7  randomAppName           0x1c8aac -[RCTEventDispatcher(Reanimated) reanimated_sendEvent:] + 23 (RCTEventDispatcher+Reanimated.m:23)
8  randomAppName           0x23c460 __createEventSetter_block_invoke_2 + 137 (RCTComponentData.m:137)
9  randomAppName           0x2d2bc8 __68-[RCTImageView imageLoaderLoadedImage:error:forImageSource:partial:]_block_invoke.25 + 414 (RCTImageView.mm:414)
10 randomAppName           0x286b80 RCTExecuteOnMainQueue + 262 (RCTUtils.m:262)
11 randomAppName           0x2d27bc -[RCTImageView imageLoaderLoadedImage:error:forImageSource:partial:] + 436 (RCTImageView.mm:436)
12 randomAppName           0x2d23dc __27-[RCTImageView reloadImage]_block_invoke.11 + 339 (RCTImageView.mm:339)
13 randomAppName           0x2cb60c __140-[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_2 + 827 (RCTImageLoader.mm:827)
14 randomAppName           0x2c9ac4 __139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke + 555 (RCTImageLoader.mm:555)
15 randomAppName           0x2d4644 -[RCTLocalAssetImageLoader loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandler:] + 57 (RCTLocalAssetImageLoader.mm:57)
16 randomAppName           0x2c9438 -[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:] + 577 (RCTImageLoader.mm:577)
17 randomAppName           0x2cb1b0 -[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:] + 857 (RCTImageLoader.mm:857)
18 randomAppName           0x2d2078 -[RCTImageView reloadImage] + 347 (RCTImageView.mm:347)
19 randomAppName           0x2d2e38 -[RCTImageView reactSetFrame:] + 449 (RCTImageView.mm:449)
20 randomAppName           0x27fa30 __51-[RCTUIManager uiBlockWithLayoutUpdateForRootView:]_block_invoke.97 + 688 (RCTUIManager.m:688)
21 randomAppName           0x282990 __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke + 1200 (RCTUIManager.m:1200)
22 randomAppName           0x282a80 __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke.146 + 1223 (RCTUIManager.m:1223)
23 libdispatch.dylib              0x26a8 _dispatch_call_block_and_release + 32
24 libdispatch.dylib              0x4300 _dispatch_client_callout + 20
25 libdispatch.dylib              0x12998 _dispatch_main_queue_drain + 984
26 libdispatch.dylib              0x125b0 _dispatch_main_queue_callback_4CF + 44
27 CoreFoundation                 0x379bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
28 CoreFoundation                 0x346c8 __CFRunLoopRun + 1996
29 CoreFoundation                 0x33e18 CFRunLoopRunSpecific + 608
30 GraphicsServices               0x35ec GSEventRunModal + 164
31 UIKitCore                      0x22f2fc -[UIApplication _run] + 888
32 UIKitCore                      0x22e938 UIApplicationMain + 340
33 randomAppName           0x822c main + 8 (main.m:8)
34 ???                            0x1d957fd44 (Missing)

There’s one more crash that started happening in parallel to the above one.

  • Not sure if both are related or not.

Stack Trace for this 2nd Crash (Maybe releated)

Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0xa01c __pthread_kill + 8
1  libsystem_pthread.dylib        0x5680 pthread_kill + 268
2  libsystem_c.dylib              0x75bb0 abort + 180
3  libsystem_c.dylib              0x74ecc err + 282
4  glog                           0x10028 glog_internal_namespace_::MutexLock::~MutexLock() + 68
5  glog                           0x14d6c google::InitVLOG3__(google::SiteFlag*, int*, char const*, int) + 672
6  randomAppname           0xb31d8 folly::EventBase::SmoothLoopTime::SmoothLoopTime(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>) + 741 (EventBase.h:741)
7  randomAppname           0xaffc4 folly::EventBase::EventBase(folly::EventBase::Options) + 152 (EventBase.cpp:152)
8  randomAppname           0xc8e60 folly::ScopedEventBaseThread::ScopedEventBaseThread(folly::EventBase::Options, folly::EventBaseManager*, folly::Range<char const*>) + 67 (ScopedEventBaseThread.cpp:67)
9  randomAppname           0xc8d78 folly::ScopedEventBaseThread::ScopedEventBaseThread(folly::EventBaseManager*, folly::Range<char const*>) + 744 (shared_ptr.h:744)
10 randomAppname           0xde22c -[FlipperClient init] + 294 (unique_ptr.h:294)
11 randomAppname           0xde060 __29+[FlipperClient sharedClient]_block_invoke + 49 (FlipperClient.mm:49)
12 libdispatch.dylib              0x4300 _dispatch_client_callout + 20
13 libdispatch.dylib              0x5b3c _dispatch_once_callout + 32
14 randomAppname           0xde048 +[FlipperClient sharedClient] + 85 (once.h:85)
15 randomAppname           0x8068 -[AppDelegate application:didFinishLaunchingWithOptions:] + 37 (AppDelegate.mm:37)
16 UIKitCore                      0x214184 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 320
17 UIKitCore                      0x2132ec -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 2856
18 UIKitCore                      0x2122d0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 856
19 UIKitCore                      0x211f1c -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 132
20 UIKitCore                      0x18e988 _UIScenePerformActionsWithLifecycleActionMask + 112
21 UIKitCore                      0x215eac __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 216
22 UIKitCore                      0x13ad7c -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 220
23 UIKitCore                      0x1397f4 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 608
24 UIKitCore                      0x13915c -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 248
25 UIKitCore                      0x13902c __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 148
26 UIKitCore                      0x138f34 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:] + 736
27 UIKitCore                      0x1387bc _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion + 224
28 UIKitCore                      0x13846c -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 316
29 UIKitCore                      0x4b787c __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.225 + 612
30 UIKitCore                      0x1375f0 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 216
31 UIKitCore                      0x137460 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 244
32 UIKitCore                      0x2523d4 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 508
33 UIKitCore                      0x25216c -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 288
34 FrontBoardServices             0xeaa8 -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] + 324
35 FrontBoardServices             0xe944 __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.108 + 280
36 FrontBoardServices             0xd5a8 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
37 FrontBoardServices             0x19360 __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke + 352
38 libdispatch.dylib              0x4300 _dispatch_client_callout + 20
39 libdispatch.dylib              0x7d48 _dispatch_block_invoke_direct + 284
40 FrontBoardServices             0x99ec __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
41 FrontBoardServices             0x996c -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
42 FrontBoardServices             0x9844 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
43 CoreFoundation                 0x37acc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
44 CoreFoundation                 0x36d48 __CFRunLoopDoSource0 + 176
45 CoreFoundation                 0x3555c __CFRunLoopDoSources0 + 340
46 CoreFoundation                 0x34238 __CFRunLoopRun + 828
47 CoreFoundation                 0x33e18 CFRunLoopRunSpecific + 608
48 GraphicsServices               0x35ec GSEventRunModal + 164
49 UIKitCore                      0x22f2fc -[UIApplication _run] + 888
50 UIKitCore                      0x22e938 UIApplicationMain + 340
51 randomAppname           0x822c main + 8 (main.m:8)
52 ???                            0x1d34c3d44 (Missing)

Packages used

"@react-native-firebase/analytics": "14.12.0",
"@react-native-firebase/app": "14.12.0",
"@react-native-firebase/crashlytics": "14.12.0",
"@react-native-firebase/messaging": "14.12.0",
"@react-native-masked-view/masked-view": "^0.2.9",
"@react-navigation/bottom-tabs": "^6.4.0",
"@react-navigation/native": "^6.0.13",
"@react-navigation/native-stack": "^6.9.7",
"@reduxjs/toolkit": "^1.9.2",
"axios": "0.27.2",
"buffer": "^6.0.3",
"crypto-js": "^4.1.1",
"deprecated-react-native-prop-types": "^2.3.0",
"geolib": "^3.3.3",
"native-base": "^3.4.22",
"react": "18.2.0",
"react-native": "0.72.4",
"react-native-actionsheet": "^2.4.2",
"react-native-android-location-enabler": "^1.2.2",
"react-native-background-actions": "^2.6.7",
"react-native-background-upload": "^6.6.0",
"react-native-fast-image": "8.6.3",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "^2.9.0",
"react-native-get-random-values": "^1.8.0",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-linear-gradient": "^2.6.2",
"react-native-logs": "^5.0.1",
"react-native-maps": "^1.3.2",
"react-native-pager-view": "^6.1.2",
"react-native-permissions": "^3.6.1",
"react-native-reanimated": "^3.5.4",
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "^3.18.2",
"react-native-tab-view": "^3.3.2",
"react-native-zoom-reanimated": "^1.1.2",
"realm": "11.10.2",
"semver": "^7.3.8",
"sha1": "^1.1.1",

AppDelegate.mm file

#import "AppDelegate.h"
#import <Firebase.h>
#import <GoogleMaps/GoogleMaps.h>

#import <React/RCTBundleURLProvider.h>
#import <React/RCTLinkingManager.h>

#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>`
#import <FlipperPerformancePlugin.h>
#endif

@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:
                (NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
  return [RCTLinkingManager application:application
                                openURL:url
                                options:options];
}

- (BOOL)application:(UIApplication *)application
    continueUserActivity:(nonnull NSUserActivity *)userActivity
      restorationHandler:
          (nonnull void (^)(NSArray<id<UIUserActivityRestoring>> *_Nullable))
              restorationHandler {
  return [RCTLinkingManager application:application
                   continueUserActivity:userActivity
                     restorationHandler:restorationHandler];
}
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [FIRApp configure];

#ifdef FB_SONARKIT_ENABLED
  FlipperClient *client = [FlipperClient sharedClient];
  [client addPlugin:[FlipperPerformancePlugin new]];
#endif
  self.moduleName = @"randomAppname";
  // You can add your custom initial props in the dictionary below.
  // They will be passed down to the ViewController used by React Native.
  self.initialProps = @{};
  return [super application:application
      didFinishLaunchingWithOptions:launchOptions];
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
#if DEBUG
  return
      [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
#else
  return [[NSBundle mainBundle] URLForResource:@"main"
                                 withExtension:@"jsbundle"];
#endif
}

@end

Pod File


# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
  'require.resolve(
    "react-native/scripts/react_native_pods.rb",
    {paths: [process.argv[1]]},
  )', __dir__]).strip
$RNFirebaseAsStaticFramework = true

platform :ios, '13.0'
prepare_react_native_project!

flipperkit_version = '0.172.0'


# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
#
# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
# ```js
# module.exports = {
#   dependencies: {
#     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
# ```
flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled(["Debug","Dev.Debug","Dev.Release","Staging.Debug","Staging.Release","Release"], { 'Flipper' => flipperkit_version, 'Flipper-Folly' => '2.6.10', 'Flipper-DoubleConversion' => '3.2.0', 'Flipper-Glog' => '0.5.0.3', 'Flipper-PeerTalk' => '0.0.4', 'OpenSSL-Universal' => '1.1.1100' })
linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

target 'randomAppname' do
  permissions_path = '../node_modules/react-native-permissions/ios'
  config = use_native_modules!
  pod 'RNFS', :path => '../node_modules/react-native-fs'
  pod 'RNSensors', :path => '../node_modules/react-native-sensors'
  pod 'react-native-google-maps', :path =>  '../node_modules/react-native-maps'
  pod 'Permission-Camera', :path => "#{permissions_path}/Camera"
  pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse"
  pod 'Permission-LocationAccuracy', :path => "#{permissions_path}/LocationAccuracy"
  pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications"

  project 'randomAppname',
        'Dev.Debug' => :debug,
        'Dev.Release' => :release,
        'Staging.Debug' => :debug,
        'Staging.Release' => :release,
        'Debug' => :debug,
        'Release' => :release

  
  # Flags change depending on the env values.
  flags = get_default_flags()

  use_react_native!(
    :path => config[:reactNativePath],
    # Hermes is now enabled by default. Disable by setting this flag to false.
    :hermes_enabled => flags[:hermes_enabled],
    :fabric_enabled => flags[:fabric_enabled],
    # Enables Flipper.
    #
    # Note that if you have use_frameworks! enabled, Flipper will not work and
    # you should disable the next line.
    :flipper_configuration => flipper_config,

    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  target 'randomAppnameTests' do
    inherit! :complete
    # Pods for testing
  end

  post_install do |installer|
    # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false
    )
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
    installer.pods_project.build_configurations.each do |config|
      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end
  end
end


Steps to reproduce

  1. Make a release build
  2. Try launching the app multiple times(~15-20 recommended) (Do a fresh launch every time i.e kill the app before the new launch)
  3. In some tries you’ll randomly get crashes. The app would look like it tried to open and before you can see the splash screen it would crash.

Snack or a link to a repository

Reanimated version

^3.5.4

React Native version

0.72.4

Platforms

iOS

JavaScript runtime

Hermes

Workflow

React Native

Architecture

Paper (Old Architecture)

Build type

Release mode

Device

Real device

Device model

iPhone 14 Pro (iOS 17.0.3)

Acknowledgements

Yes

About this issue

  • Original URL
  • State: closed
  • Created 8 months ago
  • Reactions: 1
  • Comments: 31 (7 by maintainers)

Commits related to this issue

Most upvoted comments

We plan to release 3.7.0 this week

@iy-913 nope, 3.6.x does not contain the fix, try 3.7.0-nightly or 3.7.0 once we publish it (Jan 2024)

We were using a mix of Animated from react-native and Animated form react-native-reanimated

Once we migrated from react-native to react-native-reanimated completely this bug was resolved once in for all for us.

As for the 2nd bug that I had posted… that was resolved after removing the flipper.

The nightly version 3.7.0-nightly-20240109-9e2c33716 solved the problem. Just don’t forget to restart metro…

I am using Animated from react-native-reanimated in a whole project. I am also facing this issue with React-native: 0.72.7 Reanimated: 3.5.4

Screenshot 2023-12-04 at 4 44 19 PM

The logs I’ve put in my last message are coming from a release with reanimated 3.7.0

Yes, but at the same time there’s no occurrence of reanimated::ReanimatedReentrancyCheck::before() so this looks like a different problem not related to this issue.

Do you mind submitting these stack traces in a separate issue?

My bad I just saw the ReetrancyCheck and assumed so Please disregard that

Could you please provide full stack traces for all threads?

stack_trace.txt

i am getting also same issue but crashes are random only on ios and mostly when a new build is made on first time.

I got same issue too.

i have same issue