{"record":{"id":"dfc40a94b40c93f2","repo":"sgl-project/sglang","slug":"decoupled-spec-bind-endpoint-decoupled-spec-c","errorCode":null,"errorMessage":"--decoupled-spec-bind-endpoint, --decoupled-spec-connect-endpoints, and --decoupled-spec-rank are required for decoupled speculative decoding.","messagePattern":"--decoupled-spec-bind-endpoint, --decoupled-spec-connect-endpoints, and --decoupled-spec-rank are required for decoupled speculative decoding\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/server_args.py","lineNumber":11213,"sourceCode":"            nccl_port = server_args.nccl_port\n\n        if server_args.tokenizer_worker_num == 1:\n            tokenizer_worker_ipc_name = None\n        else:\n            tokenizer_worker_ipc_name = (\n                f\"ipc://{tempfile.NamedTemporaryFile(delete=False).name}\"\n            )\n\n        instance_id = uuid.uuid4().hex[:12]\n\n        decoupled_spec_ipc_config = None\n        if server_args.decoupled_spec_role != \"null\":\n            if (\n                server_args.decoupled_spec_bind_endpoint is None\n                or server_args.decoupled_spec_connect_endpoints is None\n                or server_args.decoupled_spec_rank is None\n            ):\n                raise ValueError(\n                    \"--decoupled-spec-bind-endpoint, \"\n                    \"--decoupled-spec-connect-endpoints, and \"\n                    \"--decoupled-spec-rank are required for decoupled speculative decoding.\"\n                )\n            decoupled_spec_ipc_config = DecoupledSpecIpcConfig(\n                bind_endpoint=server_args.decoupled_spec_bind_endpoint,\n                connect_endpoints=tuple(server_args.decoupled_spec_connect_endpoints),\n                rank=int(server_args.decoupled_spec_rank),\n            )\n\n        if not cfg.enable_dp_attention:\n            # Normal case, use IPC within a single node\n            return PortArgs(\n                tokenizer_ipc_name=f\"ipc://{tempfile.NamedTemporaryFile(delete=False).name}\",\n                scheduler_input_ipc_name=f\"ipc://{tempfile.NamedTemporaryFile(delete=False).name}\",\n                detokenizer_ipc_name=f\"ipc://{tempfile.NamedTemporaryFile(delete=False).name}\",\n                nccl_port=nccl_port,\n                rpc_ipc_name=f\"ipc://{tempfile.NamedTemporaryFile(delete=False).name}\",","sourceCodeStart":11195,"sourceCodeEnd":11231,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/server_args.py#L11195-L11231","documentation":"Raised when a decoupled speculative decoding role is set but any of the three required ZMQ/IPC parameters are missing. Decoupled spec decoding splits draft and verify processes, which must know their bind endpoint, connect endpoints, and rank.","triggerScenarios":"Setting --decoupled-spec-role to something other than 'null' while omitting --decoupled-spec-bind-endpoint, --decoupled-spec-connect-endpoints, or --decoupled-spec-rank.","commonSituations":"Manually launching draft/verify worker processes and forgetting one endpoint flag; scripts that parameterize only some of the decoupled spec args.","solutions":["Provide all three flags: --decoupled-spec-bind-endpoint, --decoupled-spec-connect-endpoints, --decoupled-spec-rank","Or unset --decoupled-spec-role if you did not intend decoupled speculative decoding","Check a working launch script for the exact endpoint URI format"],"exampleFix":"# before\n--decoupled-spec-role draft\n# after\n--decoupled-spec-role draft --decoupled-spec-bind-endpoint ipc://tmp/draft.sock --decoupled-spec-connect-endpoints '[\"ipc://tmp/verify.sock\"]' --decoupled-spec-rank 0","handlingStrategy":"validation","validationCode":"if decoupled_spec_role != 'null':\n    assert decoupled_spec_bind_endpoint and decoupled_spec_connect_endpoints is not None and decoupled_spec_rank is not None","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Template the full triple of decoupled-spec flags together in launch scripts","Default decoupled_spec_role to 'null' when unused"],"tags":["sglang","speculative-decoding","decoupled","ipc","missing-argument"],"backgroundTag":"missing-required-argument","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}