You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(runner): drop dead-on-arrival toolbox HTTP readiness check
waitForToolboxReady was introduced in fc88aa0 (2026-06-05,
"feat: add agent-ready runtime catalog", which then landed on main
via PR #715 on 2026-06-10). It HTTP-polls http://127.0.0.1:<hostPort>/version
expecting a daemon on guest TCP port 2280 — that interface dates from
the Daytona-daemon era and was never reimplemented after the Rust
guest agent rewrite landed in dbb11ec (2026-04-01). The new agent
binds **vsock://2695** for gRPC + notifies the host via vsock://2696;
nothing inside the VM listens on TCP:2280, so libkrun's port-forward
accepts the SYN and immediately reset-by-peer's, and every CREATE_BOX
times out 30 s in.
Production data from a Tokyo runner: in 24 h, 490 CREATE_BOX events,
0 toolbox-ready successes, 181 toolbox-ready failures. The exec path
that fires immediately afterward (via the same vsock gRPC channel)
**always succeeds** — confirming the box VM is healthy, the readiness
check itself is the bug.
Remove the dead probe: drop waitForToolboxReady from client.go's Create
and Start, drop the function + its TCP/HTTP imports, drop the
toolboxReadyTimeout field, drop the ToolboxReadyTimeout/
DaemonStartTimeoutSec config plumbing in main.go + config.go, drop
the two now-unreachable tests. Box readiness is now signalled by
bx.Start(ctx) returning (which itself blocks on the vsock notification
from the guest).
Branched off chore/e2e-required-merge-gate (PR #724) so the e2e-cloud
stack picks this up next dispatch.
0 commit comments