sgl-project/sglang · error · ValueError
Calculated target_latency={self.target_latency:.2f}ms is not
Error message
Calculated target_latency={self.target_latency:.2f}ms is not positive. Check warmup data quality. What it means
After fitting, the computed target latency f(base_chunk_size)-f(0) came out <=0, which is impossible for real latency data; indicates corrupted or pathological warmup measurements.
Source
Thrown at python/sglang/srt/managers/scheduler_pp_mixin.py:1586
f"[ChunkSizePredictor] Fitted coefficients: a={fitted_a:.2e}, "
f"b={fitted_b:.2e}, c={fitted_c:.2e}"
)
def set_target_latency(self, base_chunk_size: int):
"""Set target latency based on base chunk size: target = f(base_chunk_size) - f(0)."""
def f(length: float) -> float:
"""Total latency function: f(length) = a*length^2 + b*length + c."""
return (
self.quadratic_coeff_a * length * length
+ self.linear_coeff_b * length
+ self.constant_coeff_c
)
self.target_latency = f(float(base_chunk_size)) - f(0.0)
if self.target_latency <= 0:
raise ValueError(
f"Calculated target_latency={self.target_latency:.2f}ms is not positive. "
"Check warmup data quality."
)
logger.info(
f"[ChunkSizePredictor] Target latency: {self.target_latency:.2f}ms "
f"(base_chunk_size={base_chunk_size})"
)
def predict_next_chunk_size(
self,
history_len: int,
base_chunk_size: int,
page_size: int,
context_len: int,
max_chunk_size: Optional[int] = None,
) -> Optional[int]:
"""View on GitHub (pinned to 0132848349)
Solutions
- Re-run profiling on an idle machine
- Verify base_chunk_size / chunked-prefill-size settings are sane
- Check earlier logged fitted coefficients (a,b,c) for signs of noisy data
Defensive patterns
Strategy: retry
Try / catch
try:
predictor.set_target_latency(...)
except ValueError as e:
if 'target_latency' in str(e):
reprofile_with_more_samples()
raise Prevention
- Verify GPU clocks are stable (locked clocks) during profiling
- Inspect fitted a,b,c before trusting target latency
When it happens
Trigger: profile_and_init_predictor finishes fitting but the derived per-chunk target latency is non-positive — e.g. fitted coefficients yield f(base_chunk_size)<=f(0) due to bad samples.
Common situations: Noisy warmup measurements, clocks ramping during profiling, or a bad base_chunk_size configuration.
Related errors
- Fitted quadratic coefficient a={fitted_a:.2e} is not positiv
- Not enough data points for quadratic fitting ({len(L)} < 8).
- Failed to fit coefficients: insufficient rank
- Failed to fit f(l) = al^2 + bl + c: {e}
- Currently DFLASH speculative decoding only supports pp_size
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/14f1666ef57be9e6.
Report an issue: GitHub.