JuliusBrussee/caveman · error
cachebench: decode Hugging Face row: %w
Error message
cachebench: decode Hugging Face row: %w
What it means
Error "cachebench: decode Hugging Face row: %w" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cachebench/corpus.go:266
return nil, fmt.Errorf("cachebench: duplicate Hugging Face field %q", key)
}
rootKeys[key] = true
if key != "rows" {
var ignored json.RawMessage
if err := decoder.Decode(&ignored); err != nil {
return nil, fmt.Errorf("cachebench: skip Hugging Face field %q: %w", key, err)
}
continue
}
foundRows = true
start, err := decoder.Token()
if err != nil || start != json.Delim('[') {
return nil, errors.New("cachebench: Hugging Face rows field must be array")
}
for decoder.More() {
var raw json.RawMessage
if err := decoder.Decode(&raw); err != nil {
return nil, fmt.Errorf("cachebench: decode Hugging Face row: %w", err)
}
if len(raw) > limits.MaxRowBytes {
return nil, fmt.Errorf("cachebench: Hugging Face row exceeds %d bytes", limits.MaxRowBytes)
}
var wire hfRowWire
if err := decodeOneJSON(raw, &wire); err != nil {
return nil, fmt.Errorf("cachebench: decode Hugging Face row: %w", err)
}
row, err := validateCorpusWire(wire.Row, wire.RowIndex, limits)
if err != nil {
return nil, fmt.Errorf("cachebench: Hugging Face row %d: %w", wire.RowIndex, err)
}
if err := appendCorpusRow(&rows, sessions, &retainedBytes, row, limits); err != nil {
return nil, fmt.Errorf("cachebench: Hugging Face row %d: %w", wire.RowIndex, err)
}
}
if end, err := decoder.Token(); err != nil || end != json.Delim(']') {
return nil, errors.New("cachebench: malformed Hugging Face rows array")View on GitHub (pinned to 27d5a3981a)
Solutions
- Fix the Hugging Face row so it decodes.
When it happens
Trigger: Thrown at cacheengine/cachebench/corpus.go:266 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/2178600e473fa317.
Report an issue: GitHub.