Skip to content

Classify intentional Program shutdown separately from required delivery misses #941

Closed

Description

@iamfatness

Observed on the qualified installed beta-2026-10-17-d95c31e during API-driven Volt validation (#926), after all test outputs had stopped and finalized.

Shell close requested 13:13:40.1280613 Eastern, stopping core/closing stdin at13:13:40.1365533. All81 [program-buffer-miss] stage=source entries occur13:13:40.1997334–13:13:41.5331933; every entry has front=-1,state=-1,skipped=0. Core exits normally13:13:41.6578072. The complete core trace contains matching81 ProgramMiss/Unavailable events, no lost events/export failures. Thus first miss is71.7ms after close request and all are within intentional shutdown; no miss occurs in startup, Clear/rejoin, reader shutdown or stable required-output interval in this captured trial.

The corresponding stable OS-camera interval has3601 contiguous pixel identities5160–8760 and the finalized Program verifies the same range. The core host-time intersection has3600 Program deliveries over59.9831466s with0gaps/reordering/misses. These finite passes do not establish sustained/output/display acceptance.

Static mechanism: D3DProgramBuffer deliveryLoop charges Unavailable when no Ready slot matches the due timeline while stopped_ isfalse. It stops only when buffer destruction sets stopped_. D3D11Compositor destruction resets grade/monitor workers and GPU leases before resetting programBuffer_. Logs prove the render producer has ceased while delivery still charges empty slots; the exact cleanup owner responsible for the1.3s tail has not been independently timed. No claim that a specific worker is stalled.

Expected: lifecycle cessation and shutdown diagnostics must distinguish intentional stopping from missed required delivery. Preserve genuine misses while outputs are required; do not hide/retroactively erase failures. Stop/detach the scheduled delivery owner at the appropriate explicit lifecycle boundary and retain separately classified shutdown observations if needed. Verify a normal close with no active output and a controlled genuine steady-state miss; exact test design belongs to an owner-ranked implementation.

Evidence retained locally: artifacts/sources-workspace/volt-live-d95c31e/core.bin, program-miss-events.json, delivery-trace-verdict.json (whole-capture FAIL retained), delivery-trace-camera-interval.json, shutdown-attribution.log, shutdown-shell-boundaries.log. All9temporary MP4s removed after reports per owner request.

New intake, needs owner rank. No implementation/context switch performed; #926 performance acceptance remainsfalse for separate sustained/display gates.

Activity

  1. iamfatness commented on Nov 6, 2026

    @iamfatness
    OwnerAuthor

    Merged #1192 as e3f4571632af87f13b89060acafd5b5e67f2f651 after all 17 current-head checks passed at bc58c90004520d82446f392dc3762ee9a134da02. The prerequisite #1193 had already merged. Before merging, the computed merge tree with main was exactly the tested candidate tree, 597e2518a9123d8cd993e37750eecc00aefabf24.

    The actual server shutdown path now joins the render producer and immediately stops scheduled Program delivery before retiring unrelated owners. The buffer stop is idempotent, waits for in-flight delivery callbacks and preserves leases until ordinary destruction. Active starvation and existing failures remain visible. Removing the server call fails the actual RPC retirement-order regression; restoring it passes. Actual D3D worker tests cover genuine active misses, stopped admission/callbacks, resource ownership, repeated stop and existing failure classification.

    The exact integrated local candidate passed 2098 native cases and all four CTest targets. No-output normal-close probes establish cessation at the correct lifecycle boundary. The initial destructor-only attempt failed and remains retained. The fresh three-frame whole trace passes with zero misses; the fresh two-frame whole trace fails with one Unavailable at sequence2 before baseline, already counted at baseline with no increase during steady operation or shutdown. That separate failure remains open as #1194. It is not erased, filtered, retried into a pass or claimed as an RC performance pass. Active-output finalization and full RC qualification remain outside this finite no-output close acceptance.

    This closes the observed intentional-shutdown accounting defect. Evidence is retained under D:/CoreVideo-QA/resume-20261106/941-*, with final check and merge snapshots pr-1192-premerge-checks.json and pr-1192-merge-result.json. The published beta remains at 74495ade; this later lifecycle change is not silently included in its assets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogRanked in docs/BACKLOG.md

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions