Kill timed-out Kiro/Augment/Vertex CLI children - #404
Conversation
tokio::process::Command defaults kill_on_drop to false, so desktop refresh timeouts dropped Child handles and left kiro-cli, auggie, and gcloud running. Route those fetch-path spawns through a helper that opts into kill_on_drop and kill+waits on an inner deadline like command_runner. Co-authored-by: Tyler <tyler@southboundsoftware.com>
|
Warning Review limit reachedNext included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ceiling | a0c1894 | Commit Preview URL Branch Preview URL |
Aug 23 2026, 10:25 PM |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_96e55574-aa2e-4ab6-a800-d2b9f59bb563) |
Summary
Desktop refresh wraps
Provider::fetch_usageintokio::time::timeout. Kiro, Augment, and Vertex spawnedtokio::process::Commandwithoutkill_on_drop, so a cancelled fetch dropped theChild(defaultfalse) and leftkiro-cli/auggie/gcloudrunning.Those fetch-path commands now go through
rust/src/host/tokio_cli.rs, which setskill_on_drop(true). Augment's inner 15s deadline also kill+waits likecommand_runner::finish_child.Related issue
Closes SBS-1078.
Affected areas
Validation
Hosted CI is the merge gate.
scripts\local-check.ps1is Windows-only and was not run in this Linux agent.Hosted CI (commit
a0c18940)Workflow CI #32670530359 — success (5m6s)
worker.test.mjs: 10 pass / 0 fail;check-tauri-version-sync: OK;pnpm test: 93 files / 741 tests passed;pnpm run build:✓ built in 1.71scargo fmt --all --check;cargo test --manifest-path rust/Cargo.toml: 1222 + 25 passed, 0 failed;cargo clippy --all-targets -- -D warningscargo test --manifest-path apps/desktop-tauri/src-tauri/Cargo.toml: 631 passed, 0 failed;cargo clippy --all-targets -- -D warningsCodeQL Analyze (actions / javascript-typescript / rust) also passed.
github-advanced-security/ "Code scanning AI findings" failed withSessionModelError: You are not licensed to use Copilot(run 32670531160). That is a Copilot Autofind license error, not a code finding, and it is not a required check.Local (Linux, rustc 1.98.0)
Linux
clippy -D warningson the shared crate hits two pre-existing Windows-only unused items (secure_file.rs:824,updater.rs:514). HostedRust / sharedonwindows-latestis the clippy gate and passed.UI / tray proof
Notes for reviewers
tokio::process::Commandin provider fetch paths (Kiro whoami +/usage, Augmentaccount status, Vertexgcloud auth print-access-token). Syncstd::process::Commandprobes (Kiro--version, Codex/Claude path checks) are unchanged.Note
Kill timed-out Kiro, Augment, and Vertex CLI child processes via
tokio_clihelperscrate::host::tokio_cliwithoutputandoutput_with_timeoutasync helpers that setkill_on_drop(true)on spawned processes; on timeout the helper force-kills and reaps the childoutput_with_timeoutwith its existing 15s deadline, mappingError::TimedOuttoProviderError::TimeoutandError::IotoProviderError::Othergcloud auth print-access-tokenfetches totokio_cli::output, so canceled futures kill the child instead of leaving it runningtokio_climust handle the newError::TimedOutvariantMacroscope summarized a0c1894.