2.6 C
New York
Thursday, December 5, 2024

App grasp on react native ios with relation to animations


Description

We see many un-reproducible app hangs on ios with following stack hint:

The UI the place we see it is a use of modal + text-input + keyboard interplay:

  QuartzCore          0x198365c8c  -[CALayer animationForKey:]
  QuartzCore          0x198365c74  -[CALayer animationForKey:]
  UIKitCore           0x1991e2cf8  -[UIViewAnimationState _shouldAnimateAdditivelyForKey:onLayer:forView:]
  UIKitCore           0x199096f8c  -[UIViewAnimationState _shouldStartFromCurrentStateForLayer:key:forView:]
  UIKitCore           0x199096924  -[UIViewAnimationState animationForLayer:forKey:forView:]
  UIKitCore           0x199096610  -[UIViewAnimationState actionForLayer:forKey:forView:]
  UIKitCore           0x19909569c  +[UIView(Animation) _defaultUIViewActionForLayer:forKey:]
  UIKitCore           0x199095850  -[UIView(UIKitManual) actionForLayer:forKey:]
  QuartzCore          0x198305bd4  -[CALayer actionForKey:]
  QuartzCore          0x198305a48  CA::Layer::begin_change
  QuartzCore          0x198362d0c  CA::Layer::set_bounds
  QuartzCore          0x198362b9c  -[CALayer setBounds:]
  UIKitCore           0x199081078  -[UIView _backing_setBounds:]
  UIKitCore           0x19907f5f0  -[UIView(Geometry) setBounds:]
  MyApp            0x1032e32c0  -[UIView(React) reactSetFrame:] (UIView+React.m:205)
  MyApp            0x1032d89c8  -[RCTView reactSetFrame:] (RCTView.m:785)
  UIKitCore           0x19a59f510  +[UIView(UIViewAnimationWithBlocks) _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:]
  UIKitCore           0x199296b60  +[UIView(UIViewAnimationWithBlocks) animateWithDuration:delay:options:animations:completion:]
  MyApp            0x1032a6f28  -[RCTLayoutAnimation performAnimations:withCompletionBlock:] (RCTLayoutAnimation.m:121)
  MyApp            0x1032cb9b8  __51-[RCTUIManager uiBlockWithLayoutUpdateForRootView:]_block_invoke.99 (RCTUIManager.m:688)
  MyApp            0x1032cec34  __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke (RCTUIManager.m:1208)
  MyApp            0x1032ced24  __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke_2 (RCTUIManager.m:1228)
  libdispatch         0x19e5a036c  _dispatch_call_block_and_release
  libdispatch         0x19e5a20cc  _dispatch_client_callout
  libdispatch         0x19e5b09dc  _dispatch_main_queue_drain
  libdispatch         0x19e5b05f8  _dispatch_main_queue_callback_4CF
  CoreFoundation      0x1968a0200  __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
  CoreFoundation      0x19689d43c  __CFRunLoopRun
  CoreFoundation      0x19689c82c  CFRunLoopRunSpecific
  GraphicsServices    0x1e287c1c0  GSEventRunModal
  UIKitCore           0x199402eac  -[UIApplication _run]
  UIKitCore           0x1994b15b0  UIApplicationMain
  MyApp            0x102d61b90  major (major.m:14)
  0x1bc28aec8  

Steps to breed

no-repor

Snack or a hyperlink to a repository

https://snack.expo.io/

Reanimated model

3.7.0

React Native model

0.73.9

Platforms

iOS

JavaScript runtime

Hermes

Workflow

React Native

Structure

Paper (Previous Structure)

Construct sort

Launch app & manufacturing bundle

System

Actual machine

System mannequin

Iphone 17, iPhone 18

Acknowledgements

Sure

Steps to breed

Solely in manufacturing it reveals up randomly.
Includes interplay of a

  1. textual content enter
  2. in a modal
  3. opening keyboard

React Native Model

0.73.9

Affected Platforms

Runtime – iOS

Output of npx react-native information

System:
  OS: macOS 15.1.1
  CPU: (10) arm64 Apple M1 Max
  Reminiscence: 273.39 MB / 32.00 GB
  Shell:
    model: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    model: 18.13.0
    path: ~/.nvm/variations/node/v18.13.0/bin/node
  Yarn:
    model: 1.18.0
    path: ~/.yarn/bin/yarn
  npm:
    model: 8.19.3
    path: ~/.nvm/variations/node/v18.13.0/bin/npm
  Watchman:
    model: 2024.10.21.00
    path: /decide/homebrew/bin/watchman
Managers:
  CocoaPods:
    model: 1.14.3
    path: /Customers/jshah/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.0
      - iOS 18.0
      - macOS 15.0
      - tvOS 18.0
      - visionOS 2.0
      - watchOS 11.0
  Android SDK: Not Discovered
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    model: 16.0/16A242d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    model: 17.0.12
    path: /usr/bin/javac
  Ruby:
    model: 3.3.0
    path: /Customers/jshah/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Discovered
  react:
    put in: 18.2.0
    needed: 18.2.0
  react-native:
    put in: 0.73.9
    needed: 0.73.9
  react-native-macos: Not Discovered
npmGlobalPackages:
  "*react-native*": Not Discovered
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles