Skip to content

0.73.rc iOS oldarch - infinite recursion with -[RCTUIManager setNeedsLayout] #41545

@mfazekas

Description

@mfazekas

New Version

0.73.rc.4

Old Version

0.72.6

Build Target(s)

iOS simulator

Output of react-native info

info Fetching system and libraries information...
System:
OS: macOS 13.6
CPU: (12) arm64 Apple M2 Max
Memory: 104.39 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.18.0
path: ~/.nvm/versions/node/v18.18.0/bin/node
Yarn:
version: 1.22.21
path: ~/.nvm/versions/node/v18.18.0/bin/yarn
npm:
version: 9.8.1
path: ~/.nvm/versions/node/v18.18.0/bin/npm
Watchman:
version: 2023.09.04.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.14.2
path: /Users/boga/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK: Not Found
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10811636
Xcode:
version: 14.3.1/14E300c
path: /usr/bin/xcodebuild
Languages:
Java:
version: 15.0.10
path: /usr/bin/javac
Ruby:
version: 2.7.8
path: /Users/boga/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.73.0-rc.4
wanted: 0.73.0-rc.4
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false

Issue and Reproduction Steps

npx [email protected] init RN073RC4 --version 0.73.0-rc.4

Add the following to App.tsx, just after the last import

import {TurboModuleRegistry} from 'react-native';
const foo = TurboModuleRegistry.getEnforcing('no_such_module');
console.log('foo', foo);

I get infinite recursion with RCTUIManager setNeedsLayout

#26824	0x000000010091c4b4 in -[RCTView reactSetFrame:] at /tmp/RN073RC4/node_modules/react-native/React/Views/RCTView.m:785
#26825	0x00000001009042d8 in __51-[RCTUIManager uiBlockWithLayoutUpdateForRootView:]_block_invoke.135 at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:687
#26826	0x0000000100909a04 in __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1199
#26827	0x0000000100909cc8 in __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke.207 at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1219
#26828	0x0000000100911328 in RCTExecuteOnMainQueue at /tmp/RN073RC4/node_modules/react-native/React/Base/RCTUtils.m:262
#26829	0x000000010090984c in -[RCTUIManager flushUIBlocksWithCompletion:] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1213
#26830	0x00000001009094ac in -[RCTUIManager _layoutAndMount] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1172
#26831	0x0000000100909e6c in -[RCTUIManager setNeedsLayout] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1232
#26832	0x0000000100901814 in __37-[RCTUIManager setLocalData:forView:]_block_invoke at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:419
#26833	0x00000001009011d4 in __51-[RCTUIManager _executeBlockWithShadowView:forTag:]_block_invoke at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:389
#26834	0x000000010090f194 in RCTExecuteOnUIManagerQueue at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManagerUtils.m:57
#26835	0x00000001009010e8 in -[RCTUIManager _executeBlockWithShadowView:forTag:] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:379
#26836	0x0000000100901774 in -[RCTUIManager setLocalData:forView:] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:416
#26837	0x00000001008e0ba0 in -[RCTSafeAreaView setSafeAreaInsets:] at /tmp/RN073RC4/node_modules/react-native/React/Views/SafeAreaView/RCTSafeAreaView.m:67
#26838	0x000000011e7d2d44 in -[UIView _updateSafeAreaInsets] ()
#26839	0x000000011e7da27c in -[UIView _updateCombinedInsetsIfNecessary] ()
#26840	0x000000011e7da908 in -[UIView setCenter:] ()
#26841	0x000000010092ccb8 in -[UIView(React) reactSetFrame:] at /tmp/RN073RC4/node_modules/react-native/React/Views/UIView+React.m:204
#26842	0x000000010091c4b4 in -[RCTView reactSetFrame:] at /tmp/RN073RC4/node_modules/react-native/React/Views/RCTView.m:785
#26843	0x00000001009042d8 in __51-[RCTUIManager uiBlockWithLayoutUpdateForRootView:]_block_invoke.135 at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:687
#26844	0x0000000100909a04 in __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1199
#26845	0x0000000100909cc8 in __44-[RCTUIManager flushUIBlocksWithCompletion:]_block_invoke.207 at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1219
#26846	0x0000000100911328 in RCTExecuteOnMainQueue at /tmp/RN073RC4/node_modules/react-native/React/Base/RCTUtils.m:262
#26847	0x000000010090984c in -[RCTUIManager flushUIBlocksWithCompletion:] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1213
#26848	0x00000001009094ac in -[RCTUIManager _layoutAndMount] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1172
#26849	0x0000000100909e6c in -[RCTUIManager setNeedsLayout] at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManager.m:1232
#26850	0x00000001008f6298 in __56-[RCTSurface setMinimumSize:maximumSize:viewportOffset:]_block_invoke at /tmp/RN073RC4/node_modules/react-native/React/Base/Surface/RCTSurface.mm:404
#26851	0x000000010090f39c in RCTUnsafeExecuteOnUIManagerQueueSync at /tmp/RN073RC4/node_modules/react-native/React/Modules/RCTUIManagerUtils.m:86
#26852	0x00000001008f5fdc in -[RCTSurface setMinimumSize:maximumSize:viewportOffset:] at /tmp/RN073RC4/node_modules/react-native/React/Base/Surface/RCTSurface.mm:396
#26853	0x00000001008f5e1c in -[RCTSurface setSize:] at /tmp/RN073RC4/node_modules/react-native/React/Base/Surface/RCTSurface.mm:379
#26854	0x00000001009607a4 in -[RCTLogBoxView layoutSubviews] at /tmp/RN073RC4/node_modules/react-native/React/CoreModules/RCTLogBoxView.mm:73
#26855	0x000000011e7f6c00 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:] ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs: ReproThis issue could be improved with a clear list of steps to reproduce the issue.Needs: Triage 🔍Platform: iOSiOS applications.Type: Upgrade IssueIssues reported from upgrade issue formVersion: unspecifiedNo version information could be extracted

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions