tractor/ai/conc-anal
Gud Boi 064d1959b9 Expand `subint` sigint-starvation hang catalog
Add two more tests to the catalog in
`conc-anal/subint_sigint_starvation_issue.md` — same
signal-wakeup-fd-saturation fingerprint (abandoned legacy-subint driver
threads → shared-GIL starvation → `write() = EAGAIN` on the wakeup pipe
→ silent SIGINT drop), different load patterns.

Deats,
- `test_cancel_while_childs_child_in_sync_sleep[subint-False]`: nested
  actor-tree + sync-sleeping grandchild. Under `trio`/`mp_*` the "zombie
  reaper" is a subproc `SIGKILL`; no equivalent exists under subint, so
  the grandchild persists in its abandoned driver thread. Often only
  manifests under full-suite runs (earlier tests seed the
  abandoned-thread pool).

- `test_multierror_fast_nursery[subint-25-0.5]`: 25 concurrent subactors
  all go through teardown on the multierror. Bounded hard-kills run in
  parallel — so the total budget is ~3s, not 3s × 25. Leaves 25
  abandoned driver threads simultaneously alive, an extreme pressure
  multiplier. `strace` shows several successful `write(16, "\2", 1) = 1`
  (GIL round-robin IS giving main brief slices) before finally
  saturating with `EAGAIN`.

Also include a `pstree -snapt <pid>` capture showing
16+ live `{subint-driver[<interp_id>}` threads at the
moment of hang — the direct GIL-contender population.

(this commit msg was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code

(cherry picked from commit f3cea714bc)
2026-06-22 14:53:31 -04:00
..
fork_thread_semantics_execution_vs_memory.md Add posix-multithreaded-`fork()` explainer doc 2026-06-17 13:45:31 -04:00
spawn_time_boot_death_dup_name_issue.md Add boot-race conc-anal, widen `xfail` to `n_dups=8` 2026-06-17 17:39:44 -04:00
subint_cancel_delivery_hang_issue.md Doc `subint` backend hang classes + arm `dump_on_hang` 2026-06-22 14:53:31 -04:00
subint_sigint_starvation_issue.md Expand `subint` sigint-starvation hang catalog 2026-06-22 14:53:31 -04:00
test_register_duplicate_name_daemon_connect_race_issue.md Add `test_register_duplicate_name` race analysis 2026-06-17 13:45:31 -04:00
trio_033_cancel_cascade_slowdown_depth3_issue.md Bump trio depth=3 cancel timeout 6→12s 2026-06-17 17:39:44 -04:00
trio_wakeup_socketpair_busy_loop_under_fork_issue.md Add `tractor.trionics.patches` subpkg + first fix 2026-06-17 17:39:44 -04:00