Skip to content

Retry RNTester build after Apple clang frontend crash - #59118

Open
cortinico wants to merge 1 commit into
react:mainfrom
cortinico:ci/retry-apple-clang-frontend-crash
Open

cortinico wants to merge 1 commit into
react:mainfrom
cortinico:ci/retry-apple-clang-frontend-crash

Conversation

@cortinico

Copy link
Copy Markdown
Contributor

Summary:

The default-branch Test All run for commit 9b7c956c356f0257adf453ff5791b6508f5ab869 hit an Apple clang frontend crash while compiling RNTMyNativeViewComponentView.mm with Xcode 16.4:

  • clang: error: unable to execute command: Segmentation fault: 11
  • clang: error: clang frontend command failed due to signal

That build never uploaded RNTesterApp-NewArch-Debug, so the downstream Debug E2E check also failed while downloading the missing artifact. The parent commit and the preceding 14 sampled test_ios_rntester (Debug, false) jobs passed, including the same compiler invocation on the parent SHA. The only commit in the chronological range (cca720709a74c797f30df9e6a96832fabc88c8d5..9b7c956c356f0257adf453ff5791b6508f5ab869) changes Android test-helper names and comments/documentation; it does not change the failing Objective-C++ source. This makes a hosted compiler crash much more likely than a deterministic source regression, although a local Xcode 16.4 reproduction was not available.

This change retries the RNTester build once only when both observed Apple clang crash signatures are present. It removes DerivedData before retrying. Other build failures are not retried, and a repeated clang crash still fails the job.

Failure: https://github.com/react/react-native/actions/runs/38760856731/job/116533978498

Dependent missing-artifact failure: https://github.com/react/react-native/actions/runs/38760856731/job/116538539515

Risk / limitations: The retry is intentionally limited to this exact compiler-crash signature and one additional attempt. It does not address the underlying Apple clang defect. Full RNTester reproduction was not practical locally because the available machine has Xcode 26.6 rather than the hosted Xcode 16.4 environment.

Changelog:

[INTERNAL] [FIXED] - Retry the RNTester iOS build once when Apple clang itself crashes.

Test Plan:

  • git diff --check — passed.
  • Parsed .github/actions/test-ios-rntester/action.yml with Ruby's YAML parser — passed.
  • Extracted and exercised the modified Build RNTester shell block with a fake xcodebuild in four scenarios:
    • first attempt succeeds: 1 invocation, success;
    • matching compiler crash then success: 2 invocations, success;
    • matching compiler crash twice: 2 invocations, failure;
    • unrelated deterministic compile error: 1 invocation, failure.
  • Did not run the full RNTester iOS build locally; the available Xcode version does not match CI's Xcode 16.4.

@cortinico
cortinico requested a review from cipolleschi October 15, 2026 16:31
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 15, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant