Three of the four under-load and dogfooding entries are settled, and the fourth records what was tried

This commit is contained in:
Joseph Ferano 2026-09-25 07:24:20 +07:00
parent 04f5d5a349
commit 5477c75909

View File

@ -1631,16 +1631,23 @@ sanitizer flag to it. Named as the check worth adding next; a day rather than an
hour. The x86 backend is not a gap here — that pair is refused by name, because hour. The x86 backend is not a gap here — that pair is refused by name, because
there is no sanitizer pass over hand-written assembly. there is no sanitizer pass over hand-written assembly.
** TODO A transient signal 11 on a globals daemon ** DONE A transient signal 11 on a globals daemon
Seen once, never reproduced, on a daemon whose fixture had just gained a host CLOSED: [2026-09-25]
global =Vec= and a run-time-new one. A reproduction under load would settle it. Not a segfault. The report was OCaml's signal number, and in OCaml's numbering
-11 is SIGTERM (SIGSEGV is -10). Nothing in the daemon sends itself SIGTERM, so
it was killed from outside. The test binaries now print a signal by name
(=Test_support.signal_name=); a number from =WSIGNALED= is never printed raw.
** TODO test_dev daemons fail to bind under load ** DONE test_dev daemons fail to bind under load
Daemons exiting with status 1 or 2 before binding their socket, across most of the CLOSED: [2026-09-25]
file at once, while the load average is high. No stale socket or leftover daemon /tmp is a tmpfs, and every session left its =flan-dev-<pid>= build directory
afterwards; green on a quiet machine. Distinct from the registry race and the behind (about 8MB; a test_dev run left 300MB). Several concurrent runs filled
stale-park re-run flake, both of which are fixed. A daemon that dies before it it and the daemons after that died on the link with ENOSPC. A session now
binds died on the compiler's side, before any program it built has run a line. removes its directory when it ends through =close=, and each new session
removes the directories of pids that no longer exist. A live pid's directory is
never touched, so a failed build's IR stays until the next session starts.
The half-write test's abort also goes through =aborted= now, which took the
same run down with an uncaught =Wire.Closed=.
** DONE A test binary that hangs is killed by its own alarm ** DONE A test binary that hangs is killed by its own alarm
A reader branch that forgets to advance loops for ever and the suite waits as long A reader branch that forgets to advance loops for ever and the suite waits as long
@ -1781,13 +1788,20 @@ function of that name. Not reproduced: the file type checks, =flan reload= of
the same form builds, and a minimal =defclass= + =get= + =return= program the same form builds, and a minimal =defclass= + =get= + =return= program
compiles. So it is the session path against an installed program, and what is compiles. So it is the session path against an installed program, and what is
missing is what that daemon had installed at the time. missing is what that daemon had installed at the time.
Also not reproduced against a live daemon (2026-09-25): an =eval= of the
=defclass=, of a =defn= doing the =get= and =return=, and of both in one form,
and an =eval-expr= of the =get=, all succeed. In a session every installed
function of no arguments returning =()= has the type =(CFn [] ())=, not only
=pause= — a bare =pause= or =tick= asked of the session says so — so the
keyword may not be what resolved. The next report wants the exact form sent.
** TODO A digit does not take the restart RET takes ** DONE A digit does not take the restart RET takes
Pressing =0= left the program stopped; RET on the same line resumed it. Both CLOSED: [2026-09-25]
end in =flan-cnr-take=, but the digit path (=flan-cnr-take-number=, Evil's normal state binds =0= (beginning of line), =1=-=9= (a count) and RET
=flan-cnr.el:559=) scans from =point-min= for the line whose =flan-cnr-index= above the major mode's map, so the digit never reached =flan-cnr-take-number=.
matches and calls =take= inside a =save-excursion=. Not reproduced yet — needs =flan-cnr-mode-map= is now an Evil overriding map; keys it does not bind stay
a non-raylib program stopped under a test daemon. Evil's. The other special-mode buffers (inspect, watch, doc, disassembly,
diagnostics, lower) have the same exposure and are not changed.
** TODO Eval in the frame, from the break loop ** TODO Eval in the frame, from the break loop
An expression is evaluated at a frame boundary, so it sees globals and not the An expression is evaluated at a frame boundary, so it sees globals and not the