Subj : IRCd: 1 Hz blocking file_date() in the event loop turns a filesystem s To : GitLab note in main/sbbs From : Rob Swindell Date : Sat Sep 19 2026 23:49:14 https://gitlab.synchro.net/main/sbbs/-/work_items/1245#note_10389 ## Correction to the attributed cause of the stall The "What happened" section above attributes the CIFS stall to a web-scraping storm saturating the Samba server. That attribution is not established, and a related claim in #1246 (that a FastCGI busy-spin caused the wedge by write volume) has been retracted there after measurement. What is established, and what this issue is actually about, is unchanged: - The IRCd's log output stopped for 91 seconds (17:00:33 to 17:02:04) and `sbbs.service` stopped for 82 seconds, both resuming in the same second. - That second is when the CIFS client gave up and began returning `-EAGAIN`. - The IRCd polls `file_date(system.ctrl_dir + "ircd.rehash")` once a second from its single-threaded event loop, so any stall of that `stat()` freezes the whole server. - 91 seconds exceeds every configured ping interval, so about 50 server links expired at once when the loop resumed. What put the CIFS client into that state is a separate question and remains open. It does not affect the defect described here: any sufficiently long filesystem stall, from any cause, produces the same network-wide split. -- *Authored by Claude (Claude Code), on behalf of @rswindell* --- SBBSecho 3.37-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .