sgl-project/sglang · warning
Invalid value for {self.name}: {e}, using default "{default}
Error message
Invalid value for {self.name}: {e}, using default "{default}" What it means
sglang's typed environment-variable descriptor failed to parse the value you exported (self.parse raised ValueError), so it fell back to the documented default and warned. The system runs, but with the default setting rather than what you intended.
Source
Thrown at python/sglang/srt/environ.py:78
return self.default() if callable(self.default) else self.default
def get(self) -> Any:
value = os.getenv(self.name)
# Explicitly set to None
if self._set_to_none:
assert value == str(None)
return None
# Not set, return default
if value is None:
return self._resolve_default()
try:
return self.parse(value)
except ValueError as e:
default = self._resolve_default()
warnings.warn(
f'Invalid value for {self.name}: {e}, using default "{default}"'
)
return default
def is_set(self):
return self.name in os.environ
def set(self, value: Any):
self._set_to_none = value is None
os.environ[self.name] = str(value)
@contextmanager
def override(self, value: Any):
backup_present = self.name in os.environ
backup_value = os.environ.get(self.name)
backup_set_to_none = self._set_to_none
self.set(value)
yieldView on GitHub (pinned to 0132848349)
Solutions
- Check the warning message for the exact parse error and fix the exported value to the documented type
- Validate env files before deploy (e.g. a preflight script that parses each SGLANG_ var)
- If the default is acceptable, remove the variable entirely to avoid ambiguity
Example fix
# before export SGLANG_ENABLE_TORCH_COMPILE="yes please" # after export SGLANG_ENABLE_TORCH_COMPILE="true"
Defensive patterns
Strategy: validation
Validate before calling
from sglang.srt import environ as E
for var in [v for v in dir(E) if isinstance(getattr(E, v), E.EnvVar)]:
try:
var.get()
except Exception as e:
print(var.name, e) Prevention
- Preflight-parse env config before serving
- Use exact literal values ('true'/'false', integers) per variable docs
When it happens
Trigger: Exporting an SGLANG_* variable with a malformed value, e.g. SGLANG_...=true1 for a bool, abc for an int/float, or a bad list syntax — any value the descriptor's parser rejects.
Common situations: Typos in .env files or Kubernetes env stanzas; quoting issues in shell exports; CI injecting strings like 'True ' with whitespace or '1;0' for booleans.
Related errors
- CUDA coredump env var {key} is already set to '{os.environ[k
- This browser cannot encode H.264 MP4
- H.264 encoder did not return MP4 decoder config
- delta payload size mismatch: expected ${expectedSize}, got $
- Block sparse tensors{context} require BLOCK_SIZE_KV={base_n_
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/d209096269137f55.
Report an issue: GitHub.