{"record":{"id":"b6919da3000031d7","repo":"vllm-project/vllm","slug":"invalid-endpoint-must-contain-inproc-or-tcp","errorCode":null,"errorMessage":"Invalid endpoint: must contain 'inproc' or 'tcp'","messagePattern":"Invalid endpoint: must contain 'inproc' or 'tcp'","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/distributed/kv_events.py","lineNumber":525,"sourceCode":"            The endpoint with the port offset by data_parallel_rank\n                or suffix appended\n        \"\"\"\n        # Do nothing if input is None or data_parallel_rank is 0\n        if not endpoint or data_parallel_rank == 0:\n            return endpoint\n\n        if \"inproc\" in endpoint:\n            return f\"{endpoint}_dp{data_parallel_rank}\"\n        if \"tcp\" in endpoint:\n            if endpoint and \":\" in endpoint:\n                # Get everything after the last colon (the port)\n                last_colon_idx = endpoint.rfind(\":\")\n                base_addr = endpoint[:last_colon_idx]\n                base_port = int(endpoint[last_colon_idx + 1 :])\n                new_port = base_port + data_parallel_rank\n                return f\"{base_addr}:{new_port}\"\n            return endpoint\n        raise ValueError(\"Invalid endpoint: must contain 'inproc' or 'tcp'\")\n\n\nclass EventPublisherFactory:\n    _registry: dict[str, Callable[..., EventPublisher]] = {\n        \"null\": NullEventPublisher,\n        \"zmq\": ZmqEventPublisher,\n    }\n\n    @classmethod\n    def register_publisher(cls, name: str, ctor: Callable[..., EventPublisher]) -> None:\n        if name in cls._registry:\n            raise KeyError(f\"publisher '{name}' already registered\")\n        cls._registry[name] = ctor\n\n    @classmethod\n    def create(\n        cls, config: KVEventsConfig | None, data_parallel_rank: int = 0\n    ) -> EventPublisher:","sourceCodeStart":507,"sourceCodeEnd":543,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/distributed/kv_events.py#L507-L543","documentation":"Error \"Invalid endpoint: must contain 'inproc' or 'tcp'\" thrown in vllm-project/vllm.","triggerScenarios":"Raised at vllm/distributed/kv_events.py:525 when validation fails: Invalid endpoint: must contain 'inproc' or 'tcp'. 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/kv_events.py:525 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":["Use an endpoint containing 'inproc' or 'tcp', e.g. tcp://127.0.0.1:5557."],"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"}