diff --git a/FIX.org b/FIX.org index 461e8fe..a5f080b 100644 --- a/FIX.org +++ b/FIX.org @@ -5631,6 +5631,29 @@ And independently, by the reviewer, on their own machine and harness: 9 of 72 refused before under 24-way contention, 0 of 120 after, test_reload.exe 20 for 20, and 10 for 10 again on the rebased merge. +Re-run after the rebase and the [flan_dev_reg_at] change, same control +arrangement: test_reload.exe 25 for 25, with the pre-fix binary refusing 4011 +of the 73306 runs it managed beside it. + +** Two shapes of test_dev flake seen while proving this, neither of them this +Worth recording because the second one does not seem to have a name yet. +Running test_dev.exe six times at load 21 gave three failures. All three were +one shape — [rerun: the program is already running], cascading into every +dev-rerun assertion after it — which is the stale-park in [flan_merged_rerun] +(lib/dev.ml) that has its own lane. + +A second six-run batch, while the load average was still falling from that, +gave two failures of a different shape: a daemon exiting with status 1 or 2 +"before binding /tmp/flan-devtest-*.sock", across most of the daemons in the +file at once. No stale socket or leftover daemon was found afterwards. Six +more runs on a genuinely quiet machine: six green. + +Neither is the registry and neither is this fix. A daemon that dies before it +binds died on the OCaml side of the world, before any program it builds has +run a line of flan_dev.c, and the rerun shape never reads the allocation table +at all. They are noted here only so that the next person who sees red in +test_dev under load has both shapes written down rather than one. + ** It also hardens the address root, which was the same spin [flan_dev_reg_at] — the inspector's "what block is this address in" — calls the same [flan_reg_snap] and, unlike the listing, steps *past* a slot it could