vllm - 💡(How to fix) Fix [Bug]: P2pNcclConnector ZMQ port conflict when restarting disaggregated_prefill.py

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

zmq.error.ZMQError: Address already in use (addr='tcp://<YOUR_IP>:14579')

Root Cause

Description: Running examples/disaggregated/disaggregated_prefill.py, the script fails immediately with ZMQError because both the prefill and decode processes attempt to bind the same port:

RAW_BUFFERClick to expand / collapse

Your current environment

Environment:

  • vLLM version: 0.22.0
  • Hardware: 2x NVIDIA L40 46GB
  • OS: Ubuntu, CUDA 13.0
  • Model: Qwen/Qwen3-8B

🐛 Describe the bug

Description: Running examples/disaggregated/disaggregated_prefill.py, the script fails immediately with ZMQError because both the prefill and decode processes attempt to bind the same port:

zmq.error.ZMQError: Address already in use (addr='tcp://<YOUR_IP>:14579')

Root cause: In p2p_nccl_engine.py line 91, the port is calculated as kv_port + port_offset where port_offset=0 for both processes. Both prefill (rank=0) and decode (rank=1) end up binding the same port 14579.

Expected behavior: Each process should bind a different port. The fix should use kv_rank as port_offset to differentiate the two instances.

Steps to reproduce:

  1. Run python examples/disaggregated/disaggregated_prefill.py with any model
  2. Script fails immediately with ZMQError on the prefill process

disaggregated_prefill_error2.log

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

vllm - 💡(How to fix) Fix [Bug]: P2pNcclConnector ZMQ port conflict when restarting disaggregated_prefill.py