Skip to content

Fix whitespace in React Native DevTools Linux app path - #59232

Closed
huntie wants to merge 1 commit into
mainfrom
pr59232
Closed

huntie wants to merge 1 commit into
mainfrom
pr59232

Conversation

@huntie

@huntie huntie commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary:

On Linux systems without unprivileged user namespaces (e.g. Ubuntu 23.10+), Chromium launches child processes through the chrome-sandbox helper, and the space in the app path (React Native DevTools-linux-x64/) breaks that launch, so DevTools crashes on startup. On 0.83 this surfaced as "An unknown error occurred while installing React Native DevTools".

Package the Linux app as react-native-devtools (react-native-devtools-linux-<arch>/react-native-devtools), the usual Linux executable naming. macOS and Windows are unchanged, and the runtime app name stays "React Native DevTools", so the window title and ~/.config/React Native DevTools user data dir are preserved.

Notes

  • packages/debugger-shell/bin/react-native-devtools is generated from published binaries; its Linux path entries change with the next binary update.
  • The SUID sandbox still needs chrome-sandbox owned by root with mode 4755; this removes the failure that remains once it is.

Fixes #54906

Changelog:
[General][Fixed] - React Native DevTools: Fix launch failure when Chromium uses the SUID sandbox (Linux)

Test Plan:

Ran node scripts/debugger-shell/build-binary.js on Debian 13 (x86_64); Linux output is react-native-devtools-linux-{x64,arm64}/react-native-devtools. Served the x64 build through a local DotSlash file and launched it via unstable_spawnDebuggerShellWithArgs with --disable-namespace-sandbox to force the SUID sandbox path (chrome-sandbox root, 4755):

Build Result
Released binary ❌ LaunchProcess: failed to execvp: …/React, FATAL:zygote_host_impl_linux.cc:207
This change ✅ Launches, prints @react-native/debugger-shell v0.87.0-main
Before / after launch output (Debian 13) Patched app window (Debian 13)
before-after-debian13.png rndt-window.png

ℹ️ Debian 13, not Ubuntu; SUID fallback forced by flag rather than AppArmor. macOS packaging fails on Linux hosts (Icon Composer), unrelated to this change.

@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 20, 2026
@huntie
huntie requested review from motiz88 and vzaidman October 20, 2026 15:48
@huntie
huntie marked this pull request as ready for review October 20, 2026 15:54
@facebook-github-tools facebook-github-tools Bot added the Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. label Oct 20, 2026
@meta-codesync

meta-codesync Bot commented Oct 20, 2026

Copy link
Copy Markdown

@cortinico has imported this pull request. If you are a Meta employee, you can view this in D126430803.

@meta-codesync meta-codesync Bot closed this in 954a7c2 Oct 20, 2026
@react-native-bot react-native-bot added the Merged This PR has been merged. label Oct 20, 2026
@react-native-bot

Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @huntie in 954a7c2

When will my fix make it into a release? | How to file a pick request?

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. Merged This PR has been merged. p: Expo Partner: Expo Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Ubuntu] An unknown error occurred while installing React Native DevTools

2 participants