Files
lmxopcua/docs/plans/evidence/2026-11-10-opcua2/saturation-candidate.md
T
Joseph Doherty 4a04806d22
v2-ci / unit-tests (pull_request) Has been cancelled
test: preserve saturation outcome and classify final CI corrections
2026-11-10 15:46:58 -05:00

2.2 KiB
Raw Blame History

Candidate canonical saturation diagnostic

The prospectively fixed experiment completed 384 canonical cycles / 96 restarts plus one settling cycle in 1,425.242 seconds, within the 1,800-second cutoff. Both traced windows, 321–352 and 353–384, recorded zero generated-factory JIT/load events, zero new SDK assembly loads and zero lost events; the continuous attached interval also had zero such events. Other JIT starts: 287. Summed CLR MethodSize values: 60,760 bytes; this is not an RSS/PSS measurement. The observer was active before cycle 321 and stopped/drained before cycle 385. Shutdown ownership checks passed.

The cold resource failure remains: cycle 248 RSS 362,409,984 exceeded 358,838,272 bytes (cycle 3 + 128 MiB). The first assertion was retained and rethrown; test/container/launcher exit 1, one failed executed lifecycle test, no ordinary completion/full-duration result. Descriptor controls passed 2/2. Readiness=true describes the selected generated-factory criterion on the canonical workload, not general runtime/performance readiness, G4 acceptance or #799 closure.

Source 2738d7cc, exact SDK 2.0.1 and HG 1.0.0; both participants use self-contained Linux ARM64 runtime 10.0.14. Astra approved the exact immutable 1,275-file bundle before launch and independently verified 1,064 module identities. The production/ central-package source tree matched the candidate. Outer output permissions were 0700; private PKI and raw trace stay unversioned.

OPCUA_CERTIFICATE_LEAK_TRACKING=1 was enabled before startup. Exact SDK tracking captures an allocation StackTrace and tracker entry per wrapper. This additional diagnostic overhead prevents reuse as an uninstrumented performance/acceptance baseline. Caps and measurement baseline were unchanged.

Hashed result, windows, failure and runtime receipts preserve cold/warm/peak observations. A matched original-SDK canonical adapter, prospectively reviewed acceptance procedure and at least 7,200 seconds after fixed warmup are still required before a replacement resource gate could be considered. Continued macOS native certificate-object accumulation remains separate and unresolved. No production workaround or acceptance waiver was applied.