Skip to content
This repository was archived by the owner on Nov 14, 2025. It is now read-only.

Conversation

@jkoutavas
Copy link

@jkoutavas jkoutavas commented May 16, 2025

This PR is in draft until we figure out what we want to do for a Test Plan

Summary:

This React Native Android fix hardens the Fabric InteropUiBlockListener against ConcurrentModificationException crashes in willMountItems and didMountItems. By iterating over a shallow copy of the UI‐block lists and catching any mid‐iteration mutations, we ensure the listener never throws during a UI frame and always clears its pending blocks.

The issue was first reported in React Native Issue #49783, and although React Native PR#50091 was closed and not merged, the work in that PR did make it to React Native in commit 17da3cb. However, the fix didn't go far enough. We saw intermittent examples of this exception being thrown when swiping through a carousel from react-native-reanimated-carousel. This fix goes right to the exception site itself.

Changelog:

[ANDROID|INTERNAL] [FIXED] - Hardened the Fabric InteropUiBlockListener against ConcurrentModificationException crashes in willMountItems and didMountItems

Test Plan:

(TBD)

@jkoutavas jkoutavas changed the base branch from main to release/0.79.2 May 16, 2025 13:10
@jkoutavas jkoutavas changed the base branch from release/0.79.2 to main May 27, 2025 13:53
@jkoutavas jkoutavas changed the base branch from main to release/0.79.2 May 27, 2025 13:54
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants