fix(cli): stop `start` and `stop` failing on podman (CLI-2696) by 7ttp · Pull Request #7270 · supabase/cli · GitHub
Skip to content

fix(cli): stop start and stop failing on podman (CLI-2696) - #7270

Open
7ttp wants to merge 1 commit into
developfrom
7ttp/cli-2696-supabase-start-and-supabase-stop-fail-intermittently-on
Open

7ttp wants to merge 1 commit into
developfrom
7ttp/cli-2696-supabase-start-and-supabase-stop-fail-intermittently-on

Conversation

@7ttp

@7ttp 7ttp commented Oct 21, 2026

Copy link
Copy Markdown
Member

TL;DR

fixes supabase start and supabase stop failing every few runs on podman machine

whats hurting the user?

on macOS with podman machine and no docker on PATH, supabase start fails every few runs with failed to inspect docker image and ssh: handshake failed: EOF

supabase stop fails the same way with failed to stop container: exit 125 and leaves the stack behind

both fire one podman call per image or container all at once, and each call opens its own ssh session into the VM, whose sshd drops new ones once ten are still in the handshake

now fixed by?

capping those calls at 8 in flight so every handshake gets accepted, rather than retrying, which would only hide the drops and add delay

Note

docker shares the same cap, so stopping more than 8 containers that ignore their stop signal, so it can take an extra smol grace period...

visual rep:
flowchart LR
  subgraph before["before"]
    A["start / stop"] --> B["one podman call per image or container, all at once"]
    B --> C["sshd drops past ten handshakes"]
    C --> D["start / stop fail"]
  end
  subgraph now["now"]
    E["start / stop"] --> F["at most 8 podman calls in flight"]
    F --> G["all handshakes accepted"]
  end
Loading

ref:

@7ttp 7ttp self-assigned this Oct 21, 2026
@7ttp
7ttp requested a review from a team as a code owner October 21, 2026 09:30

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI Review

Both independent reviews were available. Claude’s sole documentation nit is refuted: the comments remain accurate for bounded concurrency, and the stop timing change is documented. Static inspection found no additional actionable issues; tests were not run.

Findings

No issues found.

Refuted findings (kept for transparency, not posted as review comments)
  • apps/cli/src/command-internal/docker-remove-all.ts:140 (documentation): The function documentation and inline stop comment still imply that every container stops at once despite the new concurrency cap.
    Refuted: Neither comment promises simultaneous starts or unbounded concurrency. The Effect.all call at lines 167–175 still stops every container concurrently, with a limit of eight. commands/stop/SIDE_EFFECTS.md:175–177 explicitly documents the cap and additional grace periods. The trusted root CLAUDE.md comment policy also discourages restating maintained documentation in comments.

Stats

Claude findings: 1 · Codex findings: 0 · Confirmed: 0 · Refuted: 1 · Uncertain: 0


Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: auto · Workflow run

This review runs once per PR. A maintainer can request another with a /ai-review comment.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant