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][0.73][Old architechture] App Hangs on production iOS app for use of textinput + keyboard + modal #48110

Open
jayshah123 opened this issue Dec 5, 2024 · 4 comments
Labels
API: Keyboard Component: Modal Component: TextInput Related to the TextInput component. Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Platform: iOS iOS applications. Type: Unsupported Version Issues reported to a version of React Native that is no longer supported

Comments

@jayshah123
Copy link
Contributor

jayshah123 commented Dec 5, 2024

Description

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

The UI where we see this is a use of modal + text-input + keyboard interaction:

  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  main (main.m:14)
  0x1bc28aec8  <redacted>

Steps to reproduce

no-repor

Snack or a link to a repository

https://snack.expo.io/

Reanimated version

3.7.0

React Native version

0.73.9

Platforms

iOS

JavaScript runtime

Hermes

Workflow

React Native

Architecture

Paper (Old Architecture)

Build type

Release app & production bundle

Device

Real device

Device model

Iphone 17, iPhone 18

Acknowledgements

Yes

Steps to reproduce

Only in production it shows up randomly.
Involves interaction of a

  1. text input
  2. in a modal
  3. opening keyboard

React Native Version

0.73.9

Affected Platforms

Runtime - iOS

Output of npx react-native info

System:
  OS: macOS 15.1.1
  CPU: (10) arm64 Apple M1 Max
  Memory: 273.39 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.13.0
    path: ~/.nvm/versions/node/v18.13.0/bin/node
  Yarn:
    version: 1.18.0
    path: ~/.yarn/bin/yarn
  npm:
    version: 8.19.3
    path: ~/.nvm/versions/node/v18.13.0/bin/npm
  Watchman:
    version: 2024.10.21.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: /Users/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 Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    version: 16.0/16A242d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.12
    path: /usr/bin/javac
  Ruby:
    version: 3.3.0
    path: /Users/jshah/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.9
    wanted: 0.73.9
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false



### Stacktrace or Logs

```text
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  main (main.m:14)
  0x1bc28aec8  <redacted>



### Reproducer

norepro.com

### Screenshots and Videos

_No response_
@react-native-bot react-native-bot added the Type: Unsupported Version Issues reported to a version of React Native that is no longer supported label Dec 5, 2024
@react-native-bot
Copy link
Collaborator

Warning

Unsupported version: It looks like your issue or the example you provided uses an unsupported version of React Native.

Due to the number of issues we receive, we're currently only accepting new issues against one of the supported versions. Please upgrade to latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If you cannot upgrade, please open your issue on StackOverflow to get further community support.

@react-native-bot react-native-bot added Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. API: Keyboard Component: Modal Component: TextInput Related to the TextInput component. Platform: iOS iOS applications. and removed Needs: Triage 🔍 labels Dec 5, 2024
@react-native-bot
Copy link
Collaborator

Warning

Unsupported version: It looks like your issue or the example you provided uses an unsupported version of React Native.

Due to the number of issues we receive, we're currently only accepting new issues against one of the supported versions. Please upgrade to latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If you cannot upgrade, please open your issue on StackOverflow to get further community support.

@react-native-bot
Copy link
Collaborator

Warning

Missing reproducer: We could not detect a reproducible example in your issue report. Please provide either:

@cortinico
Copy link
Contributor

We can't help wihtout a repro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API: Keyboard Component: Modal Component: TextInput Related to the TextInput component. Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Platform: iOS iOS applications. Type: Unsupported Version Issues reported to a version of React Native that is no longer supported
Projects
None yet
Development

No branches or pull requests

3 participants