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
|
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.
|
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
|
** 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
|
[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
|
the same [flan_reg_snap] and, unlike the listing, steps *past* a slot it could
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user