Rebuild after clearing the registry's dangling layer links

Chorekamo-meet
Shipped
September 5, 2026 at 12:02 AM UTC
Author
Kamo
Commit
1e6e50f

The previous two builds (2862548, dd323bc) both produced images that could not be pulled: short read: expected 3985350 bytes but got 0: unexpected EOF Cause: the registry held a per-repo layer LINK for each of those digests while the blob DATA under blobs/sha256/<xx>/<digest>/data was gone. push saw the link, concluded the layer was already present and skipped the upload; pull then got 200 with zero bytes. Rebuilding could not fix it, because every rebuild produced the same digests and skipped the same layers — which is why the first rebuild reproduced the failure exactly. 396 of this repo's 446 layer links were dangling; all 396 have been removed (each re-verified as having no blob data first), leaving the 50 intact ones alone. With no link to find, this push uploads those layers instead of skipping them. Sampling shows the same dangling-link condition across every repo in the registry, so this is a registry-wide integrity problem that happens to be fatal only here — elsewhere the registry 404s the missing blob and the push re-uploads. Probable cause is a GC that removed blobs without pruning the per-repo links.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing