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

LayoutAnimations cause crashes when using iOS 18 SDK on new architecture #46568

Closed
brianangulo opened this issue Sep 18, 2024 · 11 comments
Closed
Labels
API: LayoutAnimation Platform: iOS iOS applications. Resolution: Fixed A PR that fixes this issue has been merged. Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules)

Comments

@brianangulo
Copy link

brianangulo commented Sep 18, 2024

Description

Using LayoutAnimation.configureNext will cause the app to crash when NOT in a release build and when using the iOS 18 SDK (after xcode forces you to download it. It then begins to compile with it) along with the new architecture (works on legacy arch). This bug was first discovered on RN 0.72.6 but its also present in RN 0.75. On addition to the reproducer repo below here is one for RN 0.72 too https://github.com/brianangulo/rn-layoutanimation-crash

Steps to reproduce

  1. Update and download XCode iOS 18
  2. Compile pods with the new architecture enabled cd ios bundle install && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
  3. Run on a debug ios simulator RCT_NEW_ARCH_ENABLED=1 yarn ios --simulator="iPhone 15"
  4. Press the button on screen to open and close the dropdown and create layout animations
  5. The app crashes. If catching exception on xcode you'll see the stack trace coming from LayoutAnimationDriver & manager .cpp files

React Native Version

0.75.3

Affected Platforms

Runtime - iOS

Output of npx react-native info

info Fetching system and libraries information...
System:
  OS: macOS 14.6.1
  CPU: (10) arm64 Apple M1 Max
  Memory: 176.33 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.19.0
    path: ~/.nvm/versions/node/v18.19.0/bin/node
  Yarn:
    version: 3.6.4
    path: ~/.nvm/versions/node/v18.19.0/bin/yarn
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v18.19.0/bin/npm
  Watchman:
    version: 2024.09.09.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods: Not Found
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: 2023.1 AI-231.9392.1.2311.11330709
  Xcode:
    version: 16.0/16A242d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.22
    path: /usr/bin/javac
  Ruby:
    version: 3.3.5
    path: /Users/bangul01/.rvm/rubies/ruby-3.3.5/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.75.3
    wanted: 0.75.3
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Incident Identifier: 65BC75C5-4154-4DB5-88A6-AFC78A8EE124
CrashReporter Key:   2B580103-905D-FF55-95DE-7D19A0D3717C
Hardware Model:      MacBookPro18,2
Process:             AwesomeProject [38510]
Path:                /Users/USER/Library/Developer/CoreSimulator/Devices/08C3AE83-463A-4DD5-B094-7407B021FB28/data/Containers/Bundle/Application/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE/AwesomeProject.app/AwesomeProject
Identifier:          org.reactjs.native.example.AwesomeProject
Version:             1.0 (1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd_sim [23997]
Coalition:           com.apple.CoreSimulator.SimDevice.08C3AE83-463A-4DD5-B094-7407B021FB28 [18741]
Responsible Process: SimulatorTrampoline [1791]

Date/Time:           2024-09-18 14:49:45.9498 -0500
Launch Time:         2024-09-18 14:49:42.9732 -0500
OS Version:          macOS 14.6.1 (23G93)
Release Type:        User
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: AwesomeProject [38510]

Triggered by Thread:  0

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x100200f30 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x10028b124 pthread_kill + 256
2   libsystem_c.dylib             	       0x1801655c0 abort + 104
3   AwesomeProject.debug.dylib    	       0x103c030e8 void std::__1::__check_strict_weak_ordering_sorted[abi:de180100]<std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept>(std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*&)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept) + 556 (strict_weak_ordering_check.h:49)
4   AwesomeProject.debug.dylib    	       0x103c028e4 void std::__1::__stable_sort_impl[abi:de180100]<std::__1::_ClassicAlgPolicy, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept>(std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*&)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept) + 240 (stable_sort.h:255)
5   AwesomeProject.debug.dylib    	       0x103c001ac void std::__1::stable_sort[abi:de180100]<std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept>(std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept) + 60 (stable_sort.h:261)
6   AwesomeProject.debug.dylib    	       0x103bffd30 facebook::react::LayoutAnimationDriver::animationMutationsForFrame(int, std::__1::vector<facebook::react::ShadowViewMutation, std::__1::allocator<facebook::react::ShadowViewMutation>>&, unsigned long long) const + 1256 (LayoutAnimationDriver.cpp:103)
7   AwesomeProject.debug.dylib    	       0x103c0b5bc facebook::react::LayoutAnimationKeyFrameManager::pullTransaction(int, long long, facebook::react::TransactionTelemetry const&, std::__1::vector<facebook::react::ShadowViewMutation, std::__1::allocator<facebook::react::ShadowViewMutation>>) const + 14436 (LayoutAnimationKeyFrameManager.cpp:985)
8   AwesomeProject.debug.dylib    	       0x103c3bd84 facebook::react::MountingCoordinator::pullTransaction() const + 1092 (MountingCoordinator.cpp:131)
9   AwesomeProject.debug.dylib    	       0x103cbfdd8 facebook::react::TelemetryController::pullTransaction(std::__1::function<void (facebook::react::MountingTransaction const&, facebook::react::SurfaceTelemetry const&)> const&, std::__1::function<void (facebook::react::MountingTransaction const&, facebook::react::SurfaceTelemetry const&)> const&, std::__1::function<void (facebook::react::MountingTransaction const&, facebook::react::SurfaceTelemetry const&)> const&) const + 68 (TelemetryController.cpp:22)
10  AwesomeProject.debug.dylib    	       0x103ee8c1c -[RCTMountingManager performTransaction:] + 564 (RCTMountingManager.mm:267)
11  AwesomeProject.debug.dylib    	       0x103ee8998 -[RCTMountingManager initiateTransaction:] + 428 (RCTMountingManager.mm:255)
12  AwesomeProject.debug.dylib    	       0x103ee8154 -[RCTMountingManager scheduleTransaction:] + 72 (RCTMountingManager.mm:202)
13  AwesomeProject.debug.dylib    	       0x103f4b4a8 -[RCTSurfacePresenter schedulerShouldRenderTransactions:] + 76 (RCTSurfacePresenter.mm:342)
14  AwesomeProject.debug.dylib    	       0x103f295fc SchedulerDelegateProxy::schedulerShouldRenderTransactions(std::__1::shared_ptr<facebook::react::MountingCoordinator const> const&) + 104 (RCTScheduler.mm:37)
15  AwesomeProject.debug.dylib    	       0x103c741e4 facebook::react::Scheduler::uiManagerDidFinishTransaction(std::__1::shared_ptr<facebook::react::MountingCoordinator const>, bool) + 516 (Scheduler.cpp:307)
16  AwesomeProject.debug.dylib    	       0x103cdb2f4 facebook::react::UIManager::shadowTreeDidFinishTransaction(std::__1::shared_ptr<facebook::react::MountingCoordinator const>, bool) const + 140 (UIManager.cpp:623)
17  AwesomeProject.debug.dylib    	       0x103c9eb34 facebook::react::ShadowTree::notifyDelegatesOfUpdates() const + 72 (ShadowTree.cpp:537)
18  AwesomeProject.debug.dylib    	       0x103cfff18 facebook::react::UIManager::animationTick() const::$_0::operator()(facebook::react::ShadowTree const&, bool&) const + 32 (UIManager.cpp:668)
19  AwesomeProject.debug.dylib    	       0x103cffeec decltype(std::declval<facebook::react::UIManager::animationTick() const::$_0&>()(std::declval<facebook::react::ShadowTree const&>(), std::declval<bool&>())) std::__1::__invoke[abi:de180100]<facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&>(facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&) + 40 (invoke.h:344)
20  AwesomeProject.debug.dylib    	       0x103cffe94 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&>(facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&) + 40 (invoke.h:419)
21  AwesomeProject.debug.dylib    	       0x103cffe60 std::__1::__function::__alloc_func<facebook::react::UIManager::animationTick() const::$_0, std::__1::allocator<facebook::react::UIManager::animationTick() const::$_0>, void (facebook::react::ShadowTree const&, bool&)>::operator()[abi:de180100](facebook::react::ShadowTree const&, bool&) + 44 (function.h:169)
22  AwesomeProject.debug.dylib    	       0x103cfecfc std::__1::__function::__func<facebook::react::UIManager::animationTick() const::$_0, std::__1::allocator<facebook::react::UIManager::animationTick() const::$_0>, void (facebook::react::ShadowTree const&, bool&)>::operator()(facebook::react::ShadowTree const&, bool&) + 44 (function.h:311)
23  AwesomeProject.debug.dylib    	       0x103caccc8 std::__1::__function::__value_func<void (facebook::react::ShadowTree const&, bool&)>::operator()[abi:de180100](facebook::react::ShadowTree const&, bool&) const + 84 (function.h:428)
24  AwesomeProject.debug.dylib    	       0x103caa16c std::__1::function<void (facebook::react::ShadowTree const&, bool&)>::operator()(facebook::react::ShadowTree const&, bool&) const + 40 (function.h:981)
25  AwesomeProject.debug.dylib    	       0x103caa078 facebook::react::ShadowTreeRegistry::enumerate(std::__1::function<void (facebook::react::ShadowTree const&, bool&)> const&) const + 180 (ShadowTreeRegistry.cpp:60)
26  AwesomeProject.debug.dylib    	       0x103cdb694 facebook::react::UIManager::animationTick() const + 136 (UIManager.cpp:667)
27  AwesomeProject.debug.dylib    	       0x103c73fd4 facebook::react::Scheduler::animationTick() const + 32 (Scheduler.cpp:279)
28  AwesomeProject.debug.dylib    	       0x103f283dc -[RCTScheduler animationTick] + 36 (RCTScheduler.mm:141)
29  AwesomeProject.debug.dylib    	       0x103f2a708 LayoutAnimationDelegateProxy::activityDidChange(facebook::react::RunLoopObserver::Delegate const*, facebook::react::RunLoopObserver::Activity) const + 52 (RCTScheduler.mm:98)
30  AwesomeProject.debug.dylib    	       0x1042067a4 facebook::react::RunLoopObserver::activityDidChange(facebook::react::RunLoopObserver::Activity) const + 304 (RunLoopObserver.cpp:54)
31  AwesomeProject.debug.dylib    	       0x103e944c4 invocation function for block in facebook::react::PlatformRunLoopObserver::PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity, std::__1::weak_ptr<void const> const&, __CFRunLoop*) + 116 (PlatformRunLoopObserver.mm:68)
32  CoreFoundation                	       0x18040ddf4 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
33  CoreFoundation                	       0x1804087f8 __CFRunLoopDoObservers + 528
34  CoreFoundation                	       0x180408cb0 __CFRunLoopRun + 968
35  CoreFoundation                	       0x1804084d4 CFRunLoopRunSpecific + 572
36  GraphicsServices              	       0x18ef2aae4 GSEventRunModal + 160
37  UIKitCore                     	       0x1853d0a28 -[UIApplication _run] + 868
38  UIKitCore                     	       0x1853d46b0 UIApplicationMain + 124
39  AwesomeProject.debug.dylib    	       0x1039684cc __debug_main_executable_dylib_entry_point + 96 (main.m:8)
40  dyld_sim                      	       0x1002d5544 start_sim + 20
41  dyld                          	       0x1004ae154 start + 2476

Thread 1:
0   libsystem_pthread.dylib       	       0x1002865cc start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib       	       0x1002865cc start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib       	       0x1002865cc start_wqthread + 0

Thread 4:: com.apple.uikit.eventfetch-thread
0   libsystem_kernel.dylib        	       0x1001f9170 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x10020a660 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x100201318 mach_msg_overwrite + 532
3   libsystem_kernel.dylib        	       0x1001f94e8 mach_msg + 20
4   CoreFoundation                	       0x18040e684 __CFRunLoopServiceMachPort + 156
5   CoreFoundation                	       0x180408d64 __CFRunLoopRun + 1148
6   CoreFoundation                	       0x1804084d4 CFRunLoopRunSpecific + 572
7   Foundation                    	       0x180dd340c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 208
8   Foundation                    	       0x180dd3630 -[NSRunLoop(NSRunLoop) runUntilDate:] + 60
9   UIKitCore                     	       0x1854773f8 -[UIEventFetcher threadMain] + 404
10  Foundation                    	       0x180df9c64 __NSThread__start__ + 720
11  libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
12  libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8

Thread 5:
0   libsystem_pthread.dylib       	       0x1002865cc start_wqthread + 0

Thread 6:
0   libsystem_pthread.dylib       	       0x1002865cc start_wqthread + 0

Thread 7:
0   libsystem_pthread.dylib       	       0x1002865cc start_wqthread + 0

Thread 8:: com.facebook.react.runtime.JavaScript
0   libsystem_kernel.dylib        	       0x1001f9170 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x10020a660 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x100201318 mach_msg_overwrite + 532
3   libsystem_kernel.dylib        	       0x1001f94e8 mach_msg + 20
4   CoreFoundation                	       0x18040e684 __CFRunLoopServiceMachPort + 156
5   CoreFoundation                	       0x180408d64 __CFRunLoopRun + 1148
6   CoreFoundation                	       0x1804084d4 CFRunLoopRunSpecific + 572
7   AwesomeProject.debug.dylib    	       0x10402a9f4 +[RCTJSThreadManager runRunLoop] + 292 (RCTJSThreadManager.mm:102)
8   Foundation                    	       0x180df9c64 __NSThread__start__ + 720
9   libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
10  libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8

Thread 9:: hades
0   libsystem_kernel.dylib        	       0x1001fc670 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x10028b9cc _pthread_cond_wait + 1216
2   libc++.1.dylib                	       0x1802ea6d8 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24
3   hermes                        	       0x101997388 hermes::vm::HadesGC::Executor::worker() + 112
4   hermes                        	       0x1019972ec void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*) + 44
5   libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
6   libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8

Thread 10:: com.apple.CFStream.LegacyThread
0   libsystem_kernel.dylib        	       0x1001f9170 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x10020a660 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x100201318 mach_msg_overwrite + 532
3   libsystem_kernel.dylib        	       0x1001f94e8 mach_msg + 20
4   CoreFoundation                	       0x18040e684 __CFRunLoopServiceMachPort + 156
5   CoreFoundation                	       0x180408d64 __CFRunLoopRun + 1148
6   CoreFoundation                	       0x1804084d4 CFRunLoopRunSpecific + 572
7   CoreFoundation                	       0x18042bd80 _legacyStreamRunLoop_workThread + 260
8   libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
9   libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8

