The numbers from the rebased branch, and a second shape of test_dev flake
test_reload.exe 25 for 25 after the rebase and the reg_at change, with the pre-fix binary refusing 4011 of 73306 runs beside it, so the window is known racy rather than merely quiet. test_dev flaked twice over while that ran, in two different shapes. Three runs in six at load 21 were the stale-park rerun, which has a lane. Two of another six were something else: most of the daemons in the file exiting before they bound their socket, with no stale socket or daemon left behind, and six green on a quiet machine after. Neither touches the registry — a daemon that dies before binding died before any program it builds ran a line of flan_dev.c — but the second shape does not seem to have been written down anywhere, so it is written down here.
This commit is contained in:
parent
df2f23609b
commit
9ae134beaa
23
FIX.org
23
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user