todo: Ascend P/D request fails 500 when the decode dials a KV port nothing announced
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- distributed-systems, networking
Research direction
Reproduce the md-q10-t5 Encode/Prefill/Decode shape and capture the prefill payload at set_xfer_handshake_metadata plus the decode-resolved KV endpoint before each request. Start with wave10-logs/t5-run.log, then trace mooncake_connector.py and the serving POST /v1/chat/completions failure path. Done means determining whether 20091 is dynamically bound or incorrectly supplied by handshake metadata, with evidence identifying the responsible path.
Written by the indexing model from the issue text.
Description
What happened
Two Ascend 910B2 runs returned 500 Internal server error from a ModelDeployment.
One of the two has a complete saved chain; the other does not.
Measured, with the chain saved
Deployment md-q10-t5 (Encode + Prefill + Decode, llm-d-router), 2026-10-16. Two requests
failed, 26.4 s and 20.2 s wall time:
E1016 13:02:03 transfer_executor_base.cpp:263 Failed to connect to target: 10.42.227.218:20091,
status: 503900, errmsg: E19999: Inner Error!
E19999 Call llm::HcclAdapter::GetInstance().HcclCommPrepare(...) fail, ret: 0x9
[FUNC:PrepareHcclComm][FILE:comm_channel.cc][LINE:105]
I1016 13:02:03 transfer_executor_base.cpp:587 Retry transfer to: 10.42.227.218:20091
E1016 13:02:13 transfer_executor_base.cpp:263 Failed to connect to target: 10.42.227.218:20091
(EngineCore) ERROR mooncake_connector.py:1044 Mooncake transfer failed ... ret=-1
(EngineCore) ERROR scheduler.py:3231 Failing 1 request(s) due to KV load failure
(failure_policy=fail, 40 tokens affected)
(APIServer) ERROR serving.py:207 failed with an internal error during generation
POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
The open question is the port. The decode dialed 10.42.227.218:20091. In the same window the
prefill announced only:
Transfer Engine RPC using P2P handshake, listening on 10.42.227.218:16640
install AscendDirectTransport for: 10.42.227.218:16640
KVCacheSendingThread started listening on path: tcp://10.42.227.218:8998
No saved line binds or announces 20091. Either something allocates it dynamically and the saved
window is too narrow, or the handshake metadata carries a wrong endpoint. The saved files do not
decide between those.
Not reproduced
The same shape with a fresh prompt returned 200 with a real KV transfer on later runs
(142.38 ms / 145.90 ms with an encoder; 6.06 ms without), at prefill size 1 and at prefill
size 2. A second incident (a 3-role EPD deployment) returned one 500 and then two 200s, and it
has no saved cause.
What would close it
Reproduce on the md-q10-t5 shape and capture, before the request: the prefill's full
set_xfer_handshake_metadata payload, and the decode's resolved KV endpoint. If 20091 appears in
neither, the defect is in how the handshake names the peer.
Provenance
Measured: the quoted chain and the 500s, from wave10-logs/t5-run.log. Inferred: that 20091 is
unannounced — that is an absence in the saved window, not a proof it was never bound.
- Dominant language
- Go
- Stars
- 5
- Forks
- 6
- Avg merge
- 2h 59m
- Merged PRs (30d)
- 71
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from gpustack/gpustack-operator
-
enhancement: A recreated Devices ledger never restores the node's accelerator counting capacityOpenkind/enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gpustack/gpustack-operator#146 ·
Maintainers usually reply within 1 day
-
todo
Difficulty 4/5 3-5 days Newbie friendliness 43/100
gpustack/gpustack-operator#778 ·
Maintainers usually reply within 1 day
-
area/vendor/amd area/vendor/ascend area/worker todo
Difficulty 4/5 3-5 days Newbie friendliness 12/100
gpustack/gpustack-operator#763 ·
Maintainers usually reply within 1 day
-
kind/enhancement
Difficulty 5/5 Over a week Newbie friendliness 12/100
gpustack/gpustack-operator#756 ·
Maintainers usually reply within 1 day
-
todo
Difficulty 5/5 Over a week Newbie friendliness 8/100
gpustack/gpustack-operator#754 ·
Maintainers usually reply within 1 day
All issues in gpustack/gpustack-operator
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
hyperledger/fabric-x-orderer#1409 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
needs-area
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Azure/typespec-azure#5936 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
-
Fix mode unpins a reusable workflow call when the same repository is also used as a step actionOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/gh-actions-lock#261 ·
Maintainers usually reply within 1 day