sgl-project/sglang · error · ValueError

--minimax-h3-adaln-online rebuilds AdaLN outputs from the sa

Error message

--minimax-h3-adaln-online rebuilds AdaLN outputs from the safetensors checkpoint and cannot read a GGUF transformer.

What it means

The --minimax-h3-adaln-online path rebuilds AdaLN outputs by reading the transformer's safetensors directly; a GGUF load has no safetensors file list, so the rebuild cannot run and is rejected.

Source

Thrown at python/sglang/multimodal_gen/runtime/loader/transformer_load_utils.py:571

        else server_args.use_fsdp_inference
    )
    if uses_fsdp:
        raise ValueError(
            "GGUF diffusion checkpoints are incompatible with FSDP inference. "
            "Run without --use-fsdp-inference, or keep this component offloaded "
            "so FSDP does not manage it."
        )
    if server_args.lora_path is not None:
        raise ValueError(
            "LoRA is not supported on a GGUF transformer: an adapter cannot be "
            "merged into packed GGML blocks. Use the unquantized checkpoint to "
            "serve LoRA."
        )
    # H3's AdaLN paths read the transformer's safetensors directly -- the cache
    # builder needs unquantized weights, and the online rebuild is handed the
    # safetensors file list, which is empty for a GGUF load.
    if server_args.minimax_h3_adaln_online:
        raise ValueError(
            "--minimax-h3-adaln-online rebuilds AdaLN outputs from the "
            "safetensors checkpoint and cannot read a GGUF transformer."
        )
    if server_args.minimax_h3_adaln_cache_path is not None:
        raise ValueError(
            "--minimax-h3-adaln-cache-path requires the unquantized "
            "transformer and cannot be combined with a GGUF checkpoint."
        )


def resolve_transformer_gguf_to_load(
    server_args: ServerArgs, component_name: str | None = None
) -> Optional[str]:
    """Resolve ``--transformer-weights-path`` to a local ``.gguf``, if it is one.

    Returns ``None`` when the override is absent or is not GGUF, so the caller
    falls through to the safetensors path.
    """

View on GitHub (pinned to 0132848349)

Solutions

  1. Disable --minimax-h3-adaln-online when using GGUF
  2. Use an unquantized safetensors transformer if the online AdaLN rebuild is required

Example fix

# before
--minimax-h3-adaln-online --transformer-weights-path model.gguf
# after
--transformer-weights-path model.gguf
Defensive patterns

Strategy: validation

Validate before calling

if server_args.minimax_h3_adaln_online and str(server_args.transformer_weights_path or '').endswith('.gguf'):
    raise SystemExit('--minimax-h3-adaln-online needs a safetensors transformer')

Prevention

When it happens

Trigger: server_args.minimax_h3_adaln_online=True combined with a GGUF transformer checkpoint.

Common situations: Enabling the H3 AdaLN online rebuild for faster startup and then switching the transformer to a GGUF quantized export.

Related errors


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