fix: kill chromium's process group before removing its profile #93
No reviewers
Labels
No labels
area:defold
area:docs
area:infra
area:protocol
area:testing
kind:bug
kind:chore
phase:breadth
phase:core
phase:hardening
phase:slice
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
yuris/spacetimedb-defold!93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-html5-teardown"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes the #81 flake at its cause. Blocks #92 (and every PR) now that #91 made the HTML5 tier gate.
It was never a smoke failure. The tail #91's new self-report captured shows every phase PASSing on both loads of the identity-persistence check, and then:
Teardown signalled only the process it holds a handle to. Chromium's renderer and utility processes are what write the profile, and they do not die with their parent — so
rmwalked the tree against live writers.Chromium now gets its own process group and teardown signals the group, then waits for the parent to be reaped before removing the directory.
Measured on this box against a tree with a surviving grandchild writer, 8 races per mode:
ENOTEMPTYrmmaxRetries: 3ENOTEMPTYWorth recording that the retry route was tried and rejected: it papers over the race without closing it, which is why the fix is the group kill and
rmkeeps its plain options.Why it surfaced now: #91 dropped
continue-on-errorfrom the HTML5 step, so a teardown crash fails the job instead of leaving a footnote. It failed on v2 on run #230 and on v1 on run #232 — alternating wires, which is the signature of a race rather than a protocol problem. That also means gating worked exactly as intended: it turned an invisible footnote into a diagnosable failure on its second run.Verified: both tiers green locally (v1 and v2, PASS plus identity survived a reload).