JuliusBrussee/caveman · error
cache-replay: trace exceeds %d bytes
Error message
cache-replay: trace exceeds %d bytes
What it means
Error "cache-replay: trace exceeds %d bytes" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cmd/cache-replay/main.go:363
}
func readTrace(path string, maxBytes int64, maxRecords int) ([]cachebench.TraceRecord, string, error) {
file, err := os.Open(path)
if err != nil {
return nil, "", err
}
defer file.Close()
hash := sha256.New()
limited := &io.LimitedReader{R: file, N: maxBytes + 1}
readLimits := cachebench.DefaultTraceReadLimits()
readLimits.MaxLineBytes = int(maxBytes)
readLimits.MaxRecords = maxRecords
records, err := cachebench.ReadTraceJSONLWithLimits(io.TeeReader(limited, hash), readLimits)
if err != nil {
return nil, "", err
}
if limited.N <= 0 {
return nil, "", fmt.Errorf("cache-replay: trace exceeds %d bytes", maxBytes)
}
return records, hex.EncodeToString(hash.Sum(nil)), nil
}
func validateProviderCredentials(records []cachebench.TraceRecord) error {
providers := map[string]bool{}
for _, record := range records {
providers[record.Provider] = true
}
for provider := range providers {
switch provider {
case "openai":
if os.Getenv("OPENAI_API_KEY") == "" {
return errors.New("cache-replay: OPENAI_API_KEY unavailable")
}
case "anthropic":
if os.Getenv("ANTHROPIC_API_KEY") == "" {
return errors.New("cache-replay: ANTHROPIC_API_KEY unavailable")View on GitHub (pinned to 27d5a3981a)
Solutions
- Reduce the trace below the byte limit.
When it happens
Trigger: Thrown at cacheengine/cmd/cache-replay/main.go:363 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/ba68bc89eccf0fd1.
Report an issue: GitHub.