Subj : src/ssh/TODO.md src/ssh/test/test_selftest.c To : Git commit to main/sbbs/master From : Deuc¨ Date : Mon Mar 30 2026 14:17:14 https://gitlab.synchro.net/main/sbbs/-/commit/753b6cf1ff5e8b5cbf210660 Modified Files: src/ssh/TODO.md src/ssh/test/test_selftest.c Log Message: Fix selftest echo write race: poll for DSSH_POLL_WRITE before first write dssh_chan_write is non-blocking by design Ä returns 0 when remote_window is 0. Both sides open channels with initial_window=0 then independently send WINDOW_ADJUST after setup. Under -j16 contention (especially RSA keygen), the server's WINDOW_ADJUST hadn't been processed by the client's demux thread before the test wrote, causing ~40% failure rate in dssh_self_rsa and dssh_self_mlkem_rsa variants. Add dssh_chan_poll(DSSH_POLL_WRITE) before the first write in test_self_exec_echo and test_self_shell_echo, matching the pattern already used by test_self_shell_large_data. Make server_echo_thread (both instances) use a poll-then-retry write loop to avoid silently dropping data on partial writes. Also log item 106: intermittent dssh_self_dhgex failure observed once under heavy -j16 contention, not yet reproduced. Co-Authored-By: Claude Opus 4.6 (1M context) --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .