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

[0.74,0.73,0.72] Fix possible deadlock in dispatchViewUpdates #182

Closed
efstathiosntonas opened this issue Mar 27, 2024 · 15 comments
Closed
Assignees
Labels
Type Pick Request Pick requests to include commits inside a React Native release

Comments

@efstathiosntonas
Copy link

efstathiosntonas commented Mar 27, 2024

Target Branch(es)

0.72, 0.73, 0.74

Link to commit or PR to be picked

facebook/react-native#43643

Description

Fixes slow screen opening in apps (running on Android) using react-native-safe-area-context:

@efstathiosntonas
Copy link
Author

Hey folks, is there an ETA for this? It's a really important bug fix, thanks!

@efstathiosntonas
Copy link
Author

@lunaleaps sorry for tagging you, we desperately need this to be released 😅

@cortinico
Copy link
Collaborator

@lunaleaps sorry for tagging you, we desperately need this to be released 😅

Luna is currently off. We'll be releasing this in the coming weeks.

@thenewyork
Copy link

thenewyork commented Apr 7, 2024

This work seemed to be life saver (thanks @yayvery) and patch seemed to be working a day earlier when building locally from source (may be due to package updates). But got broken suddenly and not able to build from source since then. Up all night, but always facing this error while building from source for 0.73.6 (Mac OS). Tried many many things and built 30+ times with different config but no luck :(

Execution failed for task ':react-native:packages:react-native:ReactAndroid:buildCMakeDebug[arm64-v8a][bridgeless,fabricjni,etc]'.

com.android.ide.common.process.ProcessException: ninja: Entering directory `/Users//workspace/react-native//node_modules/react-native/ReactAndroid/.cxx/Debug/6k3y2a54/arm64-v8a' [0/2] Re-checking globbed directories... [1/515] Building CXX object ReactCommon/react/config/CMakeFiles/react_config.dir/ReactNativeConfig.cpp.o [2/515] Linking CXX shared library /Users/****/gradle-build-cache/react-native-build-from-source/ReactAndroid/intermediates/cxx/Debug/6k3y2a54/obj/arm64-v8a/libreact_config.so [3/515] Building CXX object ReactCommon/react/renderer/componentregistry/CMakeFiles/react_render_componentregistry.dir/componentNameByReactViewName.cpp.o [4/515] Building CXX object ReactCommon/react/renderer/animations/CMakeFiles/react_render_animations.dir/utils.cpp.o [5/515]

com.android.ide.common.process.ProcessException: ninja: Entering directory `/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/.cxx/Debug/6k3y2a54/arm64-v8a' [0/2] Re-checking globbed directories... [1/515] Building CXX object ReactCommon/react/config/CMakeFiles/react_config.dir/ReactNativeConfig.cpp.o [2/515] Linking CXX shared library /Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/intermediates/cxx/Debug/6k3y2a54/obj/arm64-v8a/libreact_config.so [3/515] Building CXX object ReactCommon/react/renderer/componentregistry/CMakeFiles/react_render_componentregistry.dir/componentNameByReactViewName.cpp.o [4/515] Building CXX object ReactCommon/react/renderer/animations/CMakeFiles/react_render_animations.dir/utils.cpp.o [5/515] Building CXX object ReactCommon/react/renderer/componentregistry/CMakeFiles/react_render_componentregistry.dir/ComponentDescriptorProviderRegistry.cpp.o [6/515] Building CXX object ReactCommon/react/renderer/componentregistry/CMakeFiles/react_render_componentregistry.dir/ComponentDescriptorRegistry.cpp.o [7/515] Building CXX object ReactCommon/react/renderer/attributedstring/CMakeFiles/react_render_attributedstring.dir/AttributedStringBox.cpp.o [8/515] Building CXX object ReactCommon/react/renderer/attributedstring/CMakeFiles/react_render_attributedstring.dir/AttributedString.cpp.o [9/515] Building CXX object ReactCommon/react/renderer/animations/CMakeFiles/react_render_animations.dir/LayoutAnimationDriver.cpp.o [10/515] Building CXX object ReactCommon/react/renderer/attributedstring/CMakeFiles/react_render_attributedstring.dir/ParagraphAttributes.cpp.o [11/515] Building CXX object ReactCommon/react/renderer/attributedstring/CMakeFiles/react_render_attributedstring.dir/TextAttributes.cpp.o [12/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/Differentiator.cpp.o [13/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/MountingTransaction.cpp.o [14/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/ShadowTreeRevision.cpp.o [15/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/MountingCoordinator.cpp.o [16/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/ShadowView.cpp.o [17/515] Building CXX object ReactCommon/react/renderer/animations/CMakeFiles/react_render_animations.dir/LayoutAnimationKeyFrameManager.cpp.o [18/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/ShadowViewMutation.cpp.o [19/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/ShadowTreeRegistry.cpp.o [20/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/StubView.cpp.o [21/515] Building CXX object ReactCommon/react/renderer/scheduler/CMakeFiles/react_render_scheduler.dir/AsynchronousEventBeat.cpp.o [22/515] Building CXX object ReactCommon/react/renderer/telemetry/CMakeFiles/react_render_telemetry.dir/TransactionTelemetry.cpp.o [23/515] Building CXX object ReactCommon/react/renderer/telemetry/CMakeFiles/react_render_telemetry.dir/SurfaceTelemetry.cpp.o [24/515] Building CXX object ReactCommon/react/renderer/scheduler/CMakeFiles/react_render_scheduler.dir/SynchronousEventBeat.cpp.o [25/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/StubViewTree.cpp.o [26/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/ShadowTree.cpp.o [27/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/TelemetryController.cpp.o [28/515] Building CXX object ReactCommon/react/renderer/mounting/CMakeFiles/react_render_mounting.dir/stubs.cpp.o [29/515] Building CXX object ReactCommon/react/renderer/uimanager/CMakeFiles/react_render_uimanager.dir/bindingUtils.cpp.o [30/515] Building CXX object ReactCommon/react/renderer/scheduler/CMakeFiles/react_render_scheduler.dir/SurfaceHandler.cpp.o [31/515] Building CXX object ReactCommon/react/renderer/uimanager/CMakeFiles/react_render_uimanager.dir/SurfaceRegistryBinding.cpp.o [32/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventBeat.cpp.o [33/515] Building CXX object ReactCommon/react/renderer/scheduler/CMakeFiles/react_render_scheduler.dir/SurfaceManager.cpp.o [34/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/ComponentDescriptor.cpp.o [35/515] Building CXX object ReactCommon/react/renderer/templateprocessor/CMakeFiles/react_render_templateprocessor.dir/UITemplateProcessor.cpp.o [36/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/BatchedEventQueue.cpp.o [37/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventLogger.cpp.o [38/515] Building CXX object ReactCommon/react/renderer/uimanager/CMakeFiles/react_render_uimanager.dir/PointerEventsProcessor.cpp.o [39/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/DynamicPropsUtilities.cpp.o [40/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventListener.cpp.o [41/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventDispatcher.cpp.o [42/515] Building CXX object ReactCommon/react/renderer/scheduler/CMakeFiles/react_render_scheduler.dir/Scheduler.cpp.o [43/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/LayoutConstraints.cpp.o [44/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventEmitter.cpp.o [45/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/LayoutMetrics.cpp.o [46/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventQueueProcessor.cpp.o [47/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventTarget.cpp.o [48/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/EventQueue.cpp.o [49/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/InstanceHandle.cpp.o [50/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/RawPropsKey.cpp.o [51/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/RawPropsKeyMap.cpp.o [52/515] Building CXX object ReactCommon/react/renderer/uimanager/CMakeFiles/react_render_uimanager.dir/UIManager.cpp.o [53/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/Sealable.cpp.o [54/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/RawEvent.cpp.o [55/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/PropsParserContext.cpp.o [56/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/ShadowNodeTraits.cpp.o [57/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/RawProps.cpp.o [58/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/Props.cpp.o [59/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/RawValue.cpp.o [60/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/LayoutableShadowNode.cpp.o [61/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/RawPropsParser.cpp.o [62/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/ValueFactoryEventPayload.cpp.o [63/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/ShadowNodeFamily.cpp.o [64/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/ShadowNodeFragment.cpp.o [65/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/ShadowNode.cpp.o [66/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/StateUpdate.cpp.o [67/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/State.cpp.o [68/515] Building CXX object ReactCommon/react/renderer/graphics/CMakeFiles/react_render_graphics.dir/Color.cpp.o [69/515] Building CXX object ReactCommon/react/renderer/core/CMakeFiles/react_render_core.dir/UnbatchedEventQueue.cpp.o [70/515] Building CXX object ReactCommon/react/renderer/imagemanager/CMakeFiles/react_render_imagemanager.dir/ImageResponse.cpp.o [71/515] Building CXX object ReactCommon/react/renderer/debug/CMakeFiles/react_render_debug.dir/DebugStringConvertibleItem.cpp.o [72/515] Building CXX object ReactCommon/react/renderer/imagemanager/CMakeFiles/react_render_imagemanager.dir/ImageResponseObserverCoordinator.cpp.o [73/515] Building CXX object ReactCommon/react/renderer/element/CMakeFiles/react_render_element.dir/Element.cpp.o [74/515] Building CXX object ReactCommon/react/renderer/debug/CMakeFiles/react_render_debug.dir/DebugStringConvertible.cpp.o [75/515] Building CXX object ReactCommon/react/renderer/element/CMakeFiles/react_render_element.dir/ElementFragment.cpp.o [76/515] Building CXX object ReactCommon/react/renderer/element/CMakeFiles/react_render_element.dir/ComponentBuilder.cpp.o [77/515] Building CXX object ReactCommon/react/renderer/uimanager/CMakeFiles/react_render_uimanager.dir/UIManagerBinding.cpp.o [78/515] Building CXX object ReactCommon/react/renderer/imagemanager/CMakeFiles/react_render_imagemanager.dir/ImageTelemetry.cpp.o [79/515] Building CXX object ReactCommon/react/renderer/graphics/CMakeFiles/react_render_graphics.dir/Transform.cpp.o [80/515] Building CXX object ReactCommon/react/renderer/imagemanager/CMakeFiles/react_render_imagemanager.dir/platform/cxx/react/renderer/imagemanager/ImageManager.cpp.o [81/515] Building CXX object ReactCommon/react/renderer/imagemanager/CMakeFiles/react_render_imagemanager.dir/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp.o [82/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/BaseTouch.cpp.o [83/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/TouchEvent.cpp.o [84/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/PointerEvent.cpp.o [85/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/BaseViewEventEmitter.cpp.o [86/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/TouchEventEmitter.cpp.o [87/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/ViewShadowNode.cpp.o [88/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/platform/android/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp.o [89/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/AccessibilityProps.cpp.o [90/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/YogaLayoutableShadowNode.cpp.o [91/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/BaseViewProps.cpp.o [92/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/YogaStylableProps.cpp.o [93/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp.o [94/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp.o [95/515] Building CXX object ReactCommon/react/renderer/components/view/CMakeFiles/rrc_view.dir/platform/android/react/renderer/components/view/ViewPropsMapBuffer.cpp.o [96/515] Building CXX object ReactCommon/react/renderer/components/switch/CMakeFiles/rrc_switch.dir/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp.o [97/515] Building CXX object ReactCommon/react/renderer/components/switch/CMakeFiles/rrc_switch.dir/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp.o [98/515] Building CXX object ReactCommon/react/renderer/components/progressbar/CMakeFiles/rrc_progressbar.dir/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp.o [99/515] Building CXX object ReactCommon/react/renderer/components/image/CMakeFiles/rrc_image.dir/ImageEventEmitter.cpp.o [100/515] Building CXX object ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeFiles/rrc_legacyviewmanagerinterop.dir/LegacyViewManagerInteropShadowNode.cpp.o [101/515] Building CXX object ReactCommon/react/renderer/components/root/CMakeFiles/rrc_root.dir/RootProps.cpp.o [102/515] Building CXX object ReactCommon/react/renderer/components/textinput/CMakeFiles/rrc_textinput.dir/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp.o [103/515] Building CXX object ReactCommon/react/renderer/components/textinput/CMakeFiles/rrc_textinput.dir/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp.o [104/515] Building CXX object ReactCommon/react/renderer/components/progressbar/CMakeFiles/rrc_progressbar.dir/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp.o [105/515] Building CXX object ReactCommon/react/renderer/components/root/CMakeFiles/rrc_root.dir/RootShadowNode.cpp.o [106/515] Building CXX object ReactCommon/react/renderer/components/textinput/CMakeFiles/rrc_textinput.dir/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp.o [107/515] Building CXX object ReactCommon/react/renderer/components/image/CMakeFiles/rrc_image.dir/ImageShadowNode.cpp.o [108/515] Building CXX object ReactCommon/react/renderer/components/image/CMakeFiles/rrc_image.dir/ImageState.cpp.o [109/515] Building CXX object ReactCommon/react/renderer/components/image/CMakeFiles/rrc_image.dir/ImageProps.cpp.o [110/515] Building CXX object ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeFiles/rrc_legacyviewmanagerinterop.dir/LegacyViewManagerInteropViewEventEmitter.cpp.o [111/515] Building CXX object ReactCommon/react/renderer/componentregistry/native/CMakeFiles/rrc_native.dir/NativeComponentRegistryBinding.cpp.o [112/515] Building CXX object ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeFiles/rrc_legacyviewmanagerinterop.dir/LegacyViewManagerInteropViewProps.cpp.o [113/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/BaseTextShadowNode.cpp.o [114/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/ParagraphEventEmitter.cpp.o [115/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/ParagraphLayoutManager.cpp.o [116/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/RawTextShadowNode.cpp.o [117/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/RawTextProps.cpp.o [118/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/TextProps.cpp.o [119/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/BaseTextProps.cpp.o [120/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/TextShadowNode.cpp.o [121/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/ParagraphProps.cpp.o [122/515] Building CXX object ReactCommon/react/renderer/components/unimplementedview/CMakeFiles/rrc_unimplementedview.dir/UnimplementedViewProps.cpp.o [123/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/ParagraphShadowNode.cpp.o [124/515] Building CXX object ReactCommon/react/renderer/components/text/CMakeFiles/rrc_text.dir/ParagraphState.cpp.o [125/515] Building CXX object ReactCommon/react/renderer/components/unimplementedview/CMakeFiles/rrc_unimplementedview.dir/UnimplementedViewShadowNode.cpp.o [126/515] Building CXX object ReactCommon/react/renderer/components/modal/CMakeFiles/rrc_modal.dir/ModalHostViewState.cpp.o [127/515] Building CXX object ReactCommon/react/renderer/components/modal/CMakeFiles/rrc_modal.dir/ModalHostViewShadowNode.cpp.o FAILED: ReactCommon/react/renderer/components/modal/CMakeFiles/rrc_modal.dir/ModalHostViewShadowNode.cpp.o /Users//Library/Android/sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android21 --sysroot=/Users//Library/Android/sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/third-party-ndk/glog/exported -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/third-party-ndk/folly/. -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/third-party-ndk/double-conversion/. -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/third-party-ndk/boost/boost_1_83_0 -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/third-party-ndk/fmt/include -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/src/main/jni/first-party/fbgloginit/. -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/generated/source/codegen/jni/. -I/Users//gradle-build-cache/react-native-build-from-source/ReactAndroid/generated/source/codegen/jni/react/renderer/components/rncore -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/jsi -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/nativemodule/core -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/nativemodule/core/platform/android -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/callinvoker/. -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/reactperflogger/. -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/src/main/jni/react/jni/../.. -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/src/main/jni/react/turbomodule -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/src/main/jni/first-party/fb/include -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/runtimeexecutor/. -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/src/main/jni/react/reactperflogger -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/logger/. -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/graphics/platform/android -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/src/main/jni/first-party/yogajni/jni -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/yoga/yoga/.. -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/cxx -I/Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/platform/android -isystem /Users//.gradle/caches/transforms-3/8d209cb44f0c2112effeba1f40b9674d/transformed/fbjni-0.5.1/prefab/modules/fbjni/include -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fno-limit-debug-info -fPIC -Wall -Werror -std=c++20 -fexceptions -frtti -Wpedantic -Wno-gnu-zero-variadic-macro-arguments -DLOG_TAG="Fabric" -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_MOBILE=1 -DFOLLY_HAVE_RECVMMSG=1 -DFOLLY_HAVE_PTHREAD=1 -DFOLLY_HAVE_XSI_STRERROR_R=1 -MD -MT ReactCommon/react/renderer/components/modal/CMakeFiles/rrc_modal.dir/ModalHostViewShadowNode.cpp.o -MF ReactCommon/react/renderer/components/modal/CMakeFiles/rrc_modal.dir/ModalHostViewShadowNode.cpp.o.d -o ReactCommon/react/renderer/components/modal/CMakeFiles/rrc_modal.dir/ModalHostViewShadowNode.cpp.o -c /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp:8: /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:24:43: error: unknown type name 'ModalHostViewProps'; did you mean 'ModalHostViewState'? ModalHostViewProps, ^~~~~~~~~~~~~~~~~~ ModalHostViewState /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewState.h:24:7: note: 'ModalHostViewState' declared here class ModalHostViewState final { ^ In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp:8: /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:25:43: error: unknown type name 'ModalHostViewEventEmitter'; did you mean 'BaseViewEventEmitter'? ModalHostViewEventEmitter, ^~~~~~~~~~~~~~~~~~~~~~~~~ BaseViewEventEmitter /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/BaseViewEventEmitter.h:20:7: note: 'BaseViewEventEmitter' declared here class BaseViewEventEmitter : public TouchEventEmitter { ^ In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp:8: In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:13: In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h:13: /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/core/ConcreteShadowNode.h:37:3: error: static_assert failed due to requirement 'std::is_base_of<facebook::react::Props, facebook::react::ModalHostViewState>::value' "PropsT must be a descendant of Props" static_assert( ^ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h:31:39: note: in instantiation of template class 'facebook::react::ConcreteShadowNode<facebook::react::ModalHostViewComponentName, facebook::react::YogaLayoutableShadowNode, facebook::react::ModalHostViewState, facebook::react::BaseViewEventEmitter, facebook::react::ModalHostViewState>' requested here class ConcreteViewShadowNode : public ConcreteShadowNode< ^ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:22:46: note: in instantiation of template class 'facebook::react::ConcreteViewShadowNode<facebook::react::ModalHostViewComponentName, facebook::react::ModalHostViewState, facebook::react::BaseViewEventEmitter, facebook::react::ModalHostViewState>' requested here class ModalHostViewShadowNode final : public ConcreteViewShadowNode< ^ In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp:8: In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:13: /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h:37:3: error: static_assert failed due to requirement 'std::is_base_of<facebook::react::HostPlatformViewProps, facebook::react::ModalHostViewState>::value' "ViewPropsT must be a descendant of ViewProps" static_assert( ^ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:22:46: note: in instantiation of template class 'facebook::react::ConcreteViewShadowNode<facebook::react::ModalHostViewComponentName, facebook::react::ModalHostViewState, facebook::react::BaseViewEventEmitter, facebook::react::ModalHostViewState>' requested here class ModalHostViewShadowNode final : public ConcreteViewShadowNode< ^ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:28:9: error: 'ConcreteViewShadowNode' is not a class, namespace, or enumeration using ConcreteViewShadowNode::ConcreteViewShadowNode; ^ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h:31:7: note: 'ConcreteViewShadowNode' declared here class ConcreteViewShadowNode : public ConcreteShadowNode< ^ In file included from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp:8: /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h:31:19: error: 'ConcreteViewShadowNode' is not a class, namespace, or enumeration auto traits = ConcreteViewShadowNode::BaseTraits(); ^ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h:31:7: note: 'ConcreteViewShadowNode' declared here class ConcreteViewShadowNode : public ConcreteShadowNode< ^ 6 errors generated. [128/515] Building CXX object ReactCommon/react/renderer/components/unimplementedview/CMakeFiles/rrc_unimplementedview.dir/UnimplementedViewComponentDescriptor.cpp.o [129/515] Building CXX object ReactCommon/react/renderer/components/scrollview/CMakeFiles/rrc_scrollview.dir/ScrollViewEventEmitter.cpp.o [130/515] Building CXX object ReactCommon/react/renderer/components/scrollview/CMakeFiles/rrc_scrollview.dir/ScrollViewState.cpp.o [131/515] Building CXX object ReactCommon/react/renderer/leakchecker/CMakeFiles/react_render_leakchecker.dir/WeakFamilyRegistry.cpp.o [132/515] Building CXX object ReactCommon/react/renderer/leakchecker/CMakeFiles/react_render_leakchecker.dir/LeakChecker.cpp.o [133/515] Building CXX object ReactCommon/react/renderer/components/scrollview/CMakeFiles/rrc_scrollview.dir/ScrollViewShadowNode.cpp.o [134/515] Building CXX object ReactCommon/react/renderer/components/scrollview/CMakeFiles/rrc_scrollview.dir/ScrollViewProps.cpp.o [135/515] Building CXX object ReactCommon/react/renderer/textlayoutmanager/CMakeFiles/react_render_textlayoutmanager.dir/TextMeasureCache.cpp.o [136/515] Building CXX object ReactCommon/react/renderer/textlayoutmanager/CMakeFiles/react_render_textlayoutmanager.dir/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp.o ninja: build stopped: subcommand failed. C++ build system [build] failed while executing: /Users//Library/Android/sdk/cmake/3.22.1/bin/ninja \ -C \ /Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid/.cxx/Debug/6k3y2a54/arm64-v8a \ bridgeless \ fabricjni \ folly_runtime \ glog \ hermes_executor \ hermesinstancejni \ jscexecutor \ jscinstance \ jsi \ jsijniprofiler \ jsinspector \ react_codegen_rncore \ react_debug \ react_nativemodule_core \ react_newarchdefaults \ react_render_animations \ react_render_componentregistry \ react_render_core \ react_render_debug \ react_render_graphics \ react_render_imagemanager \ react_render_mapbuffer \ react_render_mounting \ react_render_scheduler \ react_render_uimanager \ react_utils \ reactnative_unittest \ reactnativeblob \ reactnativejni \ reactperfloggerjni \ rninstance \ rrc_image \ rrc_legacyviewmanagerinterop \ rrc_root \ rrc_view \ runtimeexecutor \ turbomodulejsijni \ uimanagerjni \ yoga from /Users//workspace/react-native/-mobile/node_modules/react-native/ReactAndroid * Try:

@EvertEt
Copy link

EvertEt commented Apr 8, 2024

@cortinico Not sure how the process works with RCs, so I'm wondering if this also needs to be picked to 0.74 actually or not? Thanks!

@cortinico cortinico changed the title [0.73,0.72] Fix possible deadlock in dispatchViewUpdates [0.74,0.73,0.72] Fix possible deadlock in dispatchViewUpdates Apr 8, 2024
@cortinico
Copy link
Collaborator

@cortinico Not sure how the process works with RCs, so I'm wondering if this also needs to be picked to 0.74 actually or not? Thanks!

I've included it for 0.74 as well

@cortinico cortinico moved this from Inbox to Needs Pick in React Native 0.73 Releases Apr 9, 2024
@cortinico cortinico moved this from Inbox to Done / Picked in React Native 0.74 Releases Apr 9, 2024
@cortinico
Copy link
Collaborator

✅ Picked, this will land in 0.74 RC8

@github-project-automation github-project-automation bot moved this from Inbox to Needs Confirmation in React Native 0.72 Releases Apr 10, 2024
@github-project-automation github-project-automation bot moved this from Needs Pick to Needs Confirmation in React Native 0.73 Releases Apr 10, 2024
@alfonsocj alfonsocj moved this from Needs Confirmation to Done / Picked in React Native 0.73 Releases Apr 12, 2024
@jackylu0124
Copy link

Hey all, I have a quick question, in which 0.72 version can I find this fix? Thanks a lot in advance!

@EvertEt
Copy link

EvertEt commented Apr 17, 2024

@jackylu0124 In 0.72 this will be in 0.72.13 which is not released yet.

@thenewyork
Copy link

Thank you @alfonsocj, hope this will also come in 0.73 soon. My newly launched app seems a bit laggy in some devices may be due to this.

@alfonsocj
Copy link

@thenewyork 0.73.7 is out with this fix.

@thenewyork
Copy link

@alfonsocj Very very helpful. Can't appreciate enough.

@efstathiosntonas
Copy link
Author

is it just me or performance increased a lot? 🤔

@n10l
Copy link

n10l commented Apr 19, 2024

@efstathiosntonas Unlike expected, I too don't see a noticeable performance improvement after upgrading, and still have the original problem. But, thanks everyone for merging this fix, waited desperately for this. Now, need to look into other ways.

@n10l
Copy link

n10l commented Apr 19, 2024

@efstathiosntonas My bad, I am already using useSafeAreaInsets instead of SafeAreaView which doesn't have this problem as per the linked issue, so this doesn't affect my app anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type Pick Request Pick requests to include commits inside a React Native release
Projects
No open projects
Status: Needs Confirmation
Status: Done / Picked
Status: Done / Picked
Development

No branches or pull requests

7 participants