• src/sbbs3/main.cpp

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Jul 2 16:07:06 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3073a9a3503a3961912a54c2
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Add and improve log messages (warnings, errors) in input_thread()

    ... mainly to help understand (still a mystery) how the first check of
    the inbuf free space could pass (there's at least one byte available), but
    the second check (after recv()) fail and the "INPUT BUFFER FULL" message gets logged - that doesn't seem possible unless there's some other thread stuffing chars into the inbuf (and that shouldn't be happening with the exception of node spying).

    While investigating this mystery, I saw there missing node numbers and other helpful data (e.g. the number of bytes received to that point) from some of
    the log messages. And in some SSH error conditions, nothing would be logged though the input_thread's loop would terminate (break), so added some log messages for "Operation complete" and "Timeout" which had explicit handlers with no log output.

    Increase the received byte counter from 32 to 64-bits.

    Stop using the 'rd' varible for multiple purposes, improving readability.
    --- SBBSecho 3.28-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat Aug 30 21:23:55 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3a2790c7d3e538cd27404feb
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Immediately abort the event_thread() if started with server terminated

    Resolve this crash that happens when aborting startup while trying to bind
    TCP ports:

    Thread 11 "sbbs/events" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7ffff1dfc6c0 (LWP 13543)]
    js::gc::Chunk::init (this=0x7fffeb600000, rt=0x7fffe0019120) at jsgc.cpp:293 293 arena->header()->next = arena + 1;
    (gdb) bt

    Not root-caused, just worked-around/avoided. Most likely there's a js cleanup happening (e.g. destroying the JS runtime) the same time that js_init() is executing from the event_thread(), so just avoid this by not calling js_init() while already set to terminate the server.
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sun Sep 28 01:57:31 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b7d3db6c3e57e75f3ee36569
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Revert write_raw() back to direct, unprocessed, output

    deon (ALTERANT) reported an issue with his Viewdata terminal support after upgrading from v3.19 to the latest code in git. He's using JS write_raw() to send viewdata sequences to the remote terminal.

    I'm not sure why Deuce changed write_raw() from calling putcom(), but let's try reverting back to using putcom() to see if that resolves the reported issue
    and whatever objection Deuce may have.
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)