{"record":{"id":"cd66df11c3e79445","repo":"vllm-project/vllm","slug":"unsupported-sleep-mode-backend-name-registere","errorCode":null,"errorMessage":"Unsupported sleep-mode backend '{name}'. Registered backends: {available}.","messagePattern":"Unsupported sleep-mode backend '(.+?)'\\. Registered backends: (.+?)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/device_allocator/sleep_mode_backend.py","lineNumber":169,"sourceCode":"\n    @classmethod\n    def register_backend(cls, name: str, module_path: str, class_name: str) -> None:\n        \"\"\"Register a backend with a lazy-loading module and class name.\"\"\"\n        if name in cls._registry:\n            raise ValueError(f\"Sleep-mode backend '{name}' is already registered.\")\n\n        def loader() -> type[SleepModeBackend]:\n            module = importlib.import_module(module_path)\n            return getattr(module, class_name)\n\n        cls._registry[name] = loader\n\n    @classmethod\n    def get_backend_class(cls, name: str) -> type[SleepModeBackend]:\n        \"\"\"Resolve a registered backend class by name.\"\"\"\n        if name not in cls._registry:\n            available = \", \".join(sorted(cls._registry)) or \"<none>\"\n            raise ValueError(\n                f\"Unsupported sleep-mode backend '{name}'. \"\n                f\"Registered backends: {available}.\"\n            )\n        return cls._registry[name]()\n\n    @classmethod\n    def create_backend(cls, model_config: ModelConfig) -> SleepModeBackend:\n        \"\"\"Instantiate the backend selected by ``model_config``.\"\"\"\n        name = model_config.sleep_mode_backend\n        backend_cls = cls.get_backend_class(name)\n        if not backend_cls.is_supported():\n            raise ValueError(\n                f\"Sleep-mode backend '{name}' is not supported on this platform.\"\n            )\n        logger.info(\"Using sleep-mode backend: %s\", name)\n        return backend_cls()\n\n","sourceCodeStart":151,"sourceCodeEnd":187,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/device_allocator/sleep_mode_backend.py#L151-L187","documentation":"Raised by SleepModeBackendFactory.get_backend_class when model_config.sleep_mode_backend names a backend that is not in the registry. The error lists the registered backend names (or <none>) so the valid choices are visible.","triggerScenarios":"Setting the sleep-mode backend config to an unregistered or misspelled name (e.g. 'cumem ' with whitespace, 'Criu' vs 'criu'), or referencing a backend whose plugin entry point failed to load.","commonSituations":"Typos in config files; a plugin that should register the backend is not installed or its entry point is broken; the name exists only in a newer/older vLLM version.","solutions":["Read the error's 'Registered backends' list and use one of those exact names.","Fix typos/whitespace/case in the sleep_mode_backend value.","If a third-party backend was intended, verify its package is installed and its vllm.general_plugins entry point loads without import errors."],"exampleFix":"# before\n--sleep-mode-backend kumem   # typo\n# after\n--sleep-mode-backend cumem","handlingStrategy":"validation","validationCode":"from vllm.device_allocator.sleep_mode_backend import SleepModeBackendFactory\n\nname = cfg.sleep_mode_backend\nif name not in SleepModeBackendFactory._registry:\n    raise SystemExit(\n        f\"unknown sleep-mode backend {name!r}; \"\n        f\"valid: {sorted(SleepModeBackendFactory._registry)}\")","typeGuard":"def backend_registered(name: str) -> bool:\n    from vllm.device_allocator.sleep_mode_backend import SleepModeBackendFactory\n    return name in SleepModeBackendFactory._registry","tryCatchPattern":"try:\n    backend = SleepModeBackendFactory.create_backend(model_config)\nexcept ValueError as e:\n    if \"Registered backends\" in str(e):\n        print(str(e)); suggest_valid_names_and_exit()\n    raise","preventionTips":["Derive the backend name from SleepModeBackendFactory._registry (or the error listing) instead of hardcoding.","Add config-schema validation for sleep_mode_backend against known names in CI."],"tags":["vllm","sleep-mode","config","registry","typo"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}