Skip to content

fix(linux): chrome-sandbox SUID and gaia init non-interactive mode - #743

Merged
itomek merged 1 commit into
mainfrom
tomas/fix-linux-installer-bugs
Apr 10, 2026
Merged

itomek merged 1 commit into
mainfrom
tomas/fix-linux-installer-bugs

Conversation

@itomek

@itomek itomek commented Apr 10, 2026

Copy link
Copy Markdown
Collaborator

Fixes two critical bugs found during end-to-end install testing on Ubuntu 24.04 (amd64), testing against PR #731.

Bug 1: chrome-sandbox missing SUID bit

Symptom: App crashes immediately after apt install with:

FATAL: The SUID sandbox helper binary was found, but is not configured correctly.
Rather than run without sandboxing I'm aborting now. You need to make sure that
/opt/GAIA/chrome-sandbox is owned by root and has mode 4755.

Root cause: electron-builder packages chrome-sandbox with mode 755. Chromium's sandbox helper requires 4755 (setuid root) to function. Without it, no user can launch the app after a clean install.

Fix: installer/debian/postinst now sets chown root:root + chmod 4755 on /opt/GAIA/chrome-sandbox during package configuration, which runs as root via apt.

Bug 2: Model download silently skipped — app crashes when user types

Symptom: Bootstrap completes and reports ready, but Qwen3-0.6B is never downloaded. Lemonade has no model loaded, so the app crashes when the user sends their first message.

Root cause: backend-installer.cjs runs gaia init --profile minimal with piped stdio (for log streaming). With no TTY attached, gaia init's interactive prompts ("Continue? [Y/n]:" and "Run model verification? [Y/n]:") receive EOF and answer themselves as "Skipping". The non-zero-ish exit is treated as non-fatal, so state reaches ready despite no model existing.

Fix: Pass --yes to gaia init so prompts are auto-answered. The flag already exists for this purpose.

Testing

Both bugs reproduced on Ubuntu 24.04.4 LTS (x86_64, kernel 6.17) with the .deb from CI run 24255947495. Verified manually:

  • Before fix: immediate crash on launch (Bug 1), silent model skip + crash on chat (Bug 2)
  • After applying patches locally: app launches, bootstrap downloads model, chat works

Closes part of #530.

@itomek
itomek requested a review from kovtcharov-amd as a code owner April 10, 2026 18:47
@github-actions github-actions Bot added the installer Installer changes label Apr 10, 2026
Base automatically changed from kalin/desktop-installer to main April 10, 2026 19:02
Two bugs found during end-to-end install testing on Ubuntu 24.04:

1. chrome-sandbox missing SUID bit — Electron's Chromium sandbox helper
   requires mode 4755 (setuid root) but electron-builder packages it as
   755. The app crashes immediately on launch with a fatal sandbox error.
   Fix: postinst now runs chown root:root + chmod 4755 on the binary.

2. gaia init silently skips model download — backend-installer.cjs runs
   gaia init with piped stdio (for log streaming), so interactive prompts
   receive EOF and answer themselves as "Skipping". No model is downloaded
   but state reaches "ready", causing the app to crash when the user sends
   a message. Fix: pass --yes to gaia init so prompts are auto-answered.
@itomek
itomek force-pushed the tomas/fix-linux-installer-bugs branch from 23bafb1 to 7e8c606 Compare April 10, 2026 19:10
@itomek
itomek added this pull request to the merge queue Apr 10, 2026
Merged via the queue into main with commit df7a0ae Apr 10, 2026
17 checks passed
@itomek
itomek deleted the tomas/fix-linux-installer-bugs branch April 10, 2026 19:11
@itomek itomek mentioned this pull request Apr 10, 2026
github-merge-queue Bot pushed a commit that referenced this pull request Apr 10, 2026
Release notes for v0.17.2. See
[docs/releases/v0.17.2.mdx](https://github.com/amd/gaia/blob/v0.17.2-release/docs/releases/v0.17.2.mdx)
for the full body.

**Headline features:**
- One-click desktop installers for Windows, macOS, and Linux (#731 +
#743)
- Customizable agents and Builder Agent (#720)
- MCP tool execution visibility in Agent Activity panel (#717)

**Security:** RAG cache integrity verification (#722, closes #447)

**Bug fixes:** drag-and-drop upload in any browser (#729), Linux install
fixes (#743)

**Release & CI:** unified publish workflow (#715), Claude review on fork
PRs (#685), npm OIDC fix (#683), webui package.json sync (#682)

Full changelog: v0.17.1...v0.17.2

---------

Co-authored-by: Tomasz Iniewicz <tomasz@iniewicz.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

installer Installer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants