docs(vm3): closeout - owner gate brief with the measured curve table; #422 filed; tests pin the shipped defaults
Opus narrow re-review of 51178f7c: APPROVE. Residuals closed: the AR plan
no longer says '<=1 LSB' unqualified (99.99% of pixels; 95 foliage-
silhouette pixels up to 73 LSB, 58 isolated); the campaign doc says the
same; AtmosphericColorPipelineTests now read the SHIPPED exposure/vignette
defaults from BuiltInAtmosphericRenderPack.Descriptor and the graph's named
DefaultVignetteStrengthFallback instead of literals.
Measured for the gate (offline Holtburg hillside, High defaults vs pack
off): mean luminance -17% noon, -44% dusk, p95 unchanged, clip 0.06% both;
neutral High vs pack off: 110,561 px at |d|=1, 95 at >=5 (foliage edges).
Evidence images under docs/research/evidence/vm3/.
#422 filed: one High-default offline capture exited with
STATUS_HEAP_CORRUPTION after a clean managed shutdown; 1 in 8 runs, never
under validation layers. VM7 gate item.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
51178f7c77
commit
a0157693ec
7 changed files with 111 additions and 8 deletions
|
|
@ -24,6 +24,35 @@ What does NOT go here:
|
|||
- Every session: scan OPEN issues at start; promote/close anything we touched during the session before ending.
|
||||
- Promoting to a Phase: mark as `DONE (promoted to Phase X)` + commit SHA where the Phase entry landed.
|
||||
|
||||
## #422 — Intermittent heap-corruption exit (0xC0000374) after a pack-on offline capture
|
||||
|
||||
**Status:** OPEN — filed 2026-08-22 at Campaign VM VM3; VM7 gate item (fix or characterise before merge).
|
||||
**Component:** rendering / render packs (Campaign AR) — native teardown
|
||||
|
||||
**Description:** `tools/run-offline-pixel-gate.ps1 -RenderPackPreset high` (shipped
|
||||
High defaults: shadows, rays, volumetrics, bloom all active) captured its
|
||||
screenshot normally, the managed shutdown ran to completion (`MossTank
|
||||
disabled` is the last log line, stderr empty), and the process then exited
|
||||
with `-1073740940` = `STATUS_HEAP_CORRUPTION`. **1 occurrence in 8 runs** of
|
||||
the identical command on the same binary (`51178f7c`); the other 7 exited 0,
|
||||
including 4 runs with `ACDREAM_DEVTOOLS=1` (Vulkan validation layers) that
|
||||
reported no validation message at all. `retail/off` and `high` with every
|
||||
effect neutral (no shadow/ray/volumetric work) have never reproduced it.
|
||||
|
||||
Campaign VM changed no native lifetime code (VM1 added a ring-section bind;
|
||||
VM3/VM5 are shader/uniform changes), so this is most likely a Campaign AR
|
||||
teardown race (a pack image/buffer/pipeline or directional depth target
|
||||
destroyed while still referenced, or a double free) that the recording-RHI
|
||||
convergence fixtures cannot see and that a 1-in-8 rate hides from the six
|
||||
connected lifecycle processes.
|
||||
|
||||
**What to do:** reproduce under the Windows debug heap / Application Verifier
|
||||
(`gflags /p /enable AcDream.App.exe /full`) or with `VK_LAYER_KHRONOS_validation`
|
||||
plus `VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION`, looping the
|
||||
offline High capture until it fires, and capture the crash stack. Fix the root
|
||||
cause — no try/catch, no "skip teardown" guard. Evidence: `artifacts/vm3/
|
||||
high-default/` (the crashing run's log; no crash dump was configured).
|
||||
|
||||
## #421 — Directional-shadow pass uploads its own transform buffer instead of binding the main pass's instance SSBO
|
||||
|
||||
**Status:** OPEN — filed 2026-08-22 at Campaign VM VM5 (post-M7 / with GPU culling).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue