Capture the actual startup graph-manager fields before profile finalization
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
Row: KV-WARMUP-PROFILE
The private startup memory observer prepared for #3046 cannot finalize its first real Qwen3.5-0.8B run on the active e126687a9a828d513c01a07cd69f025f27d63280 vLLM pin.
The approved-image model launch exits 0 and publishes its state capture. Finalization exits 1 with PROFILE3046_REFUSED 'graphs'. The worker's recorded graph manager has type vllm.v1.worker.gpu.cudagraph_utils.ModelCudaGraphManager, an object identity, and an empty field dictionary. The observer's FIELDS includes only CudaGraphManager, and primitive() selects by exact type name. The finalizer then indexes the missing graphs field.
The executing upstream source declares the subclass at vllm/v1/worker/gpu/cudagraph_utils.py:468 and constructs it at gpu/model_runner.py:646. Existing SimpleNamespace-based boundary fixtures did not expose this omission. The previously reviewed private observer source seal is f2447167d61bea11aeb00fbd001068d2368017e49d57e7750d4fd4b14a083d45.
The owning committed spec is .agents/specs/warmup-memory-profiling.md at 85e439a8ec2ac1d6d1b44226d83b3677a2433910. Repair the private passive field capture using the actual pinned runtime type, add a regression that reaches the real serialization/finalization path, and preserve every graph-identity, process-completeness, source and no-extra-query obligation. A new GPU run is required after fresh review and the operator gate; missing fields in the preserved failed capture cannot be reconstructed as observed data.
The failed run is auto-enabled-1, 2026-09-08 04:24–04:31 UTC, with unchanged observer/model/state source. Other startup-observer GPU controls stopped pending this repair. No product/default/numerical/performance acceptance follows from the model's zero exit.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read vllm/v1/worker/gpu/cudagraph_utils.py:468 and gpu/model_runner.py:646 in the pinned runtime, then compare the actual graph-manager fields with the private observer capture. Add a regression reaching real serialization and finalization, preserving the listed graph-identity, completeness, source, and no-extra-query obligations. Done requires fresh review, the operator gate, and a new GPU run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- ai-infra-agents, observability, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100