Skip to content

Gateway-upgrade E2E races dashboard forwarding before the recreated sandbox is ready #9050

Description

@cv

Investigation Summary

  • All five gateway-upgrade shards passed at commit 48a81588.
  • At the release candidate, three shards pass and two fail.
  • Both failures recreate the sandbox, then start dashboard forwarding before OpenShell reports it ready.
  • OpenShell returns sandbox is not ready; recovery deletes the sandbox.
  • PR fix(onboard): return nonzero for incomplete flow #9020 exposes the incomplete upgrade with exit code 1 but does not cause the readiness failure.

Description

Upgrade recovery must wait for the recreated sandbox readiness boundary before it starts dashboard forwarding.

The Arm64 v0.0.55 and x86-64 v0.0.36 shards fail at the same point. Other upgrade shards pass at the same commit, which indicates a timing-sensitive readiness race.

Reproduction Steps

  1. Run the v0.0.55 Arm64 or v0.0.36 x86-64 gateway-upgrade E2E target.
  2. Let the installer recreate the existing sandbox.
  3. Observe the readiness wait and dashboard-forward startup.
  4. Observe that forwarding receives sandbox is not ready.
  5. Observe that recovery deletes the recreated sandbox and returns exit code 1.

Environment

Debug Output

Waiting for sandbox to become ready...
Failed to start dashboard forward on port 18789:
sandbox is not ready

Acceptance Evidence

  • Recovery verifies the exact recreated sandbox identity and ready state before forwarding.
  • The wait has a bounded timeout and preserves diagnostics on failure.
  • A transient not-ready response does not delete a sandbox that is still starting.
  • Deterministic tests cover delayed readiness and terminal failure.
  • All five gateway-upgrade shards pass for the same exact candidate commit.

Checklist

  • I confirmed this bug is reproducible
  • I searched existing issues and this is not a duplicate

Activity

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

Metadata

Metadata

Assignees

Labels

area: e2eEnd-to-end tests, nightly failures, or validation infrastructurearea: onboardingOnboarding FSM, provider setup, sandbox launch, or first-run flowarea: sandboxOpenShell sandbox lifecycle, runtime, config, or recovery

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions