vllm-project/vllm · error · RuntimeError
NIXL EPLB metadata key mismatch with rank {peer}: local={sor
Error message
NIXL EPLB metadata key mismatch with rank {peer}: local={sorted(local_keys)}, peer={sorted(peer_keys)} What it means
Error "NIXL EPLB metadata key mismatch with rank {peer}: local={sorted(local_keys)}, peer={sorted(peer_keys)}" thrown in vllm-project/vllm.
Source
Thrown at vllm/distributed/eplb/eplb_communicator.py:487
)
# Per-rank map: (layer_idx, tensor_idx) -> (base_ptr, bytes_per_expert, dev_id).
# add_recv uses base_ptr + src_row * bytes_per_expert to compute
# the remote RDMA address for each expert.
gathered_meta: list[dict[tuple[int, int], tuple[int, int, int]] | None] = [
None
] * self._world_size
torch.distributed.all_gather_object(
gathered_meta, local_meta, group=self._cpu_group
)
local_keys = set(local_meta.keys())
for peer in self._remote_agents:
peer_meta = gathered_meta[peer]
assert peer_meta is not None
peer_keys = set(peer_meta.keys())
if peer_keys != local_keys:
raise RuntimeError(
f"NIXL EPLB metadata key mismatch with rank {peer}: "
f"local={sorted(local_keys)}, peer={sorted(peer_keys)}"
)
for key in local_keys:
_, local_stride, _ = local_meta[key]
_, peer_stride, _ = peer_meta[key]
if local_stride != peer_stride:
raise RuntimeError(
f"NIXL EPLB nbytes_per_expert mismatch for {key} "
f"with rank {peer}: "
f"local={local_stride}, peer={peer_stride}"
)
self._remote_send_meta[peer] = peer_meta
def _wait_for_all_transfers(self, handles: list[int]) -> None:
pending = set(handles)
while pending:
completed: list[int] = []View on GitHub (pinned to c794754062)
Solutions
- Ensure all ranks use the same EPLB configuration and register the same metadata keys.
- Restart the deployment so local and peer keys match.
When it happens
Trigger: Raised at vllm/distributed/eplb/eplb_communicator.py:487 when validation fails: NIXL EPLB metadata key mismatch with peer rank. Typically triggered by an incompatible or incomplete vLLM configuration, an unsupported platform/backend combination, or a runtime resource/dependency that is missing.
Common situations: Commonly encountered at vllm/distributed/eplb/eplb_communicator.py:487 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.
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/805077b1f1b1c81d.
Report an issue: GitHub.