Skip to content

mb pull coder-arm64 fails: blob has 77 MiB trailing null padding #48

Description

@bdougie

Problem

mb pull coder-arm64 fails consistently with:

decompressing stereos.img.zst: writing ~/.config/mb/mixtapes/coder-arm64/latest/stereos.img: corrupt stream, did not find end of stream

Root cause

The stereos.img.zst blob at download.stereos.ai has 77.6 MiB of trailing null bytes appended after the actual zstd data:

  • Actual zstd data: 640.0 MiB (671,088,640 bytes)
  • Null padding: 77.6 MiB (81,373,008 bytes)
  • Total blob size: 752,461,648 bytes

The manifest declares digest sha256:bf212e026f722ccccd30f273d363f9b8a7245516f7bc1e8d81db67b41245cdeb, but the blob being served has digest sha256:d335283a5c0c9fdeef22fe48740cb74d0c973b69373bef651e76aaac012a21e2.

The zstd decoder reads past the valid frames into the null padding and fails.

Verification

# Download blob directly with curl
curl -s "https://download.stereos.ai/v2/mixtapes/coder-arm64/blobs/sha256:bf212e..." -o blob.bin

# Confirm: magic bytes are valid zstd (0x28B52FFD), but decompression fails
xxd -l 4 blob.bin   # 28b5 2ffd
zstd -t blob.bin     # Decoding error (36) : Data corruption detected

# Digest mismatch
shasum -a 256 blob.bin  # d33528... (not bf212e...)

Fix

The coder-arm64:latest image needs to be re-pushed to the registry with the correct (unpadded) disk blob.

Context

Discovered while testing the pull flow for the docs PR (private repo link https://github.com/papercomputeco/stereos.ai/pull/16).

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions