From c5487e2b96b2627e8c2def872449e3e43246f6a8 Mon Sep 17 00:00:00 2001 From: Matt <156021403+mawong-amd@users.noreply.github.com> Date: Wed, 21 Jan 2026 21:11:55 -0600 Subject: [PATCH] [Bugfix] Fix potential EAGLE spec decode segfault during graph capture (#32818) Signed-off-by: Matthew Wong --- vllm/v1/spec_decode/eagle.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/vllm/v1/spec_decode/eagle.py b/vllm/v1/spec_decode/eagle.py index 1ae058c2e..d32c8d021 100644 --- a/vllm/v1/spec_decode/eagle.py +++ b/vllm/v1/spec_decode/eagle.py @@ -1222,10 +1222,14 @@ class SpecDecodeBaseProposer: num_tokens_dp_padded, num_tokens_across_dp = self._pad_batch_across_dp( num_tokens_unpadded=num_tokens, num_tokens_padded=num_tokens ) - cudagraph_runtime_mode, batch_desc = self.cudagraph_dispatcher.dispatch( - num_tokens_dp_padded - ) - num_input_tokens = batch_desc.num_tokens + if use_cudagraphs: + cudagraph_runtime_mode, batch_desc = ( + self.cudagraph_dispatcher.dispatch(num_tokens_dp_padded) + ) + num_input_tokens = batch_desc.num_tokens + else: + cudagraph_runtime_mode = CUDAGraphMode.NONE + num_input_tokens = num_tokens_dp_padded if num_tokens_across_dp is not None: num_tokens_across_dp[self.dp_rank] = num_input_tokens