sgl-project/sglang · error · ValueError
Reserved serve backend names cannot be used: {names}
Error message
Reserved serve backend names cannot be used: {names} What it means
The final default case of deterministic_all_reduce's dtype switch: only Float, Half, and (on gfx8+ / non-arch builds) BFloat16 are supported. Any other dtype throws this error.
Source
Thrown at python/sglang/cli/serve_backends.py:86
@dataclass(frozen=True)
class RegisteredServeBackend:
"""A loaded backend together with its discovery metadata."""
name: str
backend: ServeBackend
distribution: str | None = None
class ServeBackendRegistry:
"""Registry of built-in and installed out-of-tree serve backends."""
def __init__(self, builtins: Mapping[str, ServeBackend]) -> None:
invalid_builtin_names = set(builtins) & RESERVED_SERVE_BACKEND_NAMES
if invalid_builtin_names:
names = ", ".join(sorted(invalid_builtin_names))
raise ValueError(f"Reserved serve backend names cannot be used: {names}")
self._builtins = dict(builtins)
self._entry_points = self._discover_entry_points()
self._loaded: dict[str, RegisteredServeBackend] = {
name: RegisteredServeBackend(name=name, backend=backend)
for name, backend in self._builtins.items()
}
reserved = (set(self._builtins) | RESERVED_SERVE_BACKEND_NAMES) & set(
self._entry_points
)
if reserved:
names = ", ".join(sorted(reserved))
raise RuntimeError(
"Out-of-tree serve backends cannot replace reserved or built-in "
f"backends: {names}"
)
View on GitHub (pinned to 0132848349)
Solutions
- Cast tensors to float32/float16/bfloat16 before the call
- Exclude such tensors from the deterministic custom path (use RCCL)
- Note bf16 requires gfx8+ hardware (__HIP_ARCH__ >= 800)
Example fix
# before deterministic_all_reduce(fa, x_double, out) # after deterministic_all_reduce(fa, x_double.float(), out.float())
Defensive patterns
Strategy: type-guard
Type guard
def det_ar_supported(t: torch.Tensor) -> bool:
return t.dtype in (torch.float32, torch.float16, torch.bfloat16) Try / catch
try:
deterministic_all_reduce(fa, inp, out)
except RuntimeError as e:
if 'only supports' in str(e):
deterministic_all_reduce(fa, inp.float(), out.float())
else:
raise Prevention
- Cast to fp32/fp16/bf16 before deterministic allreduce
- Exclude fp8/int tensors from the deterministic custom path
When it happens
Trigger: Calling deterministic_all_reduce with dtype float64, integer, or fp8 tensors.
Common situations: Deterministic inference mode enabled for models producing non-fp16/bf16/fp32 tensors; accidental double precision from a cast; fp8 pathways routed into deterministic allreduce.
Related errors
- Missing previous frame for delta payload
- Previous frame size does not match current delta payload
- This browser does not support worker image decoding
- Unsupported content type ${header.content_type}
- Generate subcommand is not yet supported for model: {model_p
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/a233c64e3ae9c734.
Report an issue: GitHub.