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.77] Fix RN-Tester JSC instacrashing #48417

Merged
merged 1 commit into from
Dec 31, 2024
Merged

Conversation

cortinico
Copy link
Contributor

Summary:

RNTester JSC Debug is currently insta-crashing on the 0.77 release branch due to:

12-31 10:59:36.388 15165 15204 E ReactNativeJS: React Native version mismatch.
12-31 10:59:36.388 15165 15204 E ReactNativeJS:
12-31 10:59:36.388 15165 15204 E ReactNativeJS: JavaScript version: 0.77.0-rc.5
12-31 10:59:36.388 15165 15204 E ReactNativeJS: Native version: 1000.0.0-bb9d7ad9a
12-31 10:59:36.388 15165 15204 E ReactNativeJS:
12-31 10:59:36.388 15165 15204 E ReactNativeJS: Make sure that you have rebuilt the native code. If the problem persists try clearing the Watchman and packager caches with `watchman watch-del-all && npx react-native start --reset-cache`.

This is causing a console.error that is resulting in the crash as one of the frame in the stack doesn't have the line/column number information. Calling .putDouble(string,double) is forcing a conversion from null -> double which is result in the crash.

This is happening only on CI because the set-rn-version step on GitHub Action is executed with --dry-run (as this is not a release run) so the version of React Native is set back to 1000.0.0-<SHA>. Locally this doesn't happen because the React Native version is read from the local file which is never manipulated by the set-rn-version.

Changelog:

[ANDROID] [FIXED] - Fix JSC Debug instacrashing

Test Plan:

Can be tested locally by commenting those lines in the packages/react-native/Libraries/Core/ReactNativeVersionCheck.js file

const checkVersions = function checkVersions(): void {
  const nativeVersion = Platform.constants.reactNativeVersion;
- if (
-   ReactNativeVersion.version.major !== nativeVersion.major ||
-   ReactNativeVersion.version.minor !== nativeVersion.minor
- ) {
    console.error(
      `React Native version mismatch.\n\nJavaScript version: ${_formatVersion(
        (ReactNativeVersion.version: $FlowFixMe),
      )}\n` +
        `Native version: ${_formatVersion(nativeVersion)}\n\n` +
        'Make sure that you have rebuilt the native code. If the problem ' +
        'persists try clearing the Watchman and packager caches with ' +
        '`watchman watch-del-all && npx react-native start --reset-cache`.',
    );
- }
};

@facebook-github-bot facebook-github-bot added 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 labels Dec 31, 2024
@cortinico cortinico merged commit 17a5d2b into 0.77-stable Dec 31, 2024
60 checks passed
@robhogan
Copy link
Contributor

robhogan commented Jan 6, 2025

(For posterity, corresponding change to main was in #48418)

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 Pick Request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants