sgl-project/sglang · error · ValueError

{reason}

Error message

{reason}

What it means

Raised when resolve_load_pub_range finds an inconsistency between the KV events endpoint, replay endpoint, dp_size, and the load-publish mode. The returned reason string explains the specific mismatch, e.g. incompatible replay endpoint or DP size for the chosen mode.

Source

Thrown at python/sglang/srt/server_args.py:10530

                " block, absent without a publisher."
            )
        try:
            cfg = KVEventsConfig.from_cli(self.kv_events_config)
        except Exception as e:
            raise ValueError(f"--kv-events-config is not parseable: {e}")
        if cfg.publisher == "null" or not cfg.endpoint:
            raise ValueError(
                "--load-publish-endpoint needs an active --kv-events-config"
                " publisher; got publisher='null' or an empty endpoint."
            )
        _, reason = resolve_load_pub_range(
            kv_endpoint=cfg.endpoint,
            replay_endpoint=cfg.replay_endpoint,
            dp_size=server_cfg.dp_size,
            load_publish_endpoint=mode,
        )
        if reason:
            raise ValueError(reason)

    def check_lora_server_args(self):
        cfg = resolving_view(self)

        assert cfg.max_loras_per_batch > 0, "max_loras_per_batch must be positive"

        # Enable LoRA if any LoRA paths are provided for backward compatibility.
        if cfg.lora_paths:
            if cfg.enable_lora is None:
                self._late_resolution("check_lora_server_args", enable_lora=True)
                logger.warning(
                    "--enable-lora is set to True because --lora-paths is provided."
                )
            elif cfg.enable_lora is False:
                logger.warning(
                    "--enable-lora is set to False, any provided lora_paths will be ignored."
                )

View on GitHub (pinned to 0132848349)

Solutions

  1. Read the {reason} text — it names the exact mismatch to fix
  2. Ensure the KV endpoint and replay_endpoint in --kv-events-config match the layout required by the chosen load-publish mode for your dp_size
  3. Re-run with a consistent --load-publish-endpoint mode or adjust dp_size
Defensive patterns

Strategy: validation

Validate before calling

from sglang.srt.server_args import resolve_load_pub_range
_, reason = resolve_load_pub_range(kv_endpoint=cfg.endpoint, replay_endpoint=cfg.replay_endpoint, dp_size=dp_size, load_publish_endpoint=mode)
if reason:
    raise SystemExit(reason)

Try / catch

catch ValueError and surface its reason verbatim in launch tooling

Prevention

When it happens

Trigger: Passing --load-publish-endpoint with a mode whose expected endpoint/replay-endpoint layout or dp_size does not match the values parsed from --kv-events-config.

Common situations: Running data-parallel setups where the load publish mode implies per-DP endpoints but the supplied endpoints don't conform; changing dp_size without regenerating the KV events config.

Related errors


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