Thread 11:: com.facebook.SocketRocket.NetworkThread
0   libsystem_kernel.dylib        	       0x1001f9170 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x10020a660 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x100201318 mach_msg_overwrite + 532
3   libsystem_kernel.dylib        	       0x1001f94e8 mach_msg + 20
4   CoreFoundation                	       0x18040e684 __CFRunLoopServiceMachPort + 156
5   CoreFoundation                	       0x180408d64 __CFRunLoopRun + 1148
6   CoreFoundation                	       0x1804084d4 CFRunLoopRunSpecific + 572
7   Foundation                    	       0x180dd340c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 208
8   AwesomeProject.debug.dylib    	       0x10427c830 -[SRRunLoopThread main] + 260 (SRRunLoopThread.m:71)
9   Foundation                    	       0x180df9c64 __NSThread__start__ + 720
10  libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
11  libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8

Thread 12:: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib        	       0x1001f9170 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x10020a660 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x100201318 mach_msg_overwrite + 532
3   libsystem_kernel.dylib        	       0x1001f94e8 mach_msg + 20
4   CoreFoundation                	       0x18040e684 __CFRunLoopServiceMachPort + 156
5   CoreFoundation                	       0x180408d64 __CFRunLoopRun + 1148
6   CoreFoundation                	       0x1804084d4 CFRunLoopRunSpecific + 572
7   CFNetwork                     	       0x184526cd8 0x18430f000 + 2194648
8   Foundation                    	       0x180df9c64 __NSThread__start__ + 720
9   libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
10  libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8

Thread 13:: com.apple.CFSocket.private
0   libsystem_kernel.dylib        	       0x10020368c __select + 8
1   CoreFoundation                	       0x18041d06c __CFSocketManager + 612
2   libsystem_pthread.dylib       	       0x10028b414 _pthread_start + 104
3   libsystem_pthread.dylib       	       0x1002865e0 thread_start + 8


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000005a00   x5: 0x0000000000000020   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0x0000000100540240   x9: 0x18e9440b62947c21  x10: 0x00000000000002c8  x11: 0x0000000000000000
   x12: 0x0000000000000000  x13: 0x0000000000000000  x14: 0x0000000000000000  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x0000000000021000  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000100540240  x21: 0x0000000000000103  x22: 0x0000000100540320  x23: 0x000000016fca5280
   x24: 0x000000010300b040  x25: 0x0000000000000002  x26: 0x00006000033081e0  x27: 0x0000600001726b40
   x28: 0x000000018040c260   fp: 0x000000016fc9fb50   lr: 0x000000010028b124
    sp: 0x000000016fc9fb30   pc: 0x0000000100200f30 cpsr: 0x40001000
   far: 0x0000000000000000  esr: 0x56000080  Address size fault

