Issue evidence · Serve · vllm-project/vllm

SamplingParams accepts float for int fields, then LLM.generate() hangs on an EngineCore msgspec decode error

GitHub issue: https://github.com/vllm-project/vllm/issues/60998

Reproduced

A float max_tokens passes SamplingParams validation, then the engine fails to decode it and generate() never returns.

What Badgr ran

Ran the issue's script with Qwen/Qwen2.5-0.5B-Instruct on an RTX 4090 in the vLLM 0.30.0 image, capped at 240 seconds.

What came back

  • SamplingParams(max_tokens=2.5) constructed without error.
  • The engine logged msgspec.ValidationError: Expected `int | null`, got `float`.
  • generate() produced no response and no error until the 240 s cap (exit 124).

The failure is in the offline LLM API, so Badgr cannot reject the value before the engine; the receipt shows its response check catching the hang.

Related Badgr pages

Checked 2026-10-11 in Badgr’s local development environment.

← All issue evidence