{"record":{"id":"a89c27336fd73de8","repo":"vllm-project/vllm","slug":"nixl-is-unavailable","errorCode":null,"errorMessage":"NIXL is unavailable.","messagePattern":"NIXL is unavailable\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"vllm/distributed/eplb/eplb_communicator.py","lineNumber":269,"sourceCode":"        \"\"\"Create a NIXL-backed EPLB communicator.\n\n        Args:\n            cpu_group: CPU process group for metadata exchange.\n            all_expert_weights: Expert weight tensors for all MoE layers.\n            expert_buffer: Pre-allocated receive buffer tensors.\n            defer_remote_setup: If True, postpone the collective\n                all-gather of NIXL agent metadata until the first\n                ``set_transfer_context`` call.  Required for elastic EP\n                where ranks join asynchronously and cannot participate\n                in collectives at construction time.\n        \"\"\"\n        assert all_expert_weights, (\n            \"NixlEplbCommunicator requires non-empty all_expert_weights.\"\n        )\n        assert expert_buffer, \"NixlEplbCommunicator requires non-empty expert_buffer.\"\n        nixl_wrapper_cls = nixl_utils.NixlWrapper\n        if nixl_wrapper_cls is None:\n            raise RuntimeError(\"NIXL is unavailable.\")\n\n        self._cpu_group = cpu_group\n        self._world_size = cpu_group.size()\n        self._rank = cpu_group.rank()\n\n        self._all_expert_weights = all_expert_weights\n        self._expert_buffer = expert_buffer\n        self._num_local_experts: int = all_expert_weights[0][0].shape[0]\n        self._device = all_expert_weights[0][0].device\n\n        for layer_tensors in all_expert_weights:\n            for tensor in layer_tensors:\n                assert is_weak_contiguous(tensor), (\n                    \"Expert weight tensors must be contiguous in memory\"\n                )\n                assert tensor.device == self._device, (\n                    \"All local EPLB tensors are expected to be on the same \"\n                    f\"device: expected={self._device}, got={tensor.device}\"","sourceCodeStart":251,"sourceCodeEnd":287,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/distributed/eplb/eplb_communicator.py#L251-L287","documentation":"Error \"NIXL is unavailable.\" thrown in vllm-project/vllm.","triggerScenarios":"Raised at vllm/distributed/eplb/eplb_communicator.py:269 when validation fails: NIXL is unavailable.. Typically triggered by an incompatible or incomplete vLLM configuration, an unsupported platform/backend combination, or a runtime resource/dependency that is missing.","commonSituations":"Commonly encountered at vllm/distributed/eplb/eplb_communicator.py:269 during vLLM startup/config validation or runtime setup when: (1) conflicting CLI flags or config fields are combined, (2) the current platform (CUDA/ROCm/CPU/XPU) or installed optional packages do not support the requested feature, or (3) a required value is absent or out of range. Resolve by correcting the configuration as described in the message, or by selecting a supported alternative.","solutions":["Install the NIXL package and ensure it is importable.","Or select a different EPLB communicator backend that does not require NIXL."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}