Skip to content

Commit

Permalink
Fix RN-Tester JSC instacrashing (#48418)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: #48418

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

Reviewed By: cipolleschi

Differential Revision: D67735962

fbshipit-source-id: 363218385277374d33b8313cacd14159b2f17106
  • Loading branch information
cortinico authored and facebook-github-bot committed Dec 31, 2024
1 parent 920867d commit b10491a
Showing 1 changed file with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,12 @@ public static JavaOnlyMap convertProcessedError(ProcessedError error) {
List<ReadableMap> readableMapList = new ArrayList<>();
for (ProcessedError.StackFrame frame : frames) {
JavaOnlyMap map = new JavaOnlyMap();
map.putDouble(COLUMN_KEY, frame.getColumn());
map.putDouble(LINE_NUMBER_KEY, frame.getLineNumber());
if (frame.getColumn() != null) {
map.putDouble(COLUMN_KEY, frame.getColumn());
}
if (frame.getLineNumber() != null) {
map.putDouble(LINE_NUMBER_KEY, frame.getLineNumber());
}
map.putString(FILE_KEY, (String) frame.getFile());
map.putString(METHOD_NAME_KEY, (String) frame.getMethodName());
readableMapList.add(map);
Expand Down

0 comments on commit b10491a

Please sign in to comment.