BBS:      TELESC.NET.BR
Assunto:  src/ssh/TODO.md src/ssh/test/test_selftest.c
De:       Deuc¨
Data:     Mon, 30 Mar 2026 14:17:14 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/5633d44598b307e390232a37
Modified Files:
	src/ssh/TODO.md src/ssh/test/test_selftest.c
Log Message:
Fix 12 more selftest write-before-window races (closes item 106)

Same root cause as item 104: client-side dssh_chan_write called before
the server's WINDOW_ADJUST was processed, so remote_window was still 0
and the non-blocking write returned 0.  Under -j16 contention this
manifested as ASSERT failures in 3 variants (dssh_self, dssh_self_rsa,
dssh_self_mlkem) and a secondary Bus error from use-after-free when the
server echo thread's stack overwrote the test's popped stack frame.

Added dssh_chan_poll(DSSH_POLL_WRITE) before the first client-side write
in 12 test functions.  50 consecutive clean runs under -j16 after fix.

Co-Authored-By: Claude Opus 4.6 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]