EPS
← All tasks·#717On hold for now

Correct #664 vLLM gotchas: chunk-it red herring + r13 tokenizer-reload root cause

kind: infra
track:

Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.

No comments yet.

Overview / Motivation

During #664's multi-relaunch vLLM saga, the durable record captured the WRONG root cause: .claude/rules/gotchas.md carries a "single large llm.generate() deadlocks the v1 EngineCore — chunk it" entry attributed to #664, but for #664 chunking + enforce_eager + prefix_caching=0 ALL failed (v16 hung identically). The ACTUAL r13 root cause was per-call AutoTokenizer.from_pretrained reloads inside _render() starving generation (fixed with functools.lru_cache) — "NOT a vLLM deadlock" per the v17 run-launched note. That correct cause is in no durable file.

The mechanism to fix this cleanly now exists (task #712 added root-cause-confirmed capture + the supersedes: field).

Goal

Correct the durable record: annotate the chunk-it gotchas.md entry as a red herring for #664, and add the r13 tokenizer-reload root cause (with the "if chunking + enforce_eager + prefix_caching=0 all fail, profile a single _render() call — suspect per-call tokenizer/model reloads" diagnostic), using the #712 supersedes: path.

HOLD — predicate-664-lands

Do NOT run until #664 reaches a terminal state. The #664 vLLM root cause has already evolved 3× (prefix-caching → CUDA graphs → V1 engine → tokenizer reload); writing the "final" correction while the session is still root-causing risks documenting a cause that changes again. Wait for #664 to land, then capture the confirmed cause.

Scope / surfaces

  • .claude/rules/gotchas.md — annotate the chunk-it / EngineCore-deadlock entry (red-herring caveat for #664) + add the tokenizer-reload root cause.
  • Prefer routing through the #712 supersedes: failure-lesson path if the #664 session posts the corrected lesson on landing (then this task verifies the durable record is correct rather than re-authoring it).

Constraints / invariants

  • Workflow-surface only.
  • Keep the genuinely-real vLLM lessons (crash-orphan EngineCore exact-PID reap, #601/#653) intact — only the #664 large-batch-deadlock attribution is the red herring.
Activity