vllm-project/vllm-omni

[Bug]: Talker EngineCore crashes with islice ValueError instead of rejecting completions API for thinker+talker models

已關閉

#5,495 建立於 2026年7月28日

 (3 則留言) (0 個反應) (1 位負責人)Python (1,067 個分叉)github user discovery
bughelp wantedmedium priority

倉庫指標

星標
 (4,990 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Symptom

tests/e2e/online_serving/test_qwen3_omni.py::test_completions_rejected_for_thinker_talker[default] expects the completions API to be rejected with HTTP 400 on a thinker+talker (multi-stage) model, but the request instead reaches the stage-1 (talker) scheduler and crashes the EngineCore, surfacing as HTTP 500:

File ".../vllm_omni/core/sched/omni_ar_scheduler.py", line 268, in schedule
  scheduler_output = super().schedule(throttle_prefills)
File ".../vllm/v1/core/sched/scheduler.py", line 762, in schedule
  ) = self.kv_cache_manager.get_computed_blocks(request)
File ".../vllm/v1/core/kv_cache_manager.py", line 239, in get_computed_blocks
  self.coordinator.find_longest_cache_hit(
File ".../vllm/v1/core/single_type_kv_cache_manager.py", line 708, in find_longest_cache_hit
  for block_hash in itertools.islice(full_block_hashes, max_length // block_size):
ValueError: Stop argument for islice() must be None or an integer: 0 <= x <= sys.maxsize.

i.e. max_length is negative by the time vLLM's prefix-cache lookup runs — the to-be-rejected request is admitted into stage-1 scheduling with an invalid token length instead of being bounced at the API/validation layer.

Evidence it is deterministic and pre-existing on main

  • Build #2919 (dev/vllm-align @ 05d0926e): failed, and the automatic retry failed identically.
  • Build #2920 (pure main @ 5014fea4, same hour/hardware): identical traceback.
  • The job also appears in the failing list of the earlier main baseline #2906.

Expected

The completions endpoint should reject thinker+talker pipelines with a clean 400 before the request reaches any stage scheduler; whatever validation used to produce that 400 either no longer fires or fires after stage-1 submission.

貢獻者指南