JuliusBrussee/caveman · error
cachebench: request %q output ceiling does not match provide
Error message
cachebench: request %q output ceiling does not match provider body
What it means
Error "cachebench: request %q output ceiling does not match provider body" thrown in JuliusBrussee/caveman.
Source
Thrown at cacheengine/cachebench/trace.go:252
for _, request := range trace.Requests {
bodySHA := sha256.Sum256(request.Native.Body)
record := TraceRecord{
Schema: TraceSchema, RequestID: request.ID, At: request.At.Format(time.RFC3339Nano),
Provider: request.Native.Provider, Model: request.Native.Model, Region: request.Native.Region,
Endpoint: request.Native.Endpoint, Epoch: request.Native.Epoch, Scope: request.Native.Scope,
TokenBasis: trace.TokenBasis, TimingBasis: trace.TimingBasis,
PartitionKey: request.Native.PartitionKey, ExpectedRPM: request.Native.ExpectedRequestsPerMinute,
ExpectedCalls: request.Native.ExpectedCalls, RuntimeMode: request.Native.RuntimeMode, AuthMode: request.Native.AuthMode,
PrefixTokens: request.Native.PrefixTokens, DeclaredInputTokens: request.DeclaredInputTokens,
MaxOutputTokens: request.MaxOutputTokens, Prefix: request.Prefix,
StableSegmentCount: request.StableSegmentCount, Body: json.RawMessage(request.Native.Body),
BodySHA256: fmt.Sprintf("%x", bodySHA[:]),
}
if _, err := record.NativeRequest(); err != nil {
return err
}
if !requestBudgetMatchesBody(record) {
return fmt.Errorf("cachebench: request %q output ceiling does not match provider body", record.RequestID)
}
if err := encoder.Encode(record); err != nil {
return err
}
}
return buffered.Flush()
}
// TraceReadLimits bounds JSONL decoding before replay preflight.
type TraceReadLimits struct {
MaxLineBytes int
MaxRecords int
MaxBodyBytes int
}
// DefaultTraceReadLimits supports public-corpus traces while bounding retained memory.
func DefaultTraceReadLimits() TraceReadLimits {
return TraceReadLimits{MaxLineBytes: 96 << 20, MaxRecords: 100_000, MaxBodyBytes: 64 << 20}View on GitHub (pinned to 27d5a3981a)
Solutions
- Make the request output ceiling match the provider body.
When it happens
Trigger: Thrown at cacheengine/cachebench/trace.go:252 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/8c5b4642e50c411e.
Report an issue: GitHub.