Repository navigation
Conversation
…not merge) Temporary probe for a first-turn OOM kill seen only on a remote test VM: record the Gateway container's memory, CPU throttling and heap limit around the first chat turn and fail with a one-line summary, so the CI job log shows the same numbers. Close without merging.
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
The first probe showed the Gateway at its 2 GiB limit on CI without an OOM kill; record host swap and the container's swap use to see where the overflow goes.
|
Codex review: needs changes before merge. What this changesThis PR samples Gateway memory and swap during the first chat turn, then deliberately fails the test with a diagnostic summary. Example: The Docker recovery case sends “Reply with READY.” to a Gateway limited to 2 GiB.
Review scores
ProductKind: Test only · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Needs changes before merge - 1 item remains Keep this PR open for maintainer triage and preserve its explicit do-not-merge hold; it is a useful temporary investigation, with one missing diagnostic measurement. Priority: P2 Before merge
Findings
Agent review detailsHow this fits togetherThe runtime-image integration suite starts the production Gateway wrapper against a stand-in model provider; this probe reads container accounting around its first HTTP chat request. flowchart LR
A[Image Runtime Startup 2] --> B[Startup scenario helper]
B --> C[Gateway runtime container]
C --> D[Stand-in model provider]
E[Memory and swap sampler] --> C
C --> F[DIAG2692 failure summary]
E --> F
Technical reviewBest possible solution: Use the temporary probe to compare resource accounting, then let the maintainer retire it and carry any confirmed runtime repair in a separate PR. Do we have a high-confidence way to reproduce the issue? The remote-VM OOM is reported with a concrete first-turn trigger and OOMKilled result, but this review did not reproduce it or verify raw CI resource measurements. Is this the best way to solve the issue? Extending the existing container scenario is a proportionate diagnostic approach, provided it captures the claimed throttling data and remains outside main. Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 34d3848633a1. Provenance checked
TestingProof path: none. SecurityNone. EvidenceWhat I checked:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 27, 2026, 1:00 AM ET / 05:00 UTC. |
|
Diagnostic probe done: CI runners have 11 GiB swap, and this test's Gateway container sits at its 2 GiB limit and swaps 0.25-1 GiB during its first turn. A test VM without swap OOM-kills it instead. Closing without merging. |
Problem
On a remote test VM, Image Runtime Startup 2 fails all three
runtime-image-gateway-unclean-restarttests since #2982: the first Gateway's first chat turn ends with "fetch failed: other side closed" because Docker kills the Gateway container at its 2 GiB memory limit (OOMKilled: true). GitHub CI passes on the same commits. We need the same numbers from a CI runner to explain the difference.Change
Diagnostic only. The first Gateway's turn records the container's
memory.current, CPU throttling, memory limit and heap limit every 2 s, then the test fails with a one-lineDIAG2692summary in the job log.Verification
None needed beyond the job log of Image Runtime Startup 2 on this PR.
Risks
None. Draft; it is closed without merging.