JuliusBrussee/caveman · error

cachebench: JSON nesting limit exceeded

Error message

cachebench: JSON nesting limit exceeded

What it means

Error "cachebench: JSON nesting limit exceeded" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cachebench/strictjson.go:36

			return false
		}
	}
	return true
}

func validUniqueJSONObject(body []byte) bool {
	decoder := json.NewDecoder(bytes.NewReader(body))
	decoder.UseNumber()
	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 {

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Reduce JSON nesting below the limit.

When it happens

Trigger: Thrown at cacheengine/cachebench/strictjson.go:36 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/82aee809e2066cf3. Report an issue: GitHub.