• event thread chucked up a core dump

    From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Oct 4 14:19:12 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/981#note_7698

    Appreciate the backtrace.

    Does your `ctrl/time.ini` file appear to be corrupted?

    Is this reproducible (e.g. still happening)?

    As for the crash, some NULL pointers appear in that backtrace that shouldn't be there (e.g. the `key` argument to `iniReadDateTime()` is `0x0`) which suggests either the `scfg_t` (stored in the heap) was corrupted, or the stack got corrupted during these calls to ini_file.c functions while parsing `time.ini`.

    Since the scfg_t element that's used for key argument isn't a pointer in the first place (it's an array of char), I can't really imagine how it'd be set to NULL even through corruption. So that kind of points to stack corruption (e.g. in functions within ini_file.c).
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nigel Reed@1:103/705 to GitLab note in main/sbbs on Sat Oct 4 20:25:17 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/981#note_7700

    Doesn't seem corrupt.

    ```
    $ cat /sbbs/ctrl/time.ini
    [Events]
    mshighsc =Sep 28 2025 00:00:00
    fidoin =Oct 4 2025 22:08:17
    fidoout =Oct 4 2025 15:51:28
    newslink =Nov 23 2022 12:00:00
    chkspace =Oct 4 2025 12:00:00
    smb2sbl =Oct 4 2025 18:57:01
    sbl2smb =Oct 4 2025 18:57:02
    msgmaint =Sep 28 2025 06:33:42
    sblmaint =Nov 24 2022 02:36:07
    getimlst =Oct 4 2025 21:56:27
    listserv =Nov 23 2022 22:57:27
    dyndns =Oct 4 2025 16:05:12
    binkd =Nov 24 2022 02:52:26
    tickit =Oct 4 2025 22:11:09
    sblupdat =Oct 1 2025 00:00:16
    avat-in =Oct 4 2025 20:55:21
    avat-out =Oct 4 2025 21:56:35
    syncrypt =Oct 4 2025 16:05:12
    fixbblst =Oct 24 2023 21:44:41
    binkadv =Nov 24 2022 00:00:08
    warupd =Oct 4 2025 00:00:01
    warpoll =Oct 4 2025 22:22:29
    qwknodes =Oct 4 2025 04:10:08
    mqttstats =Oct 4 2025 22:05:13
    trashman =Oct 4 2025 04:30:00
    dostest =Oct 4 2025 21:15:03
    dosmaint =Oct 4 2025 19:30:18
    nodered =Jun 23 2025 03:38:08
    [QWK_NetworkHubs]
    VERT =Oct 4 2025 22:11:28
    DIGDIST =Oct 4 2025 22:22:39
    CAPCITY2=Oct 22 2024 20:54:52
    ```

    It's not happened since but then again I don't know which event caused it, if any. Let me know if you need any more information out of the core file.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Oct 4 22:33:56 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/981#note_7703

    It appears it was the 3rd timed event "last run time" that was trying to be read from the `time.ini` file when this issue happened. That file is only read when the event thread is started during terminal server startup or recycle.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Sat Oct 4 22:49:22 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/981#note_7704

    ... so my guess is that it's a recycling related issue, so I'd look at the log around the time this occurred for any other warnings or errors from the terminal server.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nigel Reed@1:103/705 to GitLab note in main/sbbs on Sat Oct 4 23:09:11 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/981#note_7705

    Not sure if this would explain it:

    Corefile was created Oct 3 16:04


    ```
    Oct 3 16:03:13 bbs synchronet: term Recycle semaphore file (/sbbs/ctrl/recycle) detected
    Oct 3 16:03:13 bbs synchronet: term Waiting for events thread to terminate... Oct 3 16:03:13 bbs synchronet: term Terminal Server output thread terminated (sent 184611 bytes in 2455 blocks, 75 average, 0 short)
    Oct 3 16:03:14 bbs synchronet: term Done waiting for events thread to terminate
    Oct 3 16:03:14 bbs synchronet: term Terminal Server destructor begin
    Oct 3 16:03:14 bbs synchronet: term Terminal Server destructor end
    Oct 3 16:03:14 bbs synchronet: term Terminal Server thread terminating
    [snip]
    Oct 3 16:03:16 bbs synchronet: term Recycling server...
    Oct 3 16:03:18 bbs synchronet: term Synchronet Terminal Server Version 3.21a Debug
    [snip]
    Oct 3 16:03:36 bbs synchronet: term Terminal Server thread started for nodes 1 through 10
    Oct 3 16:03:36 bbs synchronet: term Recycle semaphore signaled
    Oct 3 16:03:36 bbs synchronet: term Waiting for system output thread to terminate...
    Oct 3 16:03:36 bbs synchronet: term Done waiting for system output thread to terminate
    [snip]
    Oct 3 16:03:36 bbs synchronet: term Recycling server...
    Oct 3 16:05:07 bbs synchronet: term Synchronet Terminal Server Version 3.21a Debug
    ```

    There was a lot of recycling and a big gap between 16:03:36 and 16:05:07 which, I assume, is when it was doing a core dump.

    event thread just has

    ```
    Oct 3 16:02:53 bbs synchronet: evnt FIDOIN Running native background timed event: /sbbs/exec/sbbsecho -ce
    Oct 3 16:02:53 bbs synchronet: evnt FIDOIN Executing external: /sbbs/exec/sbbsecho -ce
    Oct 3 16:02:54 bbs synchronet: evnt FIDOIN Background timed event spawned: /sbbs/exec/sbbsecho -ce
    Oct 3 16:03:14 bbs synchronet: evnt BBS Events JavaScript: Destroying context Oct 3 16:03:14 bbs synchronet: evnt BBS Events JavaScript: Destroying runtime Oct 3 16:03:14 bbs synchronet: evnt BBS Events BBS Events thread terminated Oct 3 16:03:14 bbs synchronet: evnt BBS Events destructor begin
    Oct 3 16:03:14 bbs synchronet: evnt BBS Events destructor end
    Oct 3 16:03:36 bbs synchronet: evnt BBS Events constructor using socket -1 (settings=8212)
    Oct 3 16:03:36 bbs synchronet: evnt BBS Events temporary file directory: /sbbs/tmp/event/
    Oct 3 16:03:36 bbs synchronet: evnt BBS Events BBS Events thread started
    Oct 3 16:03:36 bbs synchronet: evnt BBS Events JavaScript: Creating event runtime: 536870912 bytes
    Oct 3 16:03:36 bbs synchronet: evnt BBS Events destructor begin
    Oct 3 16:03:36 bbs synchronet: evnt BBS Events destructor end
    Oct 3 16:05:09 bbs synchronet: evnt BBS Events constructor using socket -1 (settings=8212)
    Oct 3 16:05:09 bbs synchronet: evnt BBS Events temporary file directory: /sbbs/tmp/event/
    Oct 3 16:05:09 bbs synchronet: evnt BBS Events BBS Events thread started
    Oct 3 16:05:09 bbs synchronet: evnt BBS Events JavaScript: Creating event runtime: 536870912 bytes
    ```

    Surprised nothing actually reported a seg fault
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nigel Reed@1:103/705 to GitLab issue in main/sbbs on Wed Oct 29 22:39:13 2025
    close https://gitlab.synchro.net/main/sbbs/-/issues/981
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nigel Reed@1:103/705 to GitLab note in main/sbbs on Wed Oct 29 22:39:14 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/981#note_7806

    Closing this as unable to reproduce and will reopen if it happens again.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)