Repository navigation
Investigate Edge fixture container exit 135 on unchanged SDK source #510
Description
Activity
Compared the full setup logs for the green PR job and both failed main attempts.
All three report the same visible software versions:- GitHub runner
2.337.0and provisioner20260828.587. - Ubuntu
24.04.5, runner imageubuntu-24.04/20260907.300.1. - Host Node
24.20.0and npm11.19.0.
Job Result Reported Azure region 106902354932 (PR) Pass eastus 106927487478 (main attempt 1) Exit 135 westus2 106930457048 (main attempt 2) Exit 135 westcentralus There is no visible runner-image or Node version change explaining the failure.
The different hosts/regions are observations, not proof of a regional cause.
Hardware/kernel details, failed-container state and the fresh consumer's exact
installed dependency graph are still needed to isolate it.- GitHub runner
Root cause is now established: a race in the pinned Supabase runtime's Deno/SQLite
analysis-cache initialization, not a recurrence of the native SDK dependency bug.Three native crash dumps land in SQLite
walIndexAppendwhile initializing the
analysis cache, after Deno has unlinked/recreated its database. Supabase creates
independent cache instances for identical paths; the recovery path treats a busy
database as something to delete. A reduced, one-line CommonJS package without
Transloadit or any registry dependency reproduces exit 135 in 6/90 attempts.Full upstream report, reduced reproduction, source links and stack:
supabase/edge-runtime#746.Fix PR: #511. It gives only the test
bundler a fresh bounded 256 MiB tmpfs cache; no SDK runtime code or dependencies
change. The same SDK/image passed 90/90 x64 diagnostic attempts this way. That is
mitigation evidence, not proof of an upstream fix. Preheating a shared disk cache
was rejected because it still logged unsafe database deletion.Both packed package names pass locally, including real HTTP/HMAC execution,
zero native image dependencies and the unchanged size budgets. Published 4.13.0
still fails the gate with 77 native image paths. Red-first tests, council review
and post-reviewyarn verify:fullare complete. All checks passed on
final heada04cb6fa2e9aa547b0a813887cc93d75a9f41b5cin
https://github.com/transloadit/node-sdk/actions/runs/35829346787, including both
real x64 Edge probes (zero native files, approximately 2.45 MB upload each),
Next browser tests, release dry run and Node 20/22/24. The preceding full run
35828672200 also passed before the final documentation-only commit. The old
failed main run is not being relabeled or retried until green. The fix PR remains open.
Why
The Supabase Edge fixture fails on main after #507 despite the PR checks having
passed. A retry reproduced the same container exit. Preserve the packaging gate
and investigate before treating the follow-up Changesets release (#509) as ready.
Evidence
https://github.com/transloadit/node-sdk/actions/runs/35781399290
https://github.com/transloadit/node-sdk/actions/runs/35781399290/job/106930457048
8bed9b984b52c8ba6f553decc76759792e266724and main squashbe56c7fe216eae0fa469a76b718729d2d3c5c27dhave the identical Git tree08e3b2eac0164197d5219d3fa70d6f94f4f78eee.package build, E2E, and the Next.js browser fixture.
scripts/test-sdk-edge.ts:86, the firstdocker start --attachfor bundlingexits 135 after roughly half a second, without stdout/stderr. The fixture
does not reach its bundle-size/native-dependency assertions. This does not yet
identify the crash's root cause.
public.ecr.aws/supabase/edge-runtime:v1.76.2@sha256:edd22bef4477b900d5c300e287ce9b18bff9b81a0291bee14ee0b7c7b71a2899.A fresh local ARM run of
corepack yarn test:sdk:edgeon the same source treepassed on September 22, 2026, including actual function startup/signing:
@transloadit/nodetransloaditThis is useful counterevidence, not a replacement for the failing GitHub run.
Investigation / done criteria
evidence before removing a failed bundler container.
runner; distinguish runtime/environment failure from SDK module-graph failure.
Git trees alone guarantee identical installed transitive dependencies.
checks, or replacing a genuine failure with unconditional retries.