From 82e94f8f1a2ff780212287cbfde32dd8307499a7 Mon Sep 17 00:00:00 2001 From: Shiki Wu Date: Mon, 10 Aug 2026 02:43:19 -0700 Subject: [PATCH] [None][fix] Tolerate bare responses in RpcWorker.fetch_responses Signed-off-by: Shiki Wu --- tensorrt_llm/executor/rpc_worker_mixin.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tensorrt_llm/executor/rpc_worker_mixin.py b/tensorrt_llm/executor/rpc_worker_mixin.py index 4915f7c26215..7ab7358cd495 100644 --- a/tensorrt_llm/executor/rpc_worker_mixin.py +++ b/tensorrt_llm/executor/rpc_worker_mixin.py @@ -73,8 +73,16 @@ def fetch_responses(self, timeout: Optional[float] = None) -> list: all_responses = [] for _ in range(qsize): - # The queue contains batches of responses, so extend the list - all_responses.extend(self._response_queue.get()) + # The queue normally contains batches of responses, but the + # classic _send_rsp path (exercised when postprocess workers are + # enabled) legitimately enqueues bare responses; extend() on a + # bare LlmResponse raises "'LlmResponse' object is not iterable". + # Tolerate both shapes. + item = self._response_queue.get() + if isinstance(item, list): + all_responses.extend(item) + else: + all_responses.append(item) return all_responses async def fetch_responses_async(self, timeout: Optional[float] = None) -> list: