JuliusBrussee/caveman · error
zstd reader: %w
Error message
zstd reader: %w
What it means
Error "zstd reader: %w" thrown in JuliusBrussee/caveman.
Source
Thrown at shared/platform/objectstore/compress.go:102
return nil, fmt.Errorf("gzip read: %w", err)
}
if int64(len(out)) > maxBytes {
return nil, ErrDecompressedTooLarge
}
return out, nil
case CompressionZstd:
// Zstd's smallest legal window is 1 KiB. Keep that parser minimum for
// tiny valid payloads, then independently enforce the exact byte limit.
memoryLimit := uint64(maxBytes)
if memoryLimit < zstd.MinWindowSize {
memoryLimit = zstd.MinWindowSize
}
zr, err := zstd.NewReader(nil,
zstd.WithDecoderConcurrency(1),
zstd.WithDecoderMaxMemory(memoryLimit),
)
if err != nil {
return nil, fmt.Errorf("zstd reader: %w", err)
}
defer zr.Close()
out, err := zr.DecodeAll(data, nil)
if err != nil {
if errors.Is(err, zstd.ErrDecoderSizeExceeded) || errors.Is(err, zstd.ErrWindowSizeExceeded) {
return nil, ErrDecompressedTooLarge
}
return nil, fmt.Errorf("zstd read: %w", err)
}
if int64(len(out)) > maxBytes {
return nil, ErrDecompressedTooLarge
}
return out, nil
default:
return nil, fmt.Errorf("unknown compression codec %q", codec)
}
}
View on GitHub (pinned to 27d5a3981a)
Solutions
- The zstd stream is invalid; provide valid zstd data.
When it happens
Trigger: Thrown at shared/platform/objectstore/compress.go:102 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/23ddc6324b6e856e.
Report an issue: GitHub.