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

  1. Re-run profiling on an idle machine
  2. Verify base_chunk_size / chunked-prefill-size settings are sane
  3. 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

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


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/14f1666ef57be9e6. Report an issue: GitHub.