JuliusBrussee/caveman · error
cachebench: trace request %d empty or duplicate ID
Error message
cachebench: trace request %d empty or duplicate ID
What it means
Error "cachebench: trace request %d empty or duplicate ID" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cachebench/simulate.go:84
}
if err := validateTarget(target); err != nil {
return ProviderReport{}, err
}
if len(trace.Requests) == 0 {
return ProviderReport{}, errors.New("cachebench: empty trace")
}
if err := validateTrace(trace); err != nil {
return ProviderReport{}, err
}
return evaluateSimulatedTrace(ctx, engine, trace, target), nil
}
func validateTrace(trace Trace) error {
seen := make(map[string]bool, len(trace.Requests))
var previous time.Time
for index, request := range trace.Requests {
if strings.TrimSpace(request.ID) == "" || seen[request.ID] {
return fmt.Errorf("cachebench: trace request %d empty or duplicate ID", index)
}
seen[request.ID] = true
if request.At.IsZero() || (!previous.IsZero() && request.At.Before(previous)) {
return fmt.Errorf("cachebench: trace request %q has invalid time order", request.ID)
}
previous = request.At
if len(request.Native.Body) == 0 || strings.TrimSpace(request.Native.Provider) == "" || strings.TrimSpace(request.Native.Model) == "" || strings.TrimSpace(request.Native.Epoch) == "" {
return fmt.Errorf("cachebench: trace request %q has incomplete native request", request.ID)
}
if request.StableSegmentCount < 0 || request.StableSegmentCount > len(request.Prefix) || !validPrefix(request.Prefix) {
return fmt.Errorf("cachebench: trace request %q has invalid prefix", request.ID)
}
if request.DeclaredInputTokens <= 0 || request.DeclaredInputTokens < request.Native.PrefixTokens || request.MaxOutputTokens <= 0 {
return fmt.Errorf("cachebench: trace request %q has invalid billed-token budget", request.ID)
}
}
return nil
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Give each trace request a non-empty, unique ID.
When it happens
Trigger: Thrown at cacheengine/cachebench/simulate.go:84 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/4e6e3b55f760c683.
Report an issue: GitHub.