e2b-dev / e2b-dev/runtime

client-proxy 502 errors & orchestration-api snapshot not found: poor observability and ambiguous error messages

Open
#2,730 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
1.6k
Forks
438
PR merge metrics
No merged PRs in 30d

Description

Summary

In production environments, we are observing two critical issues that lead to sandbox startup failures, ambiguous user-facing errors, and poor debuggability:

  1. client-proxy floods with 502 Reverse proxy errors

    • No upstream health checking
    • No TCP/grpc connectivity validation before forwarding
    • Returns generic 502 instead of meaningful 503 Service Unavailable
    • Causes sandbox process startup to fail intermittently
  2. orchestration-api returns misleading 404 on snapshot not found

    • Log: snapshot not found
    • User error: Sandbox doesn't exist or you don't have access to it
    • No detailed logging for why snapshot lookup failed (missing object, path, permissions, cache)
    • Service still registers routes as ready despite being unable to serve snapshots

These issues make it extremely hard to debug sandbox startup failures and provide a bad user experience.

Log Evidence

client-proxy 502
Reverse proxy error {"service": "client-proxy", "shturl.cc/": "im2pa8g5739aezjy57vr1", "target_hostname": "10.254.73.19", "target_port": "5007", "status_code": 502}

orchestration-api snapshot not found
snapshot not found {"service": "orchestration-api", "shturl.cc/": "im2pa8g5739aezjy57vr1"}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the client-proxy reverse-proxy path and the orchestration-api snapshot lookup using the supplied log examples. Compare the observed 502 and misleading 404 behavior with the requested service-availability and diagnostic outcomes, including readiness when snapshots cannot be served. Done means startup failures expose actionable errors and the relevant failures are logged with enough context to distinguish their causes.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend-api-design, distributed-systems, observability-sre
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.