Binary Images:
       0x1004a8000 -        0x100533fff dyld (*) <f635824e-318b-3f0c-842c-c369737f2b68> /usr/lib/dyld
       0x1005d4000 -        0x1005dffff libobjc-trampolines.dylib (*) <c6ef2cc0-8ca9-3a69-a525-91bec719ddfc> /Volumes/VOLUME/*/libobjc-trampolines.dylib
       0x103964000 -        0x104423fff AwesomeProject.debug.dylib (*) <f81bed9a-2a28-3756-838c-83ab991368f7> /Users/USER/Library/Developer/CoreSimulator/Devices/08C3AE83-463A-4DD5-B094-7407B021FB28/data/Containers/Bundle/Application/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE/AwesomeProject.app/AwesomeProject.debug.dylib
       0x1017f4000 -        0x101b63fff dev.hermesengine.iphonesimulator (0.12.0) <faf8b988-0df9-33c6-b6ce-abd02aea7e94> /Users/USER/Library/Developer/CoreSimulator/Devices/08C3AE83-463A-4DD5-B094-7407B021FB28/data/Containers/Bundle/Application/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE/AwesomeProject.app/Frameworks/hermes.framework/hermes
       0x100264000 -        0x10026bfff libsystem_platform.dylib (*) <3394e9ca-eb51-322d-a5eb-4d895d3b1c14> /usr/lib/system/libsystem_platform.dylib
       0x1001f8000 -        0x100233fff libsystem_kernel.dylib (*) <0f9f96fe-6b1c-3253-a33a-c9e4a0c2a386> /usr/lib/system/libsystem_kernel.dylib
       0x100284000 -        0x100293fff libsystem_pthread.dylib (*) <3df3256f-466e-37bc-b995-a5a9956e1415> /usr/lib/system/libsystem_pthread.dylib
       0x100158000 -        0x10015bfff org.reactjs.native.example.AwesomeProject (1.0) <c68b4484-a6bc-346b-b57f-00213a56a586> /Users/USER/Library/Developer/CoreSimulator/Devices/08C3AE83-463A-4DD5-B094-7407B021FB28/data/Containers/Bundle/Application/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE/AwesomeProject.app/AwesomeProject
       0x1002d4000 -        0x10031ffff dyld_sim (*) <f1d509a4-edf1-3668-b217-c6a2bd1fbef4> /Volumes/VOLUME/*/dyld_sim
       0x1800f2000 -        0x18016dfff libsystem_c.dylib (*) <ce9466d4-2e24-3c03-a488-d86a828ecffe> /Volumes/VOLUME/*/libsystem_c.dylib
       0x180381000 -        0x180734fff com.apple.CoreFoundation (6.9) <6c40f9e5-bffa-3413-9e1c-a4f724ad56ba> /Volumes/VOLUME/*/CoreFoundation.framework/CoreFoundation
       0x18ef27000 -        0x18ef2ffff com.apple.GraphicsServices (1.0) <b8bade4e-4da1-3e89-aadc-79d9356e07f1> /Volumes/VOLUME/*/GraphicsServices.framework/GraphicsServices
       0x1847df000 -        0x186186fff com.apple.UIKitCore (1.0) <8d3f22bc-9dec-3601-b822-2b88624be742> /Volumes/VOLUME/*/UIKitCore.framework/UIKitCore
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
       0x1807b4000 -        0x181264fff com.apple.Foundation (6.9) <3a54db51-8b3a-308d-9f9e-51474c4a8520> /Volumes/VOLUME/*/Foundation.framework/Foundation
       0x1802da000 -        0x18035bfff libc++.1.dylib (*) <27a11d15-9506-3776-8d00-9f34bea3ecb1> /Volumes/VOLUME/*/libc++.1.dylib
       0x18430f000 -        0x1846a0fff com.apple.CFNetwork (1.0) <ad068dfd-5acf-3c3f-9449-adf0b044e328> /Volumes/VOLUME/*/CFNetwork.framework/CFNetwork

EOF

-----------
Full Report
-----------

{"app_name":"AwesomeProject","timestamp":"2024-09-18 14:49:46.00 -0500","app_version":"1.0","slice_uuid":"c68b4484-a6bc-346b-b57f-00213a56a586","build_version":"1","platform":7,"bundleID":"org.reactjs.native.example.AwesomeProject","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"macOS 14.6.1 (23G93)","roots_installed":0,"name":"AwesomeProject","incident_id":"65BC75C5-4154-4DB5-88A6-AFC78A8EE124"}
{
  "uptime" : 36000,
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 503,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro18,2",
  "coalitionID" : 18741,
  "osVersion" : {
    "train" : "macOS 14.6.1",
    "build" : "23G93",
    "releaseType" : "User"
  },
  "captureTime" : "2024-09-18 14:49:45.9498 -0500",
  "codeSigningMonitor" : 1,
  "incident" : "65BC75C5-4154-4DB5-88A6-AFC78A8EE124",
  "pid" : 38510,
  "translated" : false,
  "cpuType" : "ARM-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2024-09-18 14:49:42.9732 -0500",
  "procStartAbsTime" : 881391351026,
  "procExitAbsTime" : 881462498889,
  "procName" : "AwesomeProject",
  "procPath" : "\/Users\/USER\/Library\/Developer\/CoreSimulator\/Devices\/08C3AE83-463A-4DD5-B094-7407B021FB28\/data\/Containers\/Bundle\/Application\/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE\/AwesomeProject.app\/AwesomeProject",
  "bundleInfo" : {"CFBundleShortVersionString":"1.0","CFBundleVersion":"1","CFBundleIdentifier":"org.reactjs.native.example.AwesomeProject"},
  "storeInfo" : {"deviceIdentifierForVendor":"1E83C4C9-F509-5A2F-BA41-845196367897","thirdParty":true},
  "parentProc" : "launchd_sim",
  "parentPid" : 23997,
  "coalitionName" : "com.apple.CoreSimulator.SimDevice.08C3AE83-463A-4DD5-B094-7407B021FB28",
  "crashReporterKey" : "2B580103-905D-FF55-95DE-7D19A0D3717C",
  "responsiblePid" : 1791,
  "responsibleProc" : "SimulatorTrampoline",
  "codeSigningID" : "org.reactjs.native.example.AwesomeProject",
  "codeSigningTeamID" : "",
  "codeSigningFlags" : 570425857,
  "codeSigningValidationCategory" : 10,
  "codeSigningTrustLevel" : 4294967295,
  "instructionByteStream" : {"beforePC":"4wAAVP17v6n9AwCR9+L\/l78DAJH9e8GowANf1sADX9YQKYDSARAA1A==","atPC":"4wAAVP17v6n9AwCR7eL\/l78DAJH9e8GowANf1sADX9ZwCoDSARAA1A=="},
  "wakeTime" : 21408,
  "sleepWakeUUID" : "CC54212D-9A3B-42E2-97F7-C8203EC853F2",
  "sip" : "enabled",
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "termination" : {"flags":0,"code":6,"namespace":"SIGNAL","indicator":"Abort trap: 6","byProc":"AwesomeProject","byPid":38510},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":1,"thread_set_state":94,"task_for_pid":18},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":1814288,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":23040},{"value":32},{"value":0},{"value":0},{"value":4300472896,"symbolLocation":0,"symbol":"_main_thread"},{"value":1795040742173080609},{"value":712},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":328},{"value":135168},{"value":0},{"value":6},{"value":4300472896,"symbolLocation":0,"symbol":"_main_thread"},{"value":259},{"value":4300473120,"symbolLocation":224,"symbol":"_main_thread"},{"value":6170497664},{"value":4345344064},{"value":2},{"value":105553169777120},{"value":105553140542272},{"value":6446695008,"symbolLocation":0,"symbol":"_runLoopObserverWithBlockContext"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297634084},"cpsr":{"value":1073745920},"fp":{"value":6170475344},"sp":{"value":6170475312},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297068336,"matchesCrashFrame":1},"far":{"value":0}},"queue":"com.apple.main-thread","frames":[{"imageOffset":36656,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":5},{"imageOffset":28964,"symbol":"pthread_kill","symbolLocation":256,"imageIndex":6},{"imageOffset":472512,"symbol":"abort","symbolLocation":104,"imageIndex":9},{"imageOffset":2748648,"sourceLine":49,"sourceFile":"strict_weak_ordering_check.h","symbol":"void std::__1::__check_strict_weak_ordering_sorted[abi:de180100]<std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept>(std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*&)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept)","imageIndex":2,"symbolLocation":556},{"imageOffset":2746596,"sourceLine":255,"sourceFile":"stable_sort.h","symbol":"void std::__1::__stable_sort_impl[abi:de180100]<std::__1::_ClassicAlgPolicy, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept>(std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*&)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept)","imageIndex":2,"symbolLocation":240},{"imageOffset":2736556,"sourceLine":261,"sourceFile":"stable_sort.h","symbol":"void std::__1::stable_sort[abi:de180100]<std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept>(std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, std::__1::__wrap_iter<facebook::react::ShadowViewMutation*>, bool (*)(facebook::react::ShadowViewMutation const&, facebook::react::ShadowViewMutation const&) noexcept)","imageIndex":2,"symbolLocation":60},{"imageOffset":2735408,"sourceLine":103,"sourceFile":"LayoutAnimationDriver.cpp","symbol":"facebook::react::LayoutAnimationDriver::animationMutationsForFrame(int, std::__1::vector<facebook::react::ShadowViewMutation, std::__1::allocator<facebook::react::ShadowViewMutation>>&, unsigned long long) const","imageIndex":2,"symbolLocation":1256},{"imageOffset":2782652,"sourceLine":985,"sourceFile":"LayoutAnimationKeyFrameManager.cpp","symbol":"facebook::react::LayoutAnimationKeyFrameManager::pullTransaction(int, long long, facebook::react::TransactionTelemetry const&, std::__1::vector<facebook::react::ShadowViewMutation, std::__1::allocator<facebook::react::ShadowViewMutation>>) const","imageIndex":2,"symbolLocation":14436},{"imageOffset":2981252,"sourceLine":131,"sourceFile":"MountingCoordinator.cpp","symbol":"facebook::react::MountingCoordinator::pullTransaction() const","imageIndex":2,"symbolLocation":1092},{"imageOffset":3522008,"sourceLine":22,"sourceFile":"TelemetryController.cpp","symbol":"facebook::react::TelemetryController::pullTransaction(std::__1::function<void (facebook::react::MountingTransaction const&, facebook::react::SurfaceTelemetry const&)> const&, std::__1::function<void (facebook::react::MountingTransaction const&, facebook::react::SurfaceTelemetry const&)> const&, std::__1::function<void (facebook::react::MountingTransaction const&, facebook::react::SurfaceTelemetry const&)> const&) const","imageIndex":2,"symbolLocation":68},{"imageOffset":5786652,"sourceLine":267,"sourceFile":"RCTMountingManager.mm","symbol":"-[RCTMountingManager performTransaction:]","imageIndex":2,"symbolLocation":564},{"imageOffset":5786008,"sourceLine":255,"sourceFile":"RCTMountingManager.mm","symbol":"-[RCTMountingManager initiateTransaction:]","imageIndex":2,"symbolLocation":428},{"imageOffset":5783892,"sourceLine":202,"sourceFile":"RCTMountingManager.mm","symbol":"-[RCTMountingManager scheduleTransaction:]","imageIndex":2,"symbolLocation":72},{"imageOffset":6190248,"sourceLine":342,"sourceFile":"RCTSurfacePresenter.mm","symbol":"-[RCTSurfacePresenter schedulerShouldRenderTransactions:]","imageIndex":2,"symbolLocation":76},{"imageOffset":6051324,"sourceLine":37,"sourceFile":"RCTScheduler.mm","symbol":"SchedulerDelegateProxy::schedulerShouldRenderTransactions(std::__1::shared_ptr<facebook::react::MountingCoordinator const> const&)","imageIndex":2,"symbolLocation":104},{"imageOffset":3211748,"sourceLine":307,"sourceFile":"Scheduler.cpp","symbol":"facebook::react::Scheduler::uiManagerDidFinishTransaction(std::__1::shared_ptr<facebook::react::MountingCoordinator const>, bool)","imageIndex":2,"symbolLocation":516},{"imageOffset":3633908,"sourceLine":623,"sourceFile":"UIManager.cpp","symbol":"facebook::react::UIManager::shadowTreeDidFinishTransaction(std::__1::shared_ptr<facebook::react::MountingCoordinator const>, bool) const","imageIndex":2,"symbolLocation":140},{"imageOffset":3386164,"sourceLine":537,"sourceFile":"ShadowTree.cpp","symbol":"facebook::react::ShadowTree::notifyDelegatesOfUpdates() const","imageIndex":2,"symbolLocation":72},{"imageOffset":3784472,"sourceLine":668,"sourceFile":"UIManager.cpp","symbol":"facebook::react::UIManager::animationTick() const::$_0::operator()(facebook::react::ShadowTree const&, bool&) const","imageIndex":2,"symbolLocation":32},{"imageOffset":3784428,"sourceLine":344,"sourceFile":"invoke.h","symbol":"decltype(std::declval<facebook::react::UIManager::animationTick() const::$_0&>()(std::declval<facebook::react::ShadowTree const&>(), std::declval<bool&>())) std::__1::__invoke[abi:de180100]<facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&>(facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&)","imageIndex":2,"symbolLocation":40},{"imageOffset":3784340,"sourceLine":419,"sourceFile":"invoke.h","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&>(facebook::react::UIManager::animationTick() const::$_0&, facebook::react::ShadowTree const&, bool&)","imageIndex":2,"symbolLocation":40},{"imageOffset":3784288,"sourceLine":169,"sourceFile":"function.h","symbol":"std::__1::__function::__alloc_func<facebook::react::UIManager::animationTick() const::$_0, std::__1::allocator<facebook::react::UIManager::animationTick() const::$_0>, void (facebook::react::ShadowTree const&, bool&)>::operator()[abi:de180100](facebook::react::ShadowTree const&, bool&)","imageIndex":2,"symbolLocation":44},{"imageOffset":3779836,"sourceLine":311,"sourceFile":"function.h","symbol":"std::__1::__function::__func<facebook::react::UIManager::animationTick() const::$_0, std::__1::allocator<facebook::react::UIManager::animationTick() const::$_0>, void (facebook::react::ShadowTree const&, bool&)>::operator()(facebook::react::ShadowTree const&, bool&)","imageIndex":2,"symbolLocation":44},{"imageOffset":3443912,"sourceLine":428,"sourceFile":"function.h","symbol":"std::__1::__function::__value_func<void (facebook::react::ShadowTree const&, bool&)>::operator()[abi:de180100](facebook::react::ShadowTree const&, bool&) const","imageIndex":2,"symbolLocation":84},{"imageOffset":3432812,"sourceLine":981,"sourceFile":"function.h","symbol":"std::__1::function<void (facebook::react::ShadowTree const&, bool&)>::operator()(facebook::react::ShadowTree const&, bool&) const","imageIndex":2,"symbolLocation":40},{"imageOffset":3432568,"sourceLine":60,"sourceFile":"ShadowTreeRegistry.cpp","symbol":"facebook::react::ShadowTreeRegistry::enumerate(std::__1::function<void (facebook::react::ShadowTree const&, bool&)> const&) const","imageIndex":2,"symbolLocation":180},{"imageOffset":3634836,"sourceLine":667,"sourceFile":"UIManager.cpp","symbol":"facebook::react::UIManager::animationTick() const","imageIndex":2,"symbolLocation":136},{"imageOffset":3211220,"sourceLine":279,"sourceFile":"Scheduler.cpp","symbol":"facebook::react::Scheduler::animationTick() const","imageIndex":2,"symbolLocation":32},{"imageOffset":6046684,"sourceLine":141,"sourceFile":"RCTScheduler.mm","symbol":"-[RCTScheduler animationTick]","imageIndex":2,"symbolLocation":36},{"imageOffset":6055688,"sourceLine":98,"sourceFile":"RCTScheduler.mm","symbol":"LayoutAnimationDelegateProxy::activityDidChange(facebook::react::RunLoopObserver::Delegate const*, facebook::react::RunLoopObserver::Activity) const","imageIndex":2,"symbolLocation":52},{"imageOffset":9054116,"sourceLine":54,"sourceFile":"RunLoopObserver.cpp","symbol":"facebook::react::RunLoopObserver::activityDidChange(facebook::react::RunLoopObserver::Activity) const","imageIndex":2,"symbolLocation":304},{"imageOffset":5440708,"sourceLine":68,"sourceFile":"PlatformRunLoopObserver.mm","symbol":"invocation function for block in facebook::react::PlatformRunLoopObserver::PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity, std::__1::weak_ptr<void const> const&, __CFRunLoop*)","imageIndex":2,"symbolLocation":116},{"imageOffset":577012,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__","symbolLocation":32,"imageIndex":10},{"imageOffset":555000,"symbol":"__CFRunLoopDoObservers","symbolLocation":528,"imageIndex":10},{"imageOffset":556208,"symbol":"__CFRunLoopRun","symbolLocation":968,"imageIndex":10},{"imageOffset":554196,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":10},{"imageOffset":15076,"symbol":"GSEventRunModal","symbolLocation":160,"imageIndex":11},{"imageOffset":12524072,"symbol":"-[UIApplication _run]","symbolLocation":868,"imageIndex":12},{"imageOffset":12539568,"symbol":"UIApplicationMain","symbolLocation":124,"imageIndex":12},{"imageOffset":17612,"sourceLine":8,"sourceFile":"main.m","symbol":"__debug_main_executable_dylib_entry_point","imageIndex":2,"symbolLocation":96},{"imageOffset":5444,"symbol":"start_sim","symbolLocation":20,"imageIndex":8},{"imageOffset":24916,"symbol":"start","symbolLocation":2476,"imageIndex":0}]},{"id":1814314,"frames":[{"imageOffset":9676,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":6}],"threadState":{"x":[{"value":6171062272},{"value":3075},{"value":6170525696},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6171062272},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297614796},"far":{"value":0}}},{"id":1814316,"frames":[{"imageOffset":9676,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":6}],"threadState":{"x":[{"value":6171635712},{"value":4099},{"value":6171099136},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6171635712},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297614796},"far":{"value":0}}},{"id":1814318,"frames":[{"imageOffset":9676,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":6}],"threadState":{"x":[{"value":6172209152},{"value":9987},{"value":6171672576},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6172209152},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297614796},"far":{"value":0}}},{"id":1814320,"name":"com.apple.uikit.eventfetch-thread","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":48391396524032},{"value":0},{"value":48391396524032},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":11267},{"value":0},{"value":1},{"value":11267},{"value":3072},{"value":0},{"value":0},{"value":18446744073709551569},{"value":2},{"value":0},{"value":4294967295},{"value":2},{"value":48391396524032},{"value":0},{"value":48391396524032},{"value":6172777848},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297107040},"cpsr":{"value":4096},"fp":{"value":6172777696},"sp":{"value":6172777616},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297036144},"far":{"value":0}},"frames":[{"imageOffset":4464,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":75360,"symbol":"mach_msg2_internal","symbolLocation":76,"imageIndex":5},{"imageOffset":37656,"symbol":"mach_msg_overwrite","symbolLocation":532,"imageIndex":5},{"imageOffset":5352,"symbol":"mach_msg","symbolLocation":20,"imageIndex":5},{"imageOffset":579204,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":156,"imageIndex":10},{"imageOffset":556388,"symbol":"__CFRunLoopRun","symbolLocation":1148,"imageIndex":10},{"imageOffset":554196,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":10},{"imageOffset":6419468,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":208,"imageIndex":14},{"imageOffset":6420016,"symbol":"-[NSRunLoop(NSRunLoop) runUntilDate:]","symbolLocation":60,"imageIndex":14},{"imageOffset":13206520,"symbol":"-[UIEventFetcher threadMain]","symbolLocation":404,"imageIndex":12},{"imageOffset":6577252,"symbol":"__NSThread__start__","symbolLocation":720,"imageIndex":14},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]},{"id":1814321,"frames":[{"imageOffset":9676,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":6}],"threadState":{"x":[{"value":6173356032},{"value":12547},{"value":6172819456},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6173356032},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297614796},"far":{"value":0}}},{"id":1814322,"frames":[{"imageOffset":9676,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":6}],"threadState":{"x":[{"value":6173929472},{"value":14339},{"value":6173392896},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6173929472},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297614796},"far":{"value":0}}},{"id":1814323,"frames":[{"imageOffset":9676,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":6}],"threadState":{"x":[{"value":6174502912},{"value":13835},{"value":6173966336},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":4096},"fp":{"value":0},"sp":{"value":6174502912},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297614796},"far":{"value":0}}},{"id":1814341,"name":"com.facebook.react.runtime.JavaScript","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":136352326746112},{"value":0},{"value":136352326746112},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":31747},{"value":0},{"value":1},{"value":31747},{"value":3072},{"value":0},{"value":13194139533312},{"value":18446744073709551569},{"value":13194139536386},{"value":0},{"value":4294967295},{"value":2},{"value":136352326746112},{"value":0},{"value":136352326746112},{"value":6175595832},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297107040},"cpsr":{"value":4096},"fp":{"value":6175595680},"sp":{"value":6175595600},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297036144},"far":{"value":0}},"frames":[{"imageOffset":4464,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":75360,"symbol":"mach_msg2_internal","symbolLocation":76,"imageIndex":5},{"imageOffset":37656,"symbol":"mach_msg_overwrite","symbolLocation":532,"imageIndex":5},{"imageOffset":5352,"symbol":"mach_msg","symbolLocation":20,"imageIndex":5},{"imageOffset":579204,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":156,"imageIndex":10},{"imageOffset":556388,"symbol":"__CFRunLoopRun","symbolLocation":1148,"imageIndex":10},{"imageOffset":554196,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":10},{"imageOffset":7105012,"sourceLine":102,"sourceFile":"RCTJSThreadManager.mm","symbol":"+[RCTJSThreadManager runRunLoop]","imageIndex":2,"symbolLocation":292},{"imageOffset":6577252,"symbol":"__NSThread__start__","symbolLocation":720,"imageIndex":14},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]},{"id":1814342,"name":"hades","threadState":{"x":[{"value":260},{"value":0},{"value":0},{"value":0},{"value":0},{"value":160},{"value":0},{"value":0},{"value":6176173736},{"value":0},{"value":105553171842456},{"value":2},{"value":0},{"value":0},{"value":0},{"value":0},{"value":305},{"value":0},{"value":0},{"value":105553171842432},{"value":105553171842496},{"value":6176174304},{"value":0},{"value":0},{"value":0},{"value":1},{"value":256},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297636300},"cpsr":{"value":1610616832},"fp":{"value":6176173856},"sp":{"value":6176173712},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297049712},"far":{"value":0}},"frames":[{"imageOffset":18032,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":5},{"imageOffset":31180,"symbol":"_pthread_cond_wait","symbolLocation":1216,"imageIndex":6},{"imageOffset":67288,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":24,"imageIndex":15},{"imageOffset":1717128,"symbol":"hermes::vm::HadesGC::Executor::worker()","symbolLocation":112,"imageIndex":3},{"imageOffset":1716972,"symbol":"void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]},{"id":1814348,"name":"com.apple.CFStream.LegacyThread","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":116561117446144},{"value":0},{"value":116561117446144},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":27139},{"value":0},{"value":1},{"value":27139},{"value":3072},{"value":0},{"value":7696581394432},{"value":18446744073709551569},{"value":7696581396226},{"value":0},{"value":4294967295},{"value":2},{"value":116561117446144},{"value":0},{"value":116561117446144},{"value":6176743416},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297107040},"cpsr":{"value":4096},"fp":{"value":6176743264},"sp":{"value":6176743184},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297036144},"far":{"value":0}},"frames":[{"imageOffset":4464,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":75360,"symbol":"mach_msg2_internal","symbolLocation":76,"imageIndex":5},{"imageOffset":37656,"symbol":"mach_msg_overwrite","symbolLocation":532,"imageIndex":5},{"imageOffset":5352,"symbol":"mach_msg","symbolLocation":20,"imageIndex":5},{"imageOffset":579204,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":156,"imageIndex":10},{"imageOffset":556388,"symbol":"__CFRunLoopRun","symbolLocation":1148,"imageIndex":10},{"imageOffset":554196,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":10},{"imageOffset":699776,"symbol":"_legacyStreamRunLoop_workThread","symbolLocation":260,"imageIndex":10},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]},{"id":1814351,"name":"com.facebook.SocketRocket.NetworkThread","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":140750373257216},{"value":0},{"value":140750373257216},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":32771},{"value":0},{"value":1},{"value":32771},{"value":3072},{"value":0},{"value":2199023255552},{"value":18446744073709551569},{"value":2199023256066},{"value":0},{"value":4294967295},{"value":2},{"value":140750373257216},{"value":0},{"value":140750373257216},{"value":6177316168},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297107040},"cpsr":{"value":4096},"fp":{"value":6177316016},"sp":{"value":6177315936},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297036144},"far":{"value":0}},"frames":[{"imageOffset":4464,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":75360,"symbol":"mach_msg2_internal","symbolLocation":76,"imageIndex":5},{"imageOffset":37656,"symbol":"mach_msg_overwrite","symbolLocation":532,"imageIndex":5},{"imageOffset":5352,"symbol":"mach_msg","symbolLocation":20,"imageIndex":5},{"imageOffset":579204,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":156,"imageIndex":10},{"imageOffset":556388,"symbol":"__CFRunLoopRun","symbolLocation":1148,"imageIndex":10},{"imageOffset":554196,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":10},{"imageOffset":6419468,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":208,"imageIndex":14},{"imageOffset":9537584,"sourceLine":71,"sourceFile":"SRRunLoopThread.m","symbol":"-[SRRunLoopThread main]","imageIndex":2,"symbolLocation":260},{"imageOffset":6577252,"symbol":"__NSThread__start__","symbolLocation":720,"imageIndex":14},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]},{"id":1814352,"name":"com.apple.NSURLConnectionLoader","threadState":{"x":[{"value":268451845},{"value":21592279046},{"value":8589934592},{"value":144048908140544},{"value":0},{"value":144048908140544},{"value":2},{"value":4294967295},{"value":18446744073709550527},{"value":33539},{"value":0},{"value":1},{"value":33539},{"value":3072},{"value":2043},{"value":3315640315},{"value":18446744073709551569},{"value":20},{"value":0},{"value":4294967295},{"value":2},{"value":144048908140544},{"value":0},{"value":144048908140544},{"value":6177889624},{"value":8589934592},{"value":21592279046},{"value":21592279046},{"value":4412409862}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4297107040},"cpsr":{"value":4096},"fp":{"value":6177889472},"sp":{"value":6177889392},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297036144},"far":{"value":0}},"frames":[{"imageOffset":4464,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":75360,"symbol":"mach_msg2_internal","symbolLocation":76,"imageIndex":5},{"imageOffset":37656,"symbol":"mach_msg_overwrite","symbolLocation":532,"imageIndex":5},{"imageOffset":5352,"symbol":"mach_msg","symbolLocation":20,"imageIndex":5},{"imageOffset":579204,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":156,"imageIndex":10},{"imageOffset":556388,"symbol":"__CFRunLoopRun","symbolLocation":1148,"imageIndex":10},{"imageOffset":554196,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":10},{"imageOffset":2194648,"imageIndex":16},{"imageOffset":6577252,"symbol":"__NSThread__start__","symbolLocation":720,"imageIndex":14},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]},{"id":1814354,"name":"com.apple.CFSocket.private","threadState":{"x":[{"value":4},{"value":0},{"value":105553116287920},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":6178468064},{"value":0},{"value":105553181326080},{"value":15},{"value":3},{"value":105553181326112},{"value":72057602296636833,"symbolLocation":72057594037927937,"symbol":"OBJC_CLASS_$___NSCFArray"},{"value":8258708896,"symbolLocation":0,"symbol":"OBJC_CLASS_$___NSCFArray"},{"value":93},{"value":6446612916,"symbolLocation":0,"symbol":"-[__NSCFArray objectAtIndex:]"},{"value":0},{"value":32},{"value":8258731016,"symbolLocation":0,"symbol":"__CFActiveSocketsLock"},{"value":1},{"value":4302000240},{"value":15},{"value":105553116287920},{"value":105553116287936},{"value":0},{"value":8132292928,"symbolLocation":0,"symbol":"__kCFNull"},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6446764140},"cpsr":{"value":1610616832},"fp":{"value":6178467776},"sp":{"value":6178434000},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4297078412},"far":{"value":0}},"frames":[{"imageOffset":46732,"symbol":"__select","symbolLocation":8,"imageIndex":5},{"imageOffset":639084,"symbol":"__CFSocketManager","symbolLocation":612,"imageIndex":10},{"imageOffset":29716,"symbol":"_pthread_start","symbolLocation":104,"imageIndex":6},{"imageOffset":9696,"symbol":"thread_start","symbolLocation":8,"imageIndex":6}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4299849728,
    "size" : 573440,
    "uuid" : "f635824e-318b-3f0c-842c-c369737f2b68",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4301078528,
    "size" : 49152,
    "uuid" : "c6ef2cc0-8ca9-3a69-a525-91bec719ddfc",
    "path" : "\/Volumes\/VOLUME\/*\/libobjc-trampolines.dylib",
    "name" : "libobjc-trampolines.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4355145728,
    "size" : 11272192,
    "uuid" : "f81bed9a-2a28-3756-838c-83ab991368f7",
    "path" : "\/Users\/USER\/Library\/Developer\/CoreSimulator\/Devices\/08C3AE83-463A-4DD5-B094-7407B021FB28\/data\/Containers\/Bundle\/Application\/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE\/AwesomeProject.app\/AwesomeProject.debug.dylib",
    "name" : "AwesomeProject.debug.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4320083968,
    "CFBundleShortVersionString" : "0.12.0",
    "CFBundleIdentifier" : "dev.hermesengine.iphonesimulator",
    "size" : 3604480,
    "uuid" : "faf8b988-0df9-33c6-b6ce-abd02aea7e94",
    "path" : "\/Users\/USER\/Library\/Developer\/CoreSimulator\/Devices\/08C3AE83-463A-4DD5-B094-7407B021FB28\/data\/Containers\/Bundle\/Application\/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE\/AwesomeProject.app\/Frameworks\/hermes.framework\/hermes",
    "name" : "hermes",
    "CFBundleVersion" : "0.12.0"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4297474048,
    "size" : 32768,
    "uuid" : "3394e9ca-eb51-322d-a5eb-4d895d3b1c14",
    "path" : "\/usr\/lib\/system\/libsystem_platform.dylib",
    "name" : "libsystem_platform.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4297031680,
    "size" : 245760,
    "uuid" : "0f9f96fe-6b1c-3253-a33a-c9e4a0c2a386",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4297605120,
    "size" : 65536,
    "uuid" : "3df3256f-466e-37bc-b995-a5a9956e1415",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4296376320,
    "CFBundleShortVersionString" : "1.0",
    "CFBundleIdentifier" : "org.reactjs.native.example.AwesomeProject",
    "size" : 16384,
    "uuid" : "c68b4484-a6bc-346b-b57f-00213a56a586",
    "path" : "\/Users\/USER\/Library\/Developer\/CoreSimulator\/Devices\/08C3AE83-463A-4DD5-B094-7407B021FB28\/data\/Containers\/Bundle\/Application\/E4973F23-2226-4D1B-BE82-1EE1DC97C8CE\/AwesomeProject.app\/AwesomeProject",
    "name" : "AwesomeProject",
    "CFBundleVersion" : "1"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4297932800,
    "size" : 311296,
    "uuid" : "f1d509a4-edf1-3668-b217-c6a2bd1fbef4",
    "path" : "\/Volumes\/VOLUME\/*\/dyld_sim",
    "name" : "dyld_sim"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6443442176,
    "size" : 507904,
    "uuid" : "ce9466d4-2e24-3c03-a488-d86a828ecffe",
    "path" : "\/Volumes\/VOLUME\/*\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6446125056,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.CoreFoundation",
    "size" : 3883008,
    "uuid" : "6c40f9e5-bffa-3413-9e1c-a4f724ad56ba",
    "path" : "\/Volumes\/VOLUME\/*\/CoreFoundation.framework\/CoreFoundation",
    "name" : "CoreFoundation",
    "CFBundleVersion" : "2503.1"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6693220352,
    "CFBundleShortVersionString" : "1.0",
    "CFBundleIdentifier" : "com.apple.GraphicsServices",
    "size" : 36864,
    "uuid" : "b8bade4e-4da1-3e89-aadc-79d9356e07f1",
    "path" : "\/Volumes\/VOLUME\/*\/GraphicsServices.framework\/GraphicsServices",
    "name" : "GraphicsServices",
    "CFBundleVersion" : "1.0"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6517813248,
    "CFBundleShortVersionString" : "1.0",
    "CFBundleIdentifier" : "com.apple.UIKitCore",
    "size" : 26902528,
    "uuid" : "8d3f22bc-9dec-3601-b822-2b88624be742",
    "path" : "\/Volumes\/VOLUME\/*\/UIKitCore.framework\/UIKitCore",
    "name" : "UIKitCore",
    "CFBundleVersion" : "7511.1.104"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6450528256,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.Foundation",
    "size" : 11210752,
    "uuid" : "3a54db51-8b3a-308d-9f9e-51474c4a8520",
    "path" : "\/Volumes\/VOLUME\/*\/Foundation.framework\/Foundation",
    "name" : "Foundation",
    "CFBundleVersion" : "2503.1"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6445441024,
    "size" : 532480,
    "uuid" : "27a11d15-9506-3776-8d00-9f34bea3ecb1",
    "path" : "\/Volumes\/VOLUME\/*\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 6512766976,
    "CFBundleShortVersionString" : "1.0",
    "CFBundleIdentifier" : "com.apple.CFNetwork",
    "size" : 3743744,
    "uuid" : "ad068dfd-5acf-3c3f-9449-adf0b044e328",
    "path" : "\/Volumes\/VOLUME\/*\/CFNetwork.framework\/CFNetwork",
    "name" : "CFNetwork",
    "CFBundleVersion" : "1496.0.7"
  }
],
  "sharedCache" : {
  "base" : 6442450944,
  "size" : 3294642176,
  "uuid" : "13a83233-188b-30b8-8c2e-0cfca022e097"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=1.2G resident=0K(0%) swapped_out_or_unallocated=1.2G(100%)\nWritable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nActivity Tracing                   256K        1 \nCG raster data                    1040K        1 \nColorSync                          128K        5 \nCoreAnimation                      496K        4 \nFoundation                          16K        1 \nKernel Alloc Once                   32K        1 \nMALLOC                             1.6G       57 \nMALLOC guard page                  192K       12 \nSQLite page cache                  256K        2 \nSTACK GUARD                       56.2M       14 \nStack                             15.4M       14 \nVM_ALLOCATE                       13.0M       11 \n__DATA                            8436K      356 \n__DATA_CONST                      36.0M      372 \n__DATA_DIRTY                       107K       11 \n__FONT_DATA                        2352        1 \n__LINKEDIT                       833.7M       10 \n__OBJC_RO                         72.6M        1 \n__OBJC_RW                         2515K        1 \n__TEXT                           397.4M      381 \ndyld private memory                3.1G       15 \nmapped file                       42.1M       14 \nshared memory                       16K        1 \n===========                     =======  ======= \nTOTAL                              6.1G     1286 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "queue" : "com.apple.main-thread"
  }
},
  "logWritingSignature" : "c6bfc89bb60b9f9bd5853fece96d3bd567a84dad",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "6410af69ed1e1e7ab93ed169",
      "factorPackIds" : {

      },
      "deploymentId" : 240000011
    },
    {
      "rolloutId" : "644114de41e7236e6177f9bd",
      "factorPackIds" : {

      },
      "deploymentId" : 240000013
    }
  ],
  "experiments" : [
    {
      "treatmentId" : "c47ab4cc-c9c3-4b5d-a87c-e2433ce02597",
      "experimentId" : "6639bc6ba73d460582162323",
      "deploymentId" : 400000006
    },
    {
      "treatmentId" : "45f4e2a5-551b-4bc2-a2dc-19c244dda8f8",
      "experimentId" : "6643969b3099cf28e049862f",
      "deploymentId" : 400000007
    }
  ]
}
}

Reproducer

https://github.com/brianangulo/rn-layout-crash18-075

Screenshots and Videos

ios18.crashs.mov
@cipolleschi
Copy link
Contributor

@brianangulo Given

This bug was first discovered on RN 0.72.6

I guess that iOS 18 is not responsible for the bug, correct? Or it works fine when run on iOS 17 simulators?

@cipolleschi cipolleschi added the Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules) label Sep 19, 2024
@cipolleschi
Copy link
Contributor

cipolleschi commented Sep 19, 2024

I just tried with 0.76.0-rc.1 and it looks like it does not reproduce there. I'm using both iOS 17 and iOS 18 simulators.

I am building with Xcode 15.4

Screen.Recording.2024-09-19.at.12.20.39.mov

Trying with Xcode 16.0 the crash happens

Screenshot 2024-09-19 at 12 30 23

So it is not iOS 18 but more Xcode 16. They must have changed something in the C++ build pipeline.

Funnily, building in Release mode solves the crash.

@cipolleschi
Copy link
Contributor

Just tested with Xcode 16.1 beta 2 and it still crashes.

@brianangulo
Copy link
Author

@brianangulo Given

This bug was first discovered on RN 0.72.6

I guess that iOS 18 is not responsible for the bug, correct? Or it works fine when run on iOS 17 simulators?

@cipolleschi correct as your test proved its Xcode 16/iOS 18 SDK even if targeting iOS 17 it'll happen. Except for release mode

@github-actions github-actions bot added Needs: Attention Issues where the author has responded to feedback. and removed Needs: Author Feedback labels Sep 19, 2024
@cortinico cortinico removed the Needs: Attention Issues where the author has responded to feedback. label Sep 19, 2024
@zhongwuzw
Copy link
Contributor

zhongwuzw commented Sep 20, 2024

May fixed in #46582

@zhongwuzw
Copy link
Contributor

Updated the PR #46582 to add another similar crash of shouldFirstComeBeforeSecondRemovesOnly.

@cortinico cortinico added the Resolution: Fixed A PR that fixes this issue has been merged. label Sep 30, 2024
cipolleschi pushed a commit that referenced this issue Oct 7, 2024
…6582)

Summary:
Fixes #46568 . cc cipolleschi

## Changelog:

[IOS] [FIXED] - Fabric: Fixes animations strict weak ordering sorted check failed

Pull Request resolved: #46582

Test Plan:
See issue in  #46568

## Repro steps
- Install Xcode 16.0
- navigate to react-native-github
- yarn install
- cd packages/rn-tester
- bundle install
- RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
open RNTesterPods.xcworkspace to open Xcode

{F1885373361}

Testing with Reproducer from OSS
|  Paper |  Fabric (With Fix) |
|--------|-----------------|
| {F1885395747} | {F1885395870} |

Android - LayoutAnimation (Looks like it has been broken and not working way before this changes.)
 https://pxl.cl/5DGVv

Reviewed By: cipolleschi

Differential Revision: D63399017

Pulled By: realsoelynn

fbshipit-source-id: aaf4ac2884ccca2da7e90a52a8ef10df6ae4fc8a
blakef pushed a commit that referenced this issue Oct 7, 2024
…6582)

Summary:
Fixes #46568 . cc cipolleschi

## Changelog:

[IOS] [FIXED] - Fabric: Fixes animations strict weak ordering sorted check failed

Pull Request resolved: #46582

Test Plan:
See issue in  #46568

## Repro steps
- Install Xcode 16.0
- navigate to react-native-github
- yarn install
- cd packages/rn-tester
- bundle install
- RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
open RNTesterPods.xcworkspace to open Xcode

{F1885373361}

Testing with Reproducer from OSS
|  Paper |  Fabric (With Fix) |
|--------|-----------------|
| {F1885395747} | {F1885395870} |

Android - LayoutAnimation (Looks like it has been broken and not working way before this changes.)
 https://pxl.cl/5DGVv

Reviewed By: cipolleschi

Differential Revision: D63399017

Pulled By: realsoelynn

fbshipit-source-id: aaf4ac2884ccca2da7e90a52a8ef10df6ae4fc8a
okwasniewski added a commit to callstack/react-native-visionos that referenced this issue Oct 21, 2024
* fix: pass closest public instance to React DevTools (#46664)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46664

# Changelog: [Internal]

Please see https://github.com/facebook/react/pull/31068.

Synced changes for React Native - D63453667.

Reviewed By: huntie

Differential Revision: D63421463

fbshipit-source-id: e455711206598a06f7cdce4150e79c3548843b99

* Use native module to persist RDT settings (#46663)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46663

# Changelog: [Internal]

Now we can use the native module for persisting settings in React DevTools. Basically, this diff adds read / write implementations.

Reviewed By: huntie

Differential Revision: D62967060

fbshipit-source-id: c14ef056c8d7e30a23d2b84d1ad4fc0ad8eaaf34

* Unbreak Android LayoutAnimation by making all surfaces go through Binding (#46691)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46691

In Bridgeless, ReactSurface would only call `registerSurface` when it started, which did not match the behaviour seen in startSurface(WithConstraints). Instead, make all calls to start the surface go through the FabricUIManager Binding so we can correctly configure `setMountingOverrideDelegate` which is required for layout animations.

Changelog: [Android][FIxed] LayoutAnimations work on full new architecture

Reviewed By: cortinico

Differential Revision: D63533635

fbshipit-source-id: f6d3db020bb2d7245f7b14f2407271d76837d40c

* RNGP: Read `enableWarningsAsErrors` property correctly (#46657)

Summary:
I've noticed that some users are reporting build failures due to warnings inside RNGP.
We do have `allWarningsAsErrors` set to true for everyone (also for users).
That's too aggressive, and can cause build failures which are not necessary. Let's keep it enabled only on our CI (when the `enableWarningsAsErrors` property is set).

## Changelog:

[INTERNAL] - RNGP: Read `enableWarningsAsErrors` property correctly

Pull Request resolved: https://github.com/facebook/react-native/pull/46657

Test Plan: CI

Reviewed By: NickGerleman

Differential Revision: D63459601

Pulled By: cortinico

fbshipit-source-id: 0307e8d6771518038a5abe27ca5a993cb0a9f8c0

* Switch to hermes-parser in eslint-* package tests (#46699)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46699

Switch from legacy Babel Flow parser integrations to the Meta-maintained `hermes-eslint` and `babel-plugin-syntax-hermes-parser` packages (both part of the `hermes-parser` codebase).

Required to unblock D63535216.

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63541483

fbshipit-source-id: 04ccfa04c9a2b8c0a87ef1a5c38e952971838b77

* Switch Babel parsing from legacy Flow plugin to hermes-parser (#46696)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46696

Following D62161923, we began to lose sync with modern Flow syntax when Metro's `transformer.hermesParser` option is disabled. This config option loads Babel for transformation (instead of `hermes-parser`), which requires a Babel plugin to parse (not strip) Flow syntax.

This diff migrates us away from `babel/plugin-syntax-flow` (see also https://github.com/babel/babel/issues/16264) and uses the modern [`babel-plugin-syntax-hermes-parser`](https://www.npmjs.com/package/babel-plugin-syntax-hermes-parser) instead (a component of the modern Hermes Parser stack).

Following this change, new projects that unset `transformer.hermesParser` will compile.

Resolves https://github.com/facebook/react-native/issues/46601.

Changelog:
[General][Fixed] - Fix parsing of modern Flow syntax when `transformer.hermesParser = false` is configured in Metro config

Reviewed By: cipolleschi

Differential Revision: D63535216

fbshipit-source-id: d2c6ddec030d89e2698e03b76194cf3568d04e6b

* Switch to hermes-parser in eslint-config

Summary:
Similar to D63541483, modernises our Flow syntax support for our published ESLint config to use `hermes-eslint` (`hermes-parser`).

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63541856

fbshipit-source-id: 06cc5725faf5934fda07713ec1dac54ff9c32ddf

* Substitute babel-preset-fbjs for metro-transform-plugins (#46689)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46689

Resubmission of D61014834 / https://github.com/facebook/react-native/pull/45959 (previously reverted).

> Addresses TODO comment. I noticed this lone reference to babel-preset-fbjs (last published 3y ago) while attempting to upgrade our Babel Flow syntax plugin.

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63532211

fbshipit-source-id: e94b55b7b61194b50131b36a2fe817e149152953

* Add minimal Flow types to remaining files under Libraries/ (#45785)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45785

Adds `flow` annotation, and/or adds minimal Flow types to remaining files under `packages/react-native/Libraries/`. As of this diff, 100% of this directory is now parsable by `flow-api-translator` and covered by `public-api-test`.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D60377082

fbshipit-source-id: 67e8acafc3fdd8f107f1d8d53c69ee6c27d3ed0a

* Require Flow types in all react-native source files (#45786)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45786

Following D60377082, `packages/react-native/Libraries/` is now 100% parsable by `flow-api-translator` and covered by `flow-api-test`. This diff increases test strictness to preserve this state going forward.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D60377123

fbshipit-source-id: 8c48bdd73d9d0d97a114d553eb70cc01faf18e89

* Fabric: Fixes animations strict weak ordering sorted check failed (#46582)

Summary:
Fixes https://github.com/facebook/react-native/issues/46568 . cc cipolleschi

## Changelog:

[IOS] [FIXED] - Fabric: Fixes animations strict weak ordering sorted check failed

Pull Request resolved: https://github.com/facebook/react-native/pull/46582

Test Plan:
See issue in  https://github.com/facebook/react-native/issues/46568

## Repro steps
- Install Xcode 16.0
- navigate to react-native-github
- yarn install
- cd packages/rn-tester
- bundle install
- RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
open RNTesterPods.xcworkspace to open Xcode

{F1885373361}

Testing with Reproducer from OSS
|  Paper |  Fabric (With Fix) |
|--------|-----------------|
| {F1885395747} | {F1885395870} |

Android - LayoutAnimation (Looks like it has been broken and not working way before this changes.)
 https://pxl.cl/5DGVv

Reviewed By: cipolleschi

Differential Revision: D63399017

Pulled By: realsoelynn

fbshipit-source-id: aaf4ac2884ccca2da7e90a52a8ef10df6ae4fc8a

* Deploy 0.247.1 to xplat (#46710)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46710

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D63560047

fbshipit-source-id: a43ac647fee12115c794aa8002bd340a4c4bcf16

* Back out "Do not hold raw RuntimeScheduler pointer in BufferedRuntimeExecutor"

Summary:
A crash we are getting in the wild suggests that destruction on weak ref count going away may be delaying RuntimeExecutor task destruction to a point where jsi::Function is invalid. Let's try backing D62748768 out and seeing if the crash goes away.

Changelog:
[General][Fixed] - Attempt to fix crash from delayed RuntimeExecutor task destruction

#bypass-github-export-checks

Reviewed By: mdvacca

Differential Revision: D63568504

fbshipit-source-id: 6152e7293902d0eb67a14c5840bea56561c35b08

* Fix interactions between removeClippedSubviews and RTL by applying HorizontalScrollContentView translation during layout metric assignment (#46685)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46685

This attempts a similar fix to D59566611, but keeps the removedClippedSubviews logic as is, instead moving the current translation done in ReactHorizontalScrollContainerView onLayout to ShadowNode layout metric assignment (so the world is consistent from very early on, and `removeClippedSubviews` never sees coordinates before translation),

I suspect doing this at the ShadowNode layer might also result in some fixes to DevTools in RTL.

This should let us roll out setAndroidLayoutDirection again.

Changelog:
[Android][Fixed] - Fix interactions between removeClippedSubviews and RTL

Reviewed By: mdvacca

Differential Revision: D63318754

fbshipit-source-id: 828e103e2ad21c7e886e39c163474b10ebd5099e

* Remove `experimental_` and cleanup mixBlendMode experiment (#46650)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46650

tsia

Changelog: [General] [Added] - Removed `experimental` prefix and fully released `mixBlendMode` prop

Reviewed By: joevilches

Differential Revision: D63407473

fbshipit-source-id: 892ababcfe19b82d3f4c73d3cbc13fb46b7425b6

* Fix mixBlendMode not updating on Image state updates (#46680)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46680

Since the parent of a view with mixBlendMode prop set is the one responsible for setting the compositing of the child, when updating mixBlendMode on a child we need to also invalidate the parent.

Changelog: [Android] [Fixed] - mixBlendMode now properly does state updates

Reviewed By: joevilches

Differential Revision: D63424394

fbshipit-source-id: 0eb15520f1087e25683853632943e64a66344481

* Silence unnecessary Gradle outputs - Part 1 (#46704)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46704

Our build log for Gradle is extremely noisy due to Hermes.
Here I'm suppressing all the build output from Hermes as we can't really do much from that side of the build.

This should make it easier for folks on GitHub Actions to immediately spot where are failures.

Changelog:
[Internal] [Changed] - Silence unnecessary Gradle outputs

Reviewed By: GijsWeterings

Differential Revision: D63541175

fbshipit-source-id: d1a60098c317ff9e8c9575b5b8b2aab639f28f2f

* delete state alignment mechanism (#46658)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46658

changelog: [internal]

We are shipping a better solution: Runtime Shadow Node Reference Syncing which is being rolled out.

Reviewed By: lenaic, rubennorte

Differential Revision: D63456344

fbshipit-source-id: e70b7dd4be7bf0670366e5200a910195b929a14d

* Fix the generation of .xcode.env.local (#46661)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46661

The previous approach was brittle and it was not working in all the scenarios.

This is the same approach used [by Expo](https://github.com/expo/expo/blob/12f24ea7fdbc8bab864d7852ae8e7275e44db4df/packages/expo-modules-autolinking/scripts/ios/xcode_env_generator.rb#L37C44-L37C75) (thanks guys! :D) and it looks like it is more stable.

This should definitely fix [#43285](https://github.com/facebook/react-native/issues/43285).

## Changelog
[Internal] - Fix the generation of .xcode.env.local

Reviewed By: cortinico

Differential Revision: D63460707

fbshipit-source-id: c6732adce3df5f8365b17ed9c500c38f773ecee5

* Make more SurfaceHandler configuration go through UIManager Binding (#46701)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46701

Reduce the interface we expose in SurfaceHandler(Binding), and concentrate the logic in the FabricUIManager Binding.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D63536328

fbshipit-source-id: 5882bdd24fd3ca8f3d36210dca80587fee091dcf

* Rename Binding to FabricUIManagerBinding (#46705)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46705

We have multiple classes in React Native Android acting as a binding layer (between C++ and Java, between C++ and JS). Make it more obvious this Binding is for (Android) FabricUIManager and flatten the (now) unused Binding interface.

Changelog: [Android][Removed] BindingImpl is no longer part of the public interface

Reviewed By: cortinico

Differential Revision: D63536329

fbshipit-source-id: 329d184c1889fbe804995211cdd339b50a7c9234

* fix(iOS): title and title color handling added for refresh control (#46655)

Summary:
Solve a part of this issue:  https://github.com/facebook/react-native/issues/46631

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[IOS] [CHANGED] - Passed correct title and titleColor prop to updateTitle function

**What's the Issue:**
When updating the PullToRefreshViewProps in a React Native iOS app, changes to the title and titleColor were not being reflected properly in the RefreshControl. This happened because the function responsible for updating the title (_updateTitle) was not always receiving the correct or updated values for title and titleColor.

**Updated `_updateTitle` function:**

The _updateTitle method was modified to accept both title and titleColor as parameters. This ensures that the latest values are always used when updating the refresh control's attributedTitle.
If the title is empty, the attributedTitle is cleared by setting it to nil. Otherwise, both the title and titleColor (if present) are applied correctly.

Pull Request resolved: https://github.com/facebook/react-native/pull/46655

Test Plan:
**Without fix:**
https://github.com/user-attachments/assets/8a83c247-bf78-4080-bdc1-ac5a852481e8

**With Fix:**
https://github.com/user-attachments/assets/52e2495a-4419-41d1-b308-acb64600f9f7

Reviewed By: javache

Differential Revision: D63466516

Pulled By: cipolleschi

fbshipit-source-id: fef61a003b658b20a25b61b6d07ee9fe0750dae7

* add missing iOS platform colors (#46730)

Summary:
- add missing platform colors on iOS https://developer.apple.com/documentation/uikit/uicolor/standard_colors

## Changelog:

[IOS] [ADDED] - Add `systemCyan` and `systemMint` colors on iOS

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests

Pull Request resolved: https://github.com/facebook/react-native/pull/46730

Test Plan:
- Ran it in an iOS app (text is no longer black)

![Simulator Screenshot - iPhone 15 Pro - 2024-09-30 at 15 31 30](https://github.com/user-attachments/assets/2f1d337c-d5f3-40d6-8e58-fdccb94603fd)

Reviewed By: cortinico

Differential Revision: D63635182

Pulled By: cipolleschi

fbshipit-source-id: b6fa3ff0e38630d820aacedbf88dfe9bd13c0644

* feat(iOS): refactor RCTDevLoadingView to use constraints (#46621)

Summary:
This PR refactors the RCTDevLoadingView to use constraints instead of explicitly defining frames.

Now the code looks like this:

```
#if TARGET_OS_MACCATALYST
      self->_window.frame = CGRectMake(0, window.safeAreaInsets.top, windowWidth, 20);
      self->_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, windowWidth, 20)];
#else
      self->_window.frame = CGRectMake(0, 0, windowWidth, window.safeAreaInsets.top + 10);
      self->_label = [[UILabel alloc] initWithFrame:CGRectMake(0, window.safeAreaInsets.top - 10, windowWidth, 20)];
#endif
```

When working with visionOS I quickly found my self in the need of adding additional else there...

This PR uses constraints to layout the views correctly for every device.

| Device         | Screenshot |
| -------------- | ---------- |
| iOS | <img src="https://github.com/user-attachments/assets/decc146e-41a2-4ce8-bafd-77c77a39398b" width="200"/> |
| macOS Catalyst | <img src="https://github.com/user-attachments/assets/78ef4946-a6dc-49a2-864e-a483577798f1" width="200"/> |
| iPadOS | <img src="https://github.com/user-attachments/assets/a15bd1a8-84ae-47d0-becb-e14c3a9352d4" width="200"/>  |
| visionOS | <img src="https://github.com/user-attachments/assets/d74f0607-837e-4f7b-b924-fc6fce80d763" width="200"/>  |

## Changelog:

[IOS] [CHANGED] - refactor RCTDevLoadingView to use constraints

Pull Request resolved: https://github.com/facebook/react-native/pull/46621

Test Plan: Test if DevLoading view is properly showing up

Reviewed By: blakef

Differential Revision: D63383002

Pulled By: cipolleschi

fbshipit-source-id: b17499e12d4a882facce4c45b1cc22eb43ea3bb1

* Fix errors with component stacks reported as warnings (#46637)

Summary:
Ok so this is a doozy.

## Overview
There was a report that some console.error calls were being shown as warnings in LogBox but as console.error in the console. The only time we should downlevel an error to a warning is if the custom warning filter says so (which is used for some noisy legacy warning filter warnings internally).

However, in when I switched from using the `Warning: ` prefix, to using the presence of component stacks, I subtly missed the default warning filter case.

In the internal warning filter, the `monitorEvent` is always set to something other than `unknown` and if it's set to `warning_unhandled` then `suppressDialog_LEGACY` is always false.

However, the default values for the warning filter are that `monitorEvent = 'unknown'` and `suppressDialog_LEGACY = true`. In this case, we would downlevel the error to a warning.

## What's the fix?
Change the default settings for the warning filter.

## What's the root cause?

Bad configuration combinations in a fragile system that needs cleaned up, and really really bad testing practices with excessive mocking and snapshot testing (I can say that, I wrote the tests)

## How could it have been caught?
It was, but I turned off the integration tests while landing the component stack changes because of mismatches between flags internally and in OSS, and never turned them back on.

Changelog: [General] [Fixed] - Fix logbox reporting React errors as Warnings

Pull Request resolved: https://github.com/facebook/react-native/pull/46637

Reviewed By: huntie

Differential Revision: D63349613

Pulled By: rickhanlonii

fbshipit-source-id: 32e3fa4e2f2077114a6e9f4feac73673973ab50c

* fix(dev-menu): export for react-native package (#46723)

Summary:
In an effort to achieve a similar API in the new architecture, I was trying to replace the following code from the old architecture:
```
import { NativeModules } from 'react-native'
// ...
NaiveModules.DevMenu.show()
```

After https://github.com/facebook/react-native/issues/46694 landed, you can achieve this with the following import in the new architecture:
```
// ts-ignore
import DevMenu from "react-native/Libraries/NativeModules/specs/NativeDevMenu"

// and then use it
DevMenu.show()
```

However, this change provides the interface for `DevMenu` from the `react-native` package, similar to the API for `DevSettings`, making it easier to use via the public API and better type support.

```
import { DevMenu } from 'react-native'
DevMenu.show()
```

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[GENERAL] [ADDED] - Export `DevMenu` from `react-native`

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests

Pull Request resolved: https://github.com/facebook/react-native/pull/46723

Test Plan:
<img width="750" alt="image" src="https://github.com/user-attachments/assets/dc5a9876-4364-473e-9fd8-c49484d6de01">

### Before
`any` type on `show` from the private import
<img width="226" alt="image" src="https://github.com/user-attachments/assets/45a085d2-9794-482d-b5ec-3b882aadb56b">

### After
typed show method from the new import
<img width="399" alt="image" src="https://github.com/user-attachments/assets/7c7587b3-499b-40f0-8262-126e4ec17dc6">

Reviewed By: cortinico

Differential Revision: D63631196

Pulled By: huntie

fbshipit-source-id: a00efa85c8ca1aa127c9ae0a059978ba5eadb376

* Use HybridClassBase for frequently constructed objects (#46706)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46706

Simplifies object construction and collection, and avoids additional JNI roundtrips to set HybridData.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D63537781

fbshipit-source-id: 55df2785840ec8fcd5a7a08d2c7dd73c5b5fca82

* Add a test for an Alias to an Alias (#46725)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46725

This covers types that deeply alias.

Changelog: [Internal]

Reviewed By: GijsWeterings

Differential Revision: D62926913

fbshipit-source-id: 2fea1900f1be2893230a949db6778c76afae0423

* Add test for Object with indexers (#46726)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46726

An object isn't allowed to have both an indexer and regular properties. Previously, the schema just wouldn't include the properties and would only include the indexer. Instead of failing silently and not generating the expected code, let's explicitly error out.

Changelog: [Internal]

Reviewed By: GijsWeterings

Differential Revision: D63615090

fbshipit-source-id: a4c881b7a809f0b467509f7f7e2131be59ee274e

* Promise annotations must specify their elementType (#46727)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46727

It makes scripts operating on the schema complicated when the elementType might be there or might not. Let's make it required, but VoidTypeAnnotation if it's unknown.

Arguably we shouldn't allow it to be unknown at all, but that's out of scope here.

Changelog: [Internal]

Reviewed By: GijsWeterings

Differential Revision: D63616703

fbshipit-source-id: 290586384b911928e55344aa522bd296f23a074c

* RN: Remove String Refs from `NativeMethods` (TS) (#46734)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46734

The TypeScript definition for `NativeMethods` defined a `refs` property for referencing component instances by string refs.

String refs are deprecated and support is being formally dropped in React 19.

This removes the obsolete type definition.

Changelog:
[General][Removed] - Removed `refs` property from `NativeMethods` TypeScript definition.

Reviewed By: NickGerleman

Differential Revision: D63640881

fbshipit-source-id: 82148ac91bd44d63da9a41b1d1dcebb7ca32a5bd

* Further Reduce Build Warnings (#46733)

Summary:
This further reduces the build warning coming from the Hermes build, which we can't do much about as we don't own that code.

## Changelog:

[Internal] [Changed] - Further Reduce Build Warnings

Pull Request resolved: https://github.com/facebook/react-native/pull/46733

Test Plan: CI

Reviewed By: NickGerleman

Differential Revision: D63644753

Pulled By: cortinico

fbshipit-source-id: d0e65559715ac1fa2b920f4c3d3cf63b6171765d

* fix(react-native-codegen): upgrade `jscodeshift@17.0.0` to resolve outdated dependencies (#46724)

Summary:
This upgrades `jscodeshift` from `0.14.0` to `17.0.0`, to resolve unsupported babel dependencies when installing React Native. See https://github.com/expo/expo/issues/31613

## Changelog:

[GENERAL] [FIXED] - Upgrade Codegen dependency `jscodeshift@17.0.0` to resolve outdated dependencies

Pull Request resolved: https://github.com/facebook/react-native/pull/46724

Test Plan:
To test it out yourself:

- `npx create-expo@latest ./test-codegen`
- `cd ./test-codegen`
- `npm why babel/plugin-proposal-nullish-coalescing-operator@7.18.6 | grep codegen` - [npm deprecation](https://www.npmjs.com/package/babel/plugin-proposal-nullish-coalescing-operator/v/7.18.6)
- `npm why babel/plugin-proposal-class-properties@7.18.6 | grep codegen` - [npm deprecation](https://www.npmjs.com/package/babel/plugin-proposal-class-properties/v/7.18.6)
- `npm why rimraf@2.6.3 | grep codegen` - [npm deprecation](https://www.npmjs.com/package/rimraf/v/2.6.3)
- `npm why babel/plugin-proposal-optional-chaining@7.21.0 | grep codegen` - [npm deprecation](https://www.npmjs.com/package/babel/plugin-proposal-optional-chaining/v/7.21.0)

> [!IMPORTANT]
> There are other dependencies that require an update, unfortunately there are no flow typings available (yet).
> - `npm why glob@7.2.3 | grep codegen` - [npm deprecation](https://www.npmjs.com/package/glob/v/7.2.3)

Reviewed By: cortinico

Differential Revision: D63629133

Pulled By: huntie

fbshipit-source-id: 3799e49677b8e5fd64841e6c7f855bde10e15072

* Add StrictAnimatedProps to fix missing Animated types (#46659)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46659

The current `AnimatedProps` maps all types to `any` which prevents us from catching many types of issues. Introduce an alternative variant which we can adopt incrementally which enforces the underlying types.

Changelog: [General][Fixed] Improved types for AnimatedProps

Reviewed By: SamChou19815

Differential Revision: D63315760

fbshipit-source-id: 718fc2754cc99891e490a48d7792f626205c37e4

* Reorganise debugger modules in src/private/ (#46738)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46738

Combines modules previously under `fusebox` and `reactdevtools` directories into a single `src/private/debugging/` directory.

Changelog: [Internal]

Reviewed By: rubennorte

Differential Revision: D63637625

fbshipit-source-id: 58add7fa3b6553c33d59e785563b24d57b7db547

* Simplify FuseboxReactDevToolsDispatcher diagram and document inline (#46737)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46737

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63637626

fbshipit-source-id: 314ec6dc6eff8d458beba84e49d5aaca3d192087

* feat(iOS): expose RCT_NEW_ARCH_ENABLED to Swift (#46749)

Summary:
This PR exposes `RCT_NEW_ARCH_ENABLED` flag to Swift.

It allows you to use conditional compilation:

```swift
#if RCT_NEW_ARCH_ENABLED
func test() {
	print("I'm running on new arch!)
}
#else
func test() {
	print("I'm running on old arch!)
}
#endif
```

## Changelog:

[IOS] [ADDED] - expose RCT_NEW_ARCH_ENABLED to Swift

Pull Request resolved: https://github.com/facebook/react-native/pull/46749

Test Plan: CI Green

Reviewed By: cortinico

Differential Revision: D63689711

Pulled By: cipolleschi

fbshipit-source-id: 706013019571f597d1966ffcf13bd47ba7f29a2d

* Fix BoxShadow support for platform colors (#46753)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46753

Colors can be more than just ints, so we need to use `ColorPropConverter` to convert it correctly. For ViewManagers, this happens automatically through the ReactProp annotation, but since this is a nested field, we need to manually apply it.

Changelog: [Android][Fixed] BoxShadow now supports platformColor.

Reviewed By: fabriziocucci

Differential Revision: D63693048

fbshipit-source-id: 26b1da24db1b6f319af8cef6f62e4739c3f65ee3

* Fix NPE on ReactTextInputManager.setTextDecorationLine (#46750)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46750

Fixes https://github.com/facebook/react-native/issues/39659

Fix is pretty straightforward, parameter is annotated as Nullable, but is accessed with a `.split` call.
This causes a crash when the `textDecorationLine` property is removed (i.e. is null).

Changelog:
[Android] [Fixed] - Fix NPE on ReactTextInputManager.setTextDecorationLine

Reviewed By: cipolleschi

Differential Revision: D63689492

fbshipit-source-id: 3424897cc40beaeb579e3affd0a87656ff43afee

* RNGP - Do not apply `java-gradle-plugin` on root build (#46755)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46755

There is no need to apply `java-gradle-plugin` to the root build of RNGP as that does not contain any Gradle Plugins (they're in subfolders).

This is actually causing the build to be a bit slower as extra tasks for compilation/bundling will be created which are definitely not needed.

Changelog:
[Internal] [Changed] - RNGP - Do not apply `java-gradle-plugin` on root build

Reviewed By: cipolleschi

Differential Revision: D63695934

fbshipit-source-id: 84268105c73b49afdcd94610fcb7006ef53306a4

* Do not reference `setTranslucentBackgroundDrawable` (#46754)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46754

This method has been deprecated since 0.76, but we're still using it inside our codebase.
I'm cleaning up the only usage of it replacing it with the implementation.

Changelog:
[Internal] [Changed] - Do not reference `setTranslucentBackgroundDrawable`

Reviewed By: cipolleschi

Differential Revision: D63695933

fbshipit-source-id: d39b13b584d3ac1406c61c3bf86b86b05dc984d9

* Fix build warning for prepareGlog (#46756)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46756

prepareGlog was firing a warning due to a duplicate config.h file. Here I'm setting so that the file is always overridden (which is the desired behavior) to suppress this warning.

Changelog:
[Internal] [Changed] - Fix build warning for prepareGlog

Reviewed By: cipolleschi

Differential Revision: D63696664

fbshipit-source-id: 83b78afea09c4a5d39f341dd5b604cec466470ae

* Throw JS exception when calling a method if bufferedRuntimeExecutor is not initialized (#46735)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46735

We had some crash on Android where we call [`callFunctionOnModule`](https://github.com/facebook/react-native/blob/main/packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp#L258) when the `bufferedRuntimeExecutor_` might not be initialized. This can happen when navigating away from RN surface and quickly navigate to another one or across refreshes.

There could be a scheduled JS function from the previous surface/instance that might try to call a native module while the new instance is being created.

This change prevent the crash and replace it with a soft crash, that should show a RedBox on the screen.

## Changelog
[Internal] - Throw JS exception when calling a method if buffereRuntimeExecutor is not initialized

## Facebook
Have a look at T201983945 that generated the crash report

Reviewed By: cortinico

Differential Revision: D63638633

fbshipit-source-id: ba331f5173963265232d0810c2d12895cea3d528

* Fix crash for Modal not attached to window manager (#46758)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46758

There are some occurrencies where the Modal results not attached to the Window, perhaps when the app is backgrounded.

This trigger an exception `java.lang.IllegalArgumentException: View=DecorView@b9f88af[AdsManagerActivity] not attached to window manager`.\

This was fixed already but the conversion from Java to Kotlin missed a condition in the `||` clause. We are adding it back.

## Changelog
[Android][Fixed] - Fix crash for Modal not attached to window manager

## Facebook
The original fix is in this diff  D22264672 by mdvacca
Also see this post: https://fb.workplace.com/groups/rn.support/permalink/27047414764880449/

Reviewed By: cortinico

Differential Revision: D63700769

fbshipit-source-id: bc8a44868d5cacb8822e1646c2b7643682f45e1b

* Improve RNTester example for performance.mark/measure (#46759)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46759

Changelog: [internal]

This improves the example in RNTester for `performance.mark` and `performance.measure` by only listing the marks/measures explicitly emitted from the example. This removes noise if other parts of the app are logging marks/measures as well.

Reviewed By: rshest

Differential Revision: D63695731

fbshipit-source-id: f65cf59363da0e6c9e0b3ffadf05abd2eb5a214c

* Replace sh scripts with tested JS scripts to release template (#46363)

Summary:
The previous scripts to trigger the react-native-communty/template
release workflow has not been working. This is a rewrite is js, along
with some testing to make this more robust.

I've have a PR to combine the publish and tag steps in the template publication: https://github.com/react-native-community/template/pull/65, this takes advantage of that change.

Changelog: [Internal]

Pull Request resolved: https://github.com/facebook/react-native/pull/46363

Test Plan:
1. Unit tests
2. Once the infrastructure lands in the `react-native-community/template` workflow, we can trigger a dry run.

## TODO:
- ~~Still needs to be used in the GH release workflow.~~
- ~~Template release workflow needs to land the dry_run input change.~~

## Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D62296008

Pulled By: blakef

fbshipit-source-id: 217326c44b1d820e36a1d847cf9ad24d228087c1

* Bump Metro to 0.81.0-alpha.2 (#46703)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46703

Updates us in line with the release branch and unblocks https://github.com/facebook/react-native/pull/46627.

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63544047

fbshipit-source-id: 4c093e6c2fc389888f12063df013db7023761859

* Add CLI selection of multiple debug targets (#46627)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46627

IMPORTANT: Requires a Metro bump, CI will fail until updated.

Introduces a target selection API for launching React Native DevTools when more than one device is connected.

Credit to robhogan for the initial internal implementation of `OpenDebuggerKeyboardHandler`!

(This leverages recent additions to Metro's reporter API — which we should follow up on to use for the rest of `community-cli-plugin`. Notably, using `TerminalReporter` ensures server output won't conflict with Metro's own event and progress logs.)

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63255295

fbshipit-source-id: da93500358791eabe4cab433cad31b82d518fb5f

* Share TextInputEventEmitter between C++ platforms (#46198)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46198

Extending on https://github.com/facebook/react-native/pull/43431 this change allows to share the TextInputEventEmitter with our C++ based platforms such as RN Windows > https://github.com/microsoft/react-native-windows/blob/main/vnext/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h

## Changelog:
[Internal] - Share TextInputEventEmitter between C++ platforms

Reviewed By: NickGerleman

Differential Revision: D61749959

fbshipit-source-id: 2526bf29200cd6a3dc6d5eaef5edbaf4b1df5751

* Cleanup background drawing feature flags (#46761)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46761

The legacy paths for this is all gone and non functional. We can clean thes up fully now.

Changelog: [Internal]

Reviewed By: rshest, Abbondanzo

Differential Revision: D63652264

fbshipit-source-id: cabc1af0098553c64f834e6bc30000ef7a942a4c

* Rename Node.h's getResolvedDimension to getProcessedDimension (#46649)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46649

X-link: https://github.com/facebook/yoga/pull/1705

To get the height and width we call a function currently named `getResolvedDimension`. This returns a `Style::Length`, which in most cases we "resolve" immediately by calling `resolve`. This is a bit confusing that you need to `resolve` something that is already `resolved`.

I plan on adding a new function soon for `contentBox` which would resolve the length for you, so I think this should be renamed.

Also deleted unused `getResolvedDimensions`

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D63407730

fbshipit-source-id: e855c17d9c99817be308b7263fcb5d43559ede14

* Clean up calls to dimension() with a hardcoded FlexDirection (#46739)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46739

X-link: https://github.com/facebook/yoga/pull/1710

This is a bit more clear, imo

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D63408245

fbshipit-source-id: cea9723914f69d2697e18c8bfe2b55c830af2b6a

* Impl of content box (#46741)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46741

X-link: https://github.com/facebook/yoga/pull/1711

box sizing is really just a reinterpretation of what length properties (like `width`, `height`, `max-width`, etc) mean. So to implement this I just add the border and padding if we are in content box when we ask for any of these properties. All the math that gets done by the algorithm is still in border box land, and the layout we return is to be interpreted as the border box (this is actually the expected behavior per https://drafts.csswg.org/css-sizing/#box-sizing). This makes this implementation pretty simple actually.

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D63416833

fbshipit-source-id: fd76132cf51e8a5092129802c3a12ab24023018b

* Let flex basis support content box (#46740)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46740

X-link: https://github.com/facebook/yoga/pull/1713

The flex basis length applies to the value of `box-sizing` per the spec: https://drafts.csswg.org/css-flexbox-1/#flex-basis-property

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D63424590

fbshipit-source-id: f73bffd30cc7b673453a55089ecc880819d3d788

* Camel case *AxisownerSize (#46744)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46744

X-link: https://github.com/facebook/yoga/pull/1714

This was annoying me :)

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D63424778

fbshipit-source-id: 8f9df4e92bde251214f4c1d61ff8282d56f87816

* Plumbing to get boxSizing prop to Yoga (#46766)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46766

tsia!

Changelog: [Internal]

Reviewed By: rozele

Differential Revision: D63430964

fbshipit-source-id: f57e9a51236cb4c7d4c284af6987f88f9c7597da

* Add RNTester box sizing example and e2e test (#46765)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46765

Tests are good!

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D63471840

fbshipit-source-id: d7bb6f115bcae502e9f8b5ce2a12df8e850d5c26

* Replace execa with child_process (#46767)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46767

Swaps out `execa` dependency for Node's built in `child_process`.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D63255320

fbshipit-source-id: ce7ef5e2ea78aa96c61815ff8c1e054a8f04e8b0

* Simplify key handling in start command (#46768)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46768

Remove the `KeyPressHandler` util in favour of using the `process.stdin` APIs inline.

This reduces complexity (where we were effectively not using the conditional interception this previously implemented — see also https://github.com/facebook/react-native/pull/46416), and more closely mirrors our internal dev server setup.

Resolves https://github.com/facebook/react-native/issues/46571.

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63255321

fbshipit-source-id: 5cdf7a480053a2215fa50f544733f443bab07ef2

* Replace and remove optional dep on cli-tools logger (#46769)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46769

(Further refactors to logging after D63255296.)

Fully decouples `community-cli-plugin` from the unlisted optional dependency on `react-native-community/cli-tools'`. This is motivated by changes in https://github.com/facebook/react-native/pull/46627 which switch to using Metro's `TerminalReporter` API for emitting logs safely.

- Swaps out logs in the dev server for the `unstable_server_log` Metro reporter event.
- Swaps out `logger.debug()` calls for the `debug` package, currently used by Metro and `dev-middleware`.
- Swaps out other logs in the `bundle` command for `console`.
- (Also specify missing `semver` dep.)

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D63328268

fbshipit-source-id: f552748ecc3456bd5fb8870c3a51d744a6bf3e70

* Tweak start command output (#46770)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46770

Small updates to the `react-native start` command CLI output:

- Change "Welcome..." text to blue.
- Display server base URL instead of port only.
- Embolden key command letters.
- "Ctrl+C to exit" prompt.
- Extra newlines for balance.

Changelog: [Internal]

Reviewed By: cortinico, cipolleschi

Differential Revision: D63328267

fbshipit-source-id: 119ddb2ba68c99df532840285c3c1f922e727e8b

* remove use of type alias from Differentiator (#46762)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46762

changelog: [internal]

Typealias NonOwningList obscures the underlaying type and provides limited benefit. Using std::vector<ShadowViewNodePair*> is more readable.

Reviewed By: NickGerleman

Differential Revision: D63396285

fbshipit-source-id: 70cda3f33a7649cabbf5888fbefe0610d2c002b3

* add support for Android's "High Text Contrast" setting into AccessibilityInfo (#46746)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46746

This change adds `isHighTextContrastEnabled()` to `AccessibilityInfo` to enable access to Android OS's "High contrast text" setting option. It also adds a new event, `highContrastTextChanged`, to enable listeners to subscribe to changes on this setting.

## Changelog

[Android][Added] - Added `isHighTextContrastEnabled()` to `AccessibilityInfo` to read `ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED` setting value

Reviewed By: NickGerleman

Differential Revision: D63155444

fbshipit-source-id: 9829b40e6c183f6beba732190dc318894e9d9a3f

* Define `HostInstance` type for React Native (#46743)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46743

Creates a new `HostInstance` type for React Native, to more accurately capture the intent most developers have when using the `NativeMethods` type or `React.ElementRef<HostComponent<T>>`.

Since `React.ElementRef<HostComponent<T>>` is typed as `React.AbstractComponent<T, NativeMethods>`, that means `React.ElementRef<HostComponent<T>>` is equivalent to `NativeMethods` which is equivalent to `HostInstance`.

Changelog:
[General][Added] - Added `HostInstance` type to represent the instance of a `HostComponent<T>`.

Test Plan:
Ran the following successfully:

```
$ cd ~/fbsource
$ js1 flow
```

Reviewed By: NickGerleman

Differential Revision: D63646555

Pulled By: yungsters

fbshipit-source-id: 075859e6b0217521ba9ab2b92843ae7e47db5be0

* RN: Migrate to `HostInstance` Type (#46742)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46742

Migrates type definitions in React Native to use the newly created `HostInstance` type instead of `NativeMethods` and `React.ElementRef<HostComponent<T>>`.

Changelog:
[General][Changed] - Simplified Flow types to use `HostInstance` (which changing nominal types).

Reviewed By: NickGerleman

Differential Revision: D63646763

fbshipit-source-id: 904894dc40da4d2e70bcb6df47018fc6248ea972

* Animated: Fix `NativeAnimatedModule` Mock for Jest (#46715)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46715

Properly mocks `NativeAnimatedModule` in Jest so that we can cleanup the `process.env.NODE_ENV` checks in Animated.

Changelog:
[General][Added] - Added Jest mocks for `NativeAnimatedModule`

Reviewed By: javache

Differential Revision: D63572067

fbshipit-source-id: a4fcedeebbaaa47a34bb356305652a3ed6358855

* Animated: Change `onEnd` to Private Property (#46721)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46721

Currently, the `Animation` class (from Animated) defines an unofficially protected `__onEnd` property that subclasses are expected to populate. However, subclasses are expected to *not* invoke `__onEnd`, but instead call `__debouncedOnEnd`.

In order to make this code less fragile, this commit refactors the `Animation` class and its subclasses so that `onEnd` is stored in a private property and initialized by the `start` method in the `Animation` parent class. Now, the only way to invoke the `onEnd` callback is by calling `__debouncedOnEnd`.

The subclasses have been adjusted to call the `start` superclass method to initialize this.

Changelog:
[General][Changed] - The `Animation` superclass no longer exposes `__onEnd` as a property. Subclasses must instead invoke `super.start(…)` in their `start()` implementation.

Reviewed By: javache

Differential Revision: D63572063

fbshipit-source-id: 221153ca890c67c59713d607032536f57d7a5b0a

* Animated: Change `nativeID` to Private Property (#46716)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46716

Changes `_nativeId` to be a private property in the `Animation` class (from Animated).

Changelog:
[Internal]

Reviewed By: javache

Differential Revision: D63572065

fbshipit-source-id: 24facca0ccb1256f602ec4406bf8c0b22c4bbf96

* Animated: Simplify `TimingAnimation#start` Logic (#46719)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46719

Implements a minor refactor of `TimingAnimation#start` so that we standardize how the `_useNativeDriver` case is handled.

There is no behavior change from this besides more consistently assigning to `this._startTime`. (Previously, we would not set it if the duration were 0 and `!useNativeDriver`.)

Changelog:
[Internal]

Reviewed By: javache

Differential Revision: D63572066

fbshipit-source-id: 9cbd05c5ca5e00227be69441b9d7d8a502690246

* Animated: Fail Fast on Native Driver Incompatibility (#46720)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46720

Refactors the `Animation` subclasses (from Animated) such that using `useNativeDriver` with a non-native `AnimatedValue` will consistently fail when calling `start()`.

The current behavior is inconsistent because if a timing or spring animation has a non-zero delay, the error will be thrown in asynchronously in a timeout.

Changelog:
[General][Changed] - Animations started with incompatible `useNativeDriver` and `AnimatedValue` configurations will now synchronously fail. Previously, spring and timing animations with non-zero delays would throw the error asynchronously.

Reviewed By: javache

Differential Revision: D63572062

fbshipit-source-id: 2619e2867fe7754695e3347c838ad6fe136a6614

* Animated: Hoist Common Logic to Parent Class (#46717)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46717

Reduces redundancy and cleans up the layers of abstraction between the `Animation` class and its subclasses, by hoisting common and duplicated logic into the parent class.

I also cleaned up the Flow types in these files while I was at it.

Changelog:
[Internal]

Reviewed By: javache

Differential Revision: D63572064

fbshipit-source-id: ab6bf7265b67ab38cc5a9d5c94f8cd1456c93f23

* Animated: Rename `__debouncedOnEnd` to `__notifyAnimationEnd` (#46718)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46718

Simple rename of a protected method that should not be called by anyone outside of the `Animation` class and its subclasses, just to make it more intuitive.

Changelog:
[Internal]

Reviewed By: javache

Differential Revision: D63572363

fbshipit-source-id: cf68f63a9b361767b9dbfcd73124bcdae7a1806e

* Animated: Enqueue Completion Callbacks in Microtask (#46714)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46714

Sets up a feature flag to experiment with scheduling `Animation` completion callbacks in a microtask instead of executing them synchronously. (The completion callback is the callback passed into `animation.start(<callback>)`).

There are currently 4 potential scheduling behaviors of the animation completion callback:

- Synchronously when `start()` is invoked, for spring and timing animations that immediately complete (e.g. no delays and not native driver).
- Synchronously when `stop()` is invoked, if the animation has not yet completed.
- Synchronously during the layout effect phase, or commit phase (if the `useInsertionEffectsForAnimations` feature flag is enabled), if the animation has not yet completed.
- Asynchronously when the animation completes (e.g. non-zero delay or when the native driver is employed).

The wide number of variables and the timing-dependent nature of these variables means that the behavior of the completion callback is very non-deterministic.

Imperically, we have also found that most codebases using `useNativeDriver` mostly have completion callbacks executed asynchronously. However, this leads to surprising problems where the callback causes unpredictable behavior when it is called synchronously (e.g. when the animating component is unmounted *during* the animation).

Changelog:
[Internal]

Reviewed By: javache

Differential Revision: D63573322

fbshipit-source-id: 16c48be78c9ac65a64021249fad10f7265737c44

* Small renames in PerformanceEntryReporter (#46688)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46688

Changelog: [internal]

Just aligns on `report*` as the public API in `PerformanceEntryReporter` (e.g.: `measure` -> `reportMeasure`, `logEventEntry` -> `reportEvent`, etc.).

Reviewed By: rshest

Differential Revision: D63471856

fbshipit-source-id: 59617160c238aaefaefe8b6fc27de4481ef32ada

* Remove dependency to PerformanceEntryReporter singleton from RuntimeSchedulerTest (#46760)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46760

Changelog: [internal]

Relying on the singleton was causing issues in iOS tests for RuntimeScheduler. This fixes those issues.

Reviewed By: rshest

Differential Revision: D63702251

fbshipit-source-id: 42b98e673ffba6f45b52510cdb3eea410e55b894

* Refactor Performance and PerformanceObserver internals (#46693)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46693

Changelog: [internal]

This unifies the native modules for `Performance` and `PerformanceObserver` in the same module. Keeping them separate is artificial and introduces unnecessary duplication. These APIs are very closely related so it makes sense to unify

Reviewed By: javache

Differential Revision: D63471855

fbshipit-source-id: fa8c5dc7b7c68954fc11867f68909d2c6c2ee85c

* Optimize locks in PerformanceEntryReporter (#46698)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46698

Changelog: [internal]

Small optimization to use readers/writers for locking in `PerformanceEntryReporter`.

Reviewed By: rshest

Differential Revision: D63540236

fbshipit-source-id: 80b3fd313453ad8da4f0af2deaab61a86064b4b7

* Make detail readonly in PerformanceMark (#46697)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46697

Changelog: [internal]

This is already the case in `PerformanceMeasure` but for some reason we didn't apply it here as well.

Reviewed By: rshest

Differential Revision: D63541134

fbshipit-source-id: 262d504ed153e07e89492945f761887729bad9e0

* Fix Cxx TurboModule methods not being cached (#46751)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46751

rubennorte noticed that some turbo module methods were not getting cached on the jsRepresentation as expected. This is caused by the react-native-codegen wrappers we generate overriding the `get` method and bypassing this caching layer. Instead they should be overriding `create` to lazily allocate new properties. To prevent this from re-occuring, I've made `get` final so no other overrides can happen.

## Changelog:

[General][Fixed] Properties for C++ TurboModules using codegen were not correctly cached
[General][Breaking] TurboModule::get is now a final method, override `create` to customize property lookup

Reviewed By: rubennorte

Differential Revision: D63665966

fbshipit-source-id: c614901c2f0d698147ec9ba36a4b592ed3d37652

* Add missing lock in ReactInstanceManager#attachRootView (#46776)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46776

All other paths that touch `mAttachedReactRoots` uses this lock. We expect this to address a crash we're seeing in production where `startSurface` is invoked multiple times.

Changelog: [Internal]

Reviewed By: fabriziocucci

Differential Revision: D63752083

fbshipit-source-id: f06d07aa70719945f6956fbf6e0cde3e9c8e8ed0

* Rollout destroyFabricSurfacesInReactInstanceManager (#46778)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46778

This has been rolled out internally already and is a good cleanup for OSS too. We no longer use this config externally (BRIDGE+FABRIC) so this shouldn't actually affect the new arch rollout.

Changelog: [Internal]

Reviewed By: fabriziocucci

Differential Revision: D63752084

fbshipit-source-id: da3025f7b072dc7b82f8de22ff247b3979ae64d0

* Add changelog for 0.74.6 (#46783)

Summary:
Add changelog for 0.74.6

## Changelog:
[Internal] - Add changelog for 0.74.6

Pull Request resolved: https://github.com/facebook/react-native/pull/46783

Test Plan: N/A

Reviewed By: cortinico

Differential Revision: D63756879

Pulled By: cipolleschi

fbshipit-source-id: c36fae089c58fad49f45fa3b3380c38490d67293

* prevent C++ state update in RCTScrollViewComponentView if value is the same (#46782)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46782

changelog: [internal]

Avoid setting C++ state for the same contentOffset. This is redundant work and can be safely avoided.

Reviewed By: NickGerleman

Differential Revision: D63700308

fbshipit-source-id: d6ea8cf6a1da47a13787b49abd66a87e3da57d34

* Update modern inspector targets to directly send CDP title and description (#46780)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46780

This is primarily a debugger server change to better-align the `title` and `description` fields (visible in via the CDP `/json/list` endpoint), reporting them directly from the device.

For React Native users, the net effect of this change is to improve/align the display name for each debugger target in the CLI multi-select menu (`j` to debug). This change may also be useful for discovery in non-Fusebox frontends such as VS Code (`vscode-expo` extension).

Changes:
- Rename `title` prop on `InspectorPageDescription`/`IInspector::addPage` to `description` (no call site changes).
- Add `deviceName` param to `InspectorPackagerConnection`.
- Move the page `description` to the `description` JSON field.
- Update `InspectorPackagerConnection::Impl::pages()` to return new `title` and `description` fields.
- Align `OpenDebuggerKeyboardHandler` to display `title` field.
- Deprecate the nonstandard `deviceName` field.

**Before**

```
[
    {
        "id": "3c9f24bedab0e73fca6a1b295030e7af9346a8c0-1",
        "title": "React Native Bridgeless [C++ connection]",
        "description": "com.facebook.RNTester",
         ...
    }
```

The `description` field was previously the closest thing we had to a target identifier. Today, this is not needed, since we have the stable `reactNative.logicalDeviceId` field.

**After**

```
[
    {
        "id": "3c9f24bedab0e73fca6a1b295030e7af9346a8c0-1",
        "title": "com.facebook.RNTester (iPhone 16 Pro)",
        "description": "React Native Bridgeless [C++ connection]",
         ...
    }
```

The `title` field is now more human readable and aligned with what we render in the window title of React Native DevTools. The `description` field describes the type of debugger target (the specific React Native implementation).

Changelog: [Internal]

Reviewed By: vzaidman

Differential Revision: D63329456

fbshipit-source-id: cfe98f77e31c729431005925cfc66e2780ef8c72

* make sure logs reflect new class name (#46785)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46785

changelog: [internal]

Make sure logs match the class name

Reviewed By: rubennorte

Differential Revision: D63757693

fbshipit-source-id: 815e70e8ae38d99b1908d3aa2a9cfffdd9dc9851

* Fix reported properties for native modules (#46788)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46788

Changelog: [internal]

This fixes the reported keys for C++ TurboModules:
```
import MyNativeCppModule from 'MyNativeCppModule';

Object.keys(MyNativeCppModule); // [] - expected
Object.keys(Object.getPrototypeOf(MyNativeCppModule)); // [] - NOT expected
```

Before, we were trying to read the properties from the method map in the public `TurboModule`, but in this implementation all the logic is actually in its delegate (also a `TurboModule` instance, yeah, confusing).

This fixes the issue by forwarding the call to the delegate that has the right information.

Reviewed By: javache

Differential Revision: D63761381

fbshipit-source-id: 90bd216efa0f60352c5ca341d210d83239c80dba

* Create ReactPerfLogger to log to Perfetto and Fusebox (#46793)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46793

Currently performance logging has several problems:
- We have widly different APIs. It's hard to know which to use for what.
- Most of these APIs don't allow retroactive timestamp which is important for hero logging and react flame graphs
- These APIs aren't accessible from JS/C++/Java/Koltin (this part will be fixed in another diff)
- Logging doesn't go to the right place. It either only goes to Systrace, or Perfetto but with broken async timeline etc...

This diff start addressing the problem by refactoring. Currently performance.measure/performance.mark are the best APIs. Let's start with refactoring them so that we can call them directly without the otherwise PerformanceEntry side effects.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D63560473

fbshipit-source-id: 86755b3e8491a7cf6919173a07ba9421cd30e663

* Fix onEndReached not being called when getItemLayout is present and we scroll past render window (#46736)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46736

Copying the comment in code:

> We only call `onEndReached` after we render the last cell, but when getItemLayout is present, we can scroll past the last rendered cell, and never trigger a new layout or bounds change, so we need to check again after rendering more cells.

Changelog:
[General][Fixed] - Fix onEndReached not being called when getItemLayout is present and we scroll past render window

Reviewed By: yungsters

Differential Revision: D63643856

fbshipit-source-id: 9c53789cb15b225ceac353c37cbb67f7beeaf4fb

* Back out "Add RNTester box sizing example and e2e test" (#46795)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46795

Original commit changeset: d7bb6f115bca

Original Phabricator Diff: D63471840

See previous diff, there were some problems

Changelog: [Internal]

Differential Revision: D63777438

fbshipit-source-id: ea9f370eade10282fcee84d07d709b549dde1b6d

* Back out "Plumbing to get boxSizing prop to Yoga" (#46794)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46794

Original commit changeset: f57e9a51236c

Original Phabricator Diff: D63430964

Seeing some issues with this so gonna turn it off for the meantime.

Changelog: [Internal]

Differential Revision: D63777437

fbshipit-source-id: fe8abd0110b2cf7296911c5b1e95ada40d30994c

* Remove run on iOS/Android key handlers (#46781)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46781

Implements https://github.com/react-native-community/discussions-and-proposals/discussions/821.

Changelog:
[General][Removed] - Remove "run on iOS" and "run on Android" from the dev server key commands

Reviewed By: cortinico

Differential Revision: D63534248

fbshipit-source-id: 003d4c639bbf9128f921936508a62de2caadac5e

* Unbreak build_android (#46806)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46806

This fixes the CI which is currently red due to wrong C++ imports.

Changelog:
[Internal] [Changed] - Unbreak build_android

Reviewed By: javache, cipolleschi

Differential Revision: D63826953

fbshipit-source-id: 4d9e407331af666a420cf56178420df40e598ef4

* chore: Add changelog for 0.75.4 (#46792)

Summary:
Adds changelog for the 0.75.4 patch.

## Changelog:

[Internal] [Changed] - Add 0.75.4 changelog

Pull Request resolved: https://github.com/facebook/react-native/pull/46792

Reviewed By: blakef

Differential Revision: D63766181

Pulled By: cipolleschi

fbshipit-source-id: f1b4e9e0676bc7dd32fe9d86386552f273fdcc75

* Rename `RCTUIGraphicsImageRenderer` to `RCTMakeUIGraphicsImageRenderer` (#46772)

Summary:
Because `UIGraphicsImageRenderer` doesn't exist on macOS, I need to shim it for React Native macOS (See https://github.com/microsoft/react-native-macos/pull/2209). I planned to use the name `RCTUIGraphicsImageRenderer`. However.. it seems that is used by a static helper function in `RCTBorderDrawing.m`. So.. let's rename it? The function is just a helper method to make an instance of the class, so I think the name `RCTMakeUIGraphicsImageRenderer` is slightly more idiomatic anyway.

This method is not public, so it should not break the public API of React Native.

## Changelog:

[IOS] [CHANGED] - Rename `RCTUIGraphicsImageRenderer` to `RCTMakeUIGraphicsImageRenderer`

Pull Request resolved: https://github.com/facebook/react-native/pull/46772

Test Plan: CI should pass

Reviewed By: joevilches

Differential Revision: D63765490

Pulled By: cipolleschi

fbshipit-source-id: de68dce0f92ec249ea8586dbf7b9ba34a8476074

* Allow taking control of bundle loading on new arch (#46731)

Summary:
On the old architecture you could take control of loading the bundle by implementing
```objc
- (void)loadSourceForBridge:(RCTBridge *)bridge
                 onProgress:(RCTSourceLoadProgressBlock)onProgress
                 onComplete:(RCTSourceLoadBlock)loadCallback;
```
in your `RCTBridgeDelegate`. This is not currently possible in the new architecture.

I've added this using a pretty much identical api by adding a function to both the `RCTInstanceDelegate` and `RCTHostDelegate` protocols. This will be called on the `RCTRootViewFactory`. I've added two properties to the `RCTRootViewFactoryConfiguration`, `loadSourceForHost` and `loadSourceWithProgressForHost`. If one is present, we call it, otherwise we fallback to the normal loading process

## Changelog:

[iOS] [Breaking] - Add ability to control bundle loading on the new architecture similar to `loadSourceForBridge`. Removed some properties from the `RCTRootViewFactory`.

Pull Request resolved: https://github.com/facebook/react-native/pull/46731

Test Plan: Rn-tester works as normal and it is working for our use case in expo go.

Reviewed By: blakef

Differential Revision: D63755188

Pulled By: cipolleschi

fbshipit-source-id: f1f26b2775b9e547ce7a23028665797c1…
@JaioSkura
Copy link

JaioSkura commented Nov 27, 2024

Hi!

I am facing the same in RN 0.76.3. Shouldn't be right? any solution?

@brianangulo
Copy link
Author

Hi!

I am facing the same in RN 0.76.3. Shouldn't be right? any solution?

There seems to be an issue still related to LayoutAnimations that was not addressed by this fix

@brianangulo
Copy link
Author

@JaioSkura do you have a crash report? You may want to open a new issue with it.

@JaioSkura
Copy link

Hi!

Finally, I realized that it is only happening on debug. If I run with Release build configuration it doesn't happen.

@zhongwuzw
Copy link
Contributor

@JaioSkura Hi, it's a debug assertion, and we already fixed some related issues, if you still face this issue on v0.76.3, maybe you can open a new issue so that we can investigate :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API: LayoutAnimation Platform: iOS iOS applications. Resolution: Fixed A PR that fixes this issue has been merged. Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants