vllm - 💡(How to fix) Fix [Bug]: EagleMistralLarge3Model crashes with AttributeError: 'use_mha' on vLLM 0.21.0 [1 pull requests]

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…

EagleMistralLarge3Model fails during weight loading with:

File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/deepseek_v2.py", line 1355, in load_weights
    if self.use_mha:
       ^^^^^^^^^^^^
AttributeError: 'EagleMistralLarge3Model' object has no attribute 'use_mha'

This worked in vLLM 0.19.x / 0.20.2 and regressed in 0.21.0.

Error Message

File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/deepseek_v2.py", line 1355, in load_weights if self.use_mha: ^^^^^^^^^^^^ AttributeError: 'EagleMistralLarge3Model' object has no attribute 'use_mha'

Root Cause

PR #16383 moved load_weights from DeepseekV2ForCausalLM to DeepseekV2Model, which now references self.use_mha. DeepseekV2Model.__init__ sets this attribute, but EagleMistralLarge3Model.__init__ calls nn.Module.__init__(self) directly instead of super().__init__(), so use_mha is never initialized.

This is the same class of bug fixed in #37232 (missing aux_hidden_state_layers). The underlying fragility — bypassing the parent __init__ — was flagged by reviewers at the time.

Fix Action

Fixed

Code Example

(APIServer pid=1) INFO 05-21 08:22:26 [utils.py:240] non-default args: {'model_tag': 'mistralai/Mistral-Large-3-675B-Instruct-2512-NVFP4', 'enable_auto_tool_choice': True, 'tool_call_parser': 'mistral', 'model': 'mistralai/Mistral-Large-3-675B-Instruct-2512-NVFP4', 'tokenizer_mode': 'mistral', 'served_model_name': ['mistral-large-3-675b-instruct-2512'], 'config_format': 'mistral', 'load_format': 'mistral', 'tensor_parallel_size': 8, 'speculative_config': {'model': 'mistralai/Mistral-Large-3-675B-Instruct-2512-Eagle', 'num_speculative_tokens': 3, 'method': 'eagle', 'max_model_len': '16384'}}

---

File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/deepseek_v2.py", line 1355, in load_weights
    if self.use_mha:
       ^^^^^^^^^^^^
AttributeError: 'EagleMistralLarge3Model' object has no attribute 'use_mha'

---

vllm serve mistralai/Mistral-Large-3-675B-Instruct-2512 \
  --speculative-config '{"model": "mistralai/Mistral-Large-3-675B-Instruct-2512-Eagle", "num_speculative_tokens": 3, "method": "eagle"}'
RAW_BUFFERClick to expand / collapse

Your current environment

Environment

  • vLLM version: 0.21.0
  • Model: mistralai/Mistral-Large-3-675B-Instruct-2512 with Eagle speculative decoding
  • Hardware: 8x H200 NVL, TP=8
(APIServer pid=1) INFO 05-21 08:22:26 [utils.py:240] non-default args: {'model_tag': 'mistralai/Mistral-Large-3-675B-Instruct-2512-NVFP4', 'enable_auto_tool_choice': True, 'tool_call_parser': 'mistral', 'model': 'mistralai/Mistral-Large-3-675B-Instruct-2512-NVFP4', 'tokenizer_mode': 'mistral', 'served_model_name': ['mistral-large-3-675b-instruct-2512'], 'config_format': 'mistral', 'load_format': 'mistral', 'tensor_parallel_size': 8, 'speculative_config': {'model': 'mistralai/Mistral-Large-3-675B-Instruct-2512-Eagle', 'num_speculative_tokens': 3, 'method': 'eagle', 'max_model_len': '16384'}}

🐛 Describe the bug

Description

EagleMistralLarge3Model fails during weight loading with:

File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/deepseek_v2.py", line 1355, in load_weights
    if self.use_mha:
       ^^^^^^^^^^^^
AttributeError: 'EagleMistralLarge3Model' object has no attribute 'use_mha'

This worked in vLLM 0.19.x / 0.20.2 and regressed in 0.21.0.

Root Cause

PR #16383 moved load_weights from DeepseekV2ForCausalLM to DeepseekV2Model, which now references self.use_mha. DeepseekV2Model.__init__ sets this attribute, but EagleMistralLarge3Model.__init__ calls nn.Module.__init__(self) directly instead of super().__init__(), so use_mha is never initialized.

This is the same class of bug fixed in #37232 (missing aux_hidden_state_layers). The underlying fragility — bypassing the parent __init__ — was flagged by reviewers at the time.

How to Reproduce

vllm serve mistralai/Mistral-Large-3-675B-Instruct-2512 \
  --speculative-config '{"model": "mistralai/Mistral-Large-3-675B-Instruct-2512-Eagle", "num_speculative_tokens": 3, "method": "eagle"}'

Suggested Fix

Add self.use_mha = False to EagleMistralLarge3Model.__init__ in vllm/model_executor/models/mistral_large_3_eagle.py. Mistral Large 3 uses MLA, so this is always False.

Longer term, the bypassed super().__init__() pattern will keep causing these regressions whenever DeepseekV2Model.__init__ gains new attributes.

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