JuliusBrussee/caveman · error
cachebench: JSON root must be object
Error message
cachebench: JSON root must be object
What it means
Error "cachebench: JSON root must be object" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cachebench/strictjson.go:45
if err := validateUniqueJSONValue(decoder, true, 0); err != nil {
return false
}
_, err := decoder.Token()
return errors.Is(err, io.EOF)
}
func validateUniqueJSONValue(decoder *json.Decoder, root bool, depth int) error {
if depth > 512 {
return errors.New("cachebench: JSON nesting limit exceeded")
}
token, err := decoder.Token()
if err != nil {
return err
}
delimiter, composite := token.(json.Delim)
if !composite {
if root {
return errors.New("cachebench: JSON root must be object")
}
return nil
}
switch delimiter {
case '{':
seen := map[string]bool{}
for decoder.More() {
keyToken, err := decoder.Token()
if err != nil {
return err
}
key, ok := keyToken.(string)
if !ok || seen[key] {
return errors.New("cachebench: duplicate or invalid object key")
}
seen[key] = true
if err := validateUniqueJSONValue(decoder, false, depth+1); err != nil {
return errView on GitHub (pinned to 27d5a3981a)
Solutions
- The JSON root must be an object.
When it happens
Trigger: Thrown at cacheengine/cachebench/strictjson.go:45 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/5e394cf42833dbaf.
Report an issue: GitHub.