{"record":{"id":"94125c7fe3952c98","repo":"vllm-project/vllm","slug":"nixl-transfer-failed-with-state-state","errorCode":null,"errorMessage":"NIXL transfer failed with state={state}","messagePattern":"NIXL transfer failed with state=(.+?)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"vllm/distributed/eplb/eplb_communicator.py","lineNumber":512,"sourceCode":"                if local_stride != peer_stride:\n                    raise RuntimeError(\n                        f\"NIXL EPLB nbytes_per_expert mismatch for {key} \"\n                        f\"with rank {peer}: \"\n                        f\"local={local_stride}, peer={peer_stride}\"\n                    )\n            self._remote_send_meta[peer] = peer_meta\n\n    def _wait_for_all_transfers(self, handles: list[int]) -> None:\n        pending = set(handles)\n        while pending:\n            completed: list[int] = []\n            for handle in pending:\n                state = self._nixl_wrapper.check_xfer_state(handle)\n                if state == \"DONE\":\n                    completed.append(handle)\n                    continue\n                if state != \"PROC\":\n                    raise RuntimeError(f\"NIXL transfer failed with state={state}\")\n            for handle in completed:\n                pending.remove(handle)\n            if pending:\n                time.sleep(0.0005)\n\n    def _create_peer_xfer(\n        self,\n        src: int,\n        local_descs: list[tuple[int, int, int]],\n        remote_descs: list[tuple[int, int, int]],\n    ) -> tuple[int, int, int]:\n        \"\"\"Create a batched xfer for multiple descriptors from one peer.\n\n        Each element in *local_descs* / *remote_descs* is an\n        ``(address, size, device_id)`` tuple.\n\n        Returns ``(local_dlist, remote_dlist, xfer_handle)``.\n        \"\"\"","sourceCodeStart":494,"sourceCodeEnd":530,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/distributed/eplb/eplb_communicator.py#L494-L530","documentation":"Error \"NIXL transfer failed with state={state}\" thrown in vllm-project/vllm.","triggerScenarios":"Raised at vllm/distributed/eplb/eplb_communicator.py:512 when validation fails: NIXL transfer failed. 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:512 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":["Retry the operation or restart the workers; inspect NIXL logs for the transfer failure state reported in the error."],"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"}