Describe the bug
The OrbStack Docker VM (hosted by OrbStack Helper as the launchd service com.apple.Virtualization.VirtualMachine) exits cleanly on its own at random intervals (observed 3–16 minutes) while containers are running. The OrbStack GUI app stays alive the whole time. Containers receive SIGTERM and stop (ExitCode 0), all forwarded ports die, and ~/.orbstack/run/docker.sock disappears until the engine is manually restarted via orb start.
The container is never the initiator — it is always terminated as part of a coordinated VM shutdown.
Environment
- OrbStack 2.2.3 (2020300), installed 2026-08-25
- macOS 26.6.1 (25G76), Apple Silicon (arm64)
- On battery (29–47%), Low Power Mode off
- Workload: a single long-lived web-service container (
new-api), started with --restart unless-stopped
Evidence
1. Container layer — graceful SIGTERM, not a crash
Container ExitCode 0, RestartCount 0, OOMKilled=false; container logs: received signal: terminated, shutting down...
2. VM layer — vmgr receives an external stop request
vmgr | msg="Received signal, requesting stop"
vmgr | msg="stop requested" reason=0
kernel: received signal 15; shutting down
kernel: reboot: Power down
3. GUI layer — the GUI app survives (same PID across multiple VM deaths) and logs the same sequence at every death:
docker changed
synthetic state -> starting
k8s changed
Daemon exited: status 0
Host exit diagnostics:
- reason: status 0
- raw wait status: 0 (0x00000000)
- raw flags: 0x86000000
- exit detail: none
synthetic state -> stopped
4. launchd — Helper service torn down:
[pid/98342 [OrbStack Helper]:] shutting down
[pid/98342/com.apple.Virtualization.VirtualMachine:] internal event: PETRIFIED
[system:] removing child: pid/98342
Observed daemon uptimes before spontaneous exit
| daemon start |
exit |
uptime |
| 01:46:54 |
01:52:15 |
5m21s |
| 02:03:39 |
02:19:53 |
16m14s |
| 02:59:08 |
03:04:36 |
5m28s |
| 03:07:11 |
03:10:11 |
3m00s |
Control experiments / ruled out
- Not idle/energy misjudgment: ran a busy loop (
yes > /dev/null) inside the container pegging a vCPU — the VM still exited after exactly 3m00s.
- Not system sleep:
pmset -g log shows no Entering Sleep events in any of the death windows (01:00–03:12).
- Not memory pressure / jetsam: zero matching events.
- Not a crash: no
.ips crash reports; every exit is clean (status 0).
- Not auto-update: app bundle unchanged since 2026-08-25, still 2.2.3.
- No external killer: crontab audited (one unrelated broken entry, since removed); no launchd agents touch OrbStack.
- Docker CLI activity does not prevent it: a
docker exec ran 2 min before one death; a docker ps ran 26 s before another.
- No config toggle: probed
orb config exhaustively — no key related to idle/stop/shutdown exists.
Related issues
Expected behavior
The Docker engine should keep running as long as containers exist — regardless of CPU activity — and never exit without an explicit user/automation request.
Happy to run orb diagnostics and attach the bundle, or capture more targeted logs on request.
Describe the bug
The OrbStack Docker VM (hosted by OrbStack Helper as the launchd service
com.apple.Virtualization.VirtualMachine) exits cleanly on its own at random intervals (observed 3–16 minutes) while containers are running. The OrbStack GUI app stays alive the whole time. Containers receive SIGTERM and stop (ExitCode 0), all forwarded ports die, and~/.orbstack/run/docker.sockdisappears until the engine is manually restarted viaorb start.The container is never the initiator — it is always terminated as part of a coordinated VM shutdown.
Environment
new-api), started with--restart unless-stoppedEvidence
1. Container layer — graceful SIGTERM, not a crash
Container
ExitCode 0,RestartCount 0,OOMKilled=false; container logs:received signal: terminated, shutting down...2. VM layer — vmgr receives an external stop request
3. GUI layer — the GUI app survives (same PID across multiple VM deaths) and logs the same sequence at every death:
4. launchd — Helper service torn down:
Observed daemon uptimes before spontaneous exit
Control experiments / ruled out
yes > /dev/null) inside the container pegging a vCPU — the VM still exited after exactly 3m00s.pmset -g logshows noEntering Sleepevents in any of the death windows (01:00–03:12)..ipscrash reports; every exit is clean (status 0).docker execran 2 min before one death; adocker psran 26 s before another.orb configexhaustively — no key related to idle/stop/shutdown exists.Related issues
Expected behavior
The Docker engine should keep running as long as containers exist — regardless of CPU activity — and never exit without an explicit user/automation request.
Happy to run
orb diagnosticsand attach the bundle, or capture more targeted logs on request.