Conversation
… to start
Motivation: On CPUs that lack AVX/AVX2, the Antigravity runtime binary
crashes on startup with SIGILL during post-install validation. The
server reports one fixed generic message ("The downloaded Antigravity
runtime could not start in this environment.") for every validation
failure, so users mistake the illegal-instruction crash for archive
corruption or a permissions/WSL issue and repeatedly re-download the
682 MB archive with no way to self-diagnose.
Approach: In AntigravityInstallation.ts, the validate effect's error
mapping now inspects the failure's cause chain for the signal that
killed the child process (effect/platform's node child-process spawner
raises "Process interrupted due to receipt of signal: '<signal>'" when
a process exits via signal, which is preserved through PlatformError
and AcpTransportError's cause fields). When that signal is SIGILL, the
detail message now names the illegal-instruction crash and points at
missing AVX/AVX2 CPU support as the likely cause; every other failure
keeps the original generic message unchanged. This does not attempt a
CPU-flag pre-flight check (the issue's other proposed option); it only
makes the existing failure legible instead of adding a new check.
Validation: `npx vp test run src/provider/AntigravityInstallation.validationFailure.test.ts src/provider/AntigravityInstallation.test.ts`
(run from apps/server) - the new test file's 7 tests (signal
extraction, chained-cause traversal, no-signal fallback, non-Error
input, cyclical-cause bound, and both branches of the detail message)
all pass, and all 29 previously-passing tests in
AntigravityInstallation.test.ts still pass. One pre-existing,
unrelated test in that file fails on this machine due to macOS
resolving /tmp to /private/tmp; confirmed pre-existing by stashing
this change and reproducing the identical failure before restoring
it. Also ran `npx vp run typecheck` (apps/server) - exit 0, no new
diagnostics - and `npx vp lint --report-unused-disable-directives` on
the touched files - clean.
Report: pingdotgg#11414
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Assisted-by: claude-sonnet-5 (via Claude Code)
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The change is a narrow server-side diagnostic improvement: existing validation behavior is unchanged, while SIGILL failures receive a more actionable AVX/AVX2 message and other failures retain the old detail. The accompanying tests are isolated to the new cause-chain parsing logic. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe change adds chained-cause signal detection for Antigravity validation failures. It reports a SIGILL-specific AVX message, preserves existing installation errors, and adds tests for signal extraction, cyclic causes, and fallback messages. ChangesAntigravity validation
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~15 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Superseded by #13387. |
What Changed
In
AntigravityInstallation.ts, the validate effect's error mapping now inspects the failure's cause chain for the signal that killed the child process (effect/platform's node child-process spawner raises "Process interrupted due to receipt of signal: ''" when a process exits via signal, preserved throughPlatformErrorandAcpTransportError's cause fields). When that signal is SIGILL, the detail message now names the illegal-instruction crash and points at missing AVX/AVX2 CPU support as the likely cause; every other failure keeps the original generic message unchanged. This does not add a CPU-flag pre-flight check (the issue's other proposed option) — it only makes the existing failure legible.Why
On CPUs that lack AVX/AVX2, the Antigravity runtime binary crashes on startup with SIGILL during post-install validation. The server reports one fixed generic message ("The downloaded Antigravity runtime could not start in this environment.") for every validation failure, so users mistake the illegal-instruction crash for archive corruption or a permissions/WSL issue and repeatedly re-download the 682 MB archive with no way to self-diagnose.
Report: #11414
UI Changes
None — this changes a server-side diagnostic message only.
Checklist
Validation:
npx vp test run src/provider/AntigravityInstallation.validationFailure.test.ts src/provider/AntigravityInstallation.test.ts(run from apps/server) — the new test file's 7 tests (signal extraction, chained-cause traversal, no-signal fallback, non-Error input, cyclical-cause bound, and both branches of the detail message) all pass, and all 29 previously-passing tests inAntigravityInstallation.test.tsstill pass. One pre-existing, unrelated test in that file fails on this machine due to macOS resolving/tmpto/private/tmp; confirmed pre-existing by stashing this change and reproducing the identical failure before restoring it. Also rannpx vp run typecheck(apps/server) — exit 0, no new diagnostics — andnpx vp lint --report-unused-disable-directiveson the touched files — clean.Signed-off-by: Pujitha Paladugu 10557236+pujitha24@users.noreply.github.com
Assisted-by: claude-sonnet-5 (via Claude Code)
Fixes #11414
Summary by CodeRabbit
Bug Fixes
Tests