sgl-project/sglang · error · RuntimeError

Failed to load config from

Error message

Failed to load config from {file_path}: {str(e)}

What it means

The JSON file pointed to by SGLANG_HICACHE_MOONCAKE_CONFIG_PATH could not be opened or parsed (json.load raised). The message includes the path and the underlying exception text (FileNotFoundError, PermissionError, or JSONDecodeError).

Solutions

  1. Validate the path exists and is readable
  2. python -m json.tool config.json to find the syntax error
  3. Fix the JSON and restart; check mount paths in containers
Defensive patterns

Strategy: try-catch

Validate before calling

import json, os
p = os.environ.get('SGLANG_HICACHE_MOONCAKE_CONFIG_PATH')
if p:
    assert os.path.isfile(p) and os.access(p, os.R_OK), f'unreadable: {p}'
    json.load(open(p))  # raises early with precise JSONDecodeError

Try / catch

try:
    cfg = MooncakeStoreConfig.from_file()
except RuntimeError as e:
    if 'Failed to load config from' in str(e):
        show_config_lint_error(e.__cause__)  # actionable JSON error
        raise

Prevention

When it happens

Trigger: from_file() with a nonexistent/wrong path, unreadable file, malformed JSON (trailing commas, comments), or an empty file.

Common situations: Typo in the env var path; config mounted at a different path in the container; JSON written by hand with comments or single quotes.

Related errors


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

Appendix: source

Thrown at python/sglang/srt/mem_cache/storage/mooncake_store/mooncake_store.py:121

    standalone_storage: bool
    client_server_address: str
    enable_ssd_offload: bool = False
    ssd_offload_path: Optional[str] = None
    tenant_id: str = DEFAULT_TENANT_ID

    @staticmethod
    def from_file() -> "MooncakeStoreConfig":
        """Load the config from a JSON file."""
        if not envs.SGLANG_HICACHE_MOONCAKE_CONFIG_PATH.is_set():
            raise RuntimeError(
                f"Config file path not set. Please set {envs.SGLANG_HICACHE_MOONCAKE_CONFIG_PATH.name}"
            )
        file_path = envs.SGLANG_HICACHE_MOONCAKE_CONFIG_PATH.get()
        try:
            with open(file_path) as fin:
                config = json.load(fin)
        except Exception as e:
            raise RuntimeError(f"Failed to load config from {file_path}: {str(e)}")

        if (
            "master_server_address" not in config
            and "client_server_address" not in config
        ):
            raise ValueError(
                "Either master_server_address or client_server_address is required in config file"
            )

        return MooncakeStoreConfig(
            local_hostname=config.get(
                "local_hostname", envs.MOONCAKE_LOCAL_HOSTNAME.default
            ),
            metadata_server=config.get(
                "metadata_server", envs.MOONCAKE_TE_META_DATA_SERVER.default
            ),
            global_segment_size=_parse_global_segment_size(
                config.get(

View on GitHub (pinned to 0132848349)