• Synchronet v3.21c for Win32 crashes upon startup with some version(s)

    From Rob Swindell@VERT to GitLab issue in main/sbbs on Friday, February 27, 2026 17:37:35
    open https://gitlab.synchro.net/main/sbbs/-/issues/1089

    Initially reported via IRC:
    ```
    <esc> Faulting application name: sbbs.exe, version: 0.0.0.0, time stamp: 0x699eb724
    <esc> Faulting module name: MSVCP140.dll, version: 14.16.27024.1, time stamp: 0x5be33050
    <esc> Exception code: 0xc0000005
    <esc> Fault offset: 0x0001d387
    <esc> Faulting process id: 0x3C8C
    <esc> Faulting application start time: 0x1DCA6A906E467D0
    <esc> Faulting application path: C:\sbbs\exec\sbbs.exe
    <esc> Faulting module path: C:\Windows\SYSTEM32\MSVCP140.dll
    <esc> Report Id: 1cc1926a-f349-47ec-8dff-159e958a099a
    <esc> Faulting package full name:
    <esc> Faulting package-relative application ID:
    <DigitalMan> definitely looks like a crash
    <DigitalMan> this is a fresh install or an upgrade?
    <esc> This is an upgrade but I had the same behavior on a fresh install <DigitalMan> weird that there's no log output
    <esc> Reinstalled msvc++ 2015-2022 x86 and the crash is gone. Woot!
    ```
    Apparently reinstalling or upgrading the Microsoft C++ runtime fixed the issue.

    ---
    ώ Synchronet ώ Vertrauen ώ Home of Synchronet ώ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Friday, February 27, 2026 17:38:33
    https://gitlab.synchro.net/main/sbbs/-/issues/1089#note_8470

    Another report (by Biggieb)
    ```
    Faulting module name: MSVCP140.dll, version: 14.0.24215.1, time stamp: 0x57bfd592
    ```

    ---
    ώ Synchronet ώ Vertrauen ώ Home of Synchronet ώ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Friday, February 27, 2026 17:42:27
    https://gitlab.synchro.net/main/sbbs/-/issues/1089#note_8471

    This looks like the link to use to update the MS C++ runtime for x86: https://aka.ms/vc14/vc_redist.x86.exe

    ---
    ώ Synchronet ώ Vertrauen ώ Home of Synchronet ώ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Friday, February 27, 2026 19:08:12
    https://gitlab.synchro.net/main/sbbs/-/issues/1089#note_8473

    It appears disabling the Filter File Cache (in SCFG->System->Advanced Options) is another work-around:
    ``` β•”[β– ][?]══════════════════════════════════════════╗
    β•‘ Advanced Options β•‘ ╠════════════════════════════════════════════════╣
    β•‘ β”‚Output SIF Questionnaire β•‘
    β•‘ β”‚Credits Per Dollar 2,097,152 β•‘
    β•‘ β”‚Minutes Per 100K Credits 6 β•‘
    β•‘ β”‚Maximum Number of Minutes Unlimited β•‘
    β•‘ β”‚Warning Days Till Expire 30 β•‘
    β•‘ β”‚Last Displayable Node 250 β•‘
    β•‘ β”‚Phone Number Format !!!!!!!!!!!! β•‘
    β•‘ β”‚Sysop Chat Override β•‘
    β•‘ β”‚User Database Backups 5 β•‘
    β•‘ β”‚Mail Database Backups 5 β•‘
    β•‘ β”‚Configuration Backups 5 β•‘
    β•‘ β”‚Maximum Log File Size 10M bytes, keep 10 β•‘
    β•‘ β”‚Maximum User Inactivity 15 minutes β•‘
    β•‘ β”‚User Inactivity Warning 75 percent β•‘
    β•‘ β”‚Control Key Pass-through 0 β•‘
    β•‘ β”‚Statistics Interval 10 seconds β•‘
    β•‘->Cache Filter Files <disabled> <- β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
    ```

    ---
    οΏ­ Synchronet οΏ­ Vertrauen οΏ­ Home of Synchronet οΏ­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Friday, February 27, 2026 19:26:00
    https://gitlab.synchro.net/main/sbbs/-/issues/1089#note_8475

    Appears to be triggered by use of std::mutex

    ---
    ώ Synchronet ώ Vertrauen ώ Home of Synchronet ώ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Friday, February 27, 2026 21:36:48
    https://gitlab.synchro.net/main/sbbs/-/issues/1089#note_8480

    It's crashing in filterFile::listed() upon mutex acquisition.

    This happens whether using std::mutex or our pthread_mutex wrappers around Win32 Critical Sections. Using *actual* Win32 Mutexes (defining PTHREAD_MUTEX_AS_WIN32_MUTEX) seems to solve the problem as well (but undesirable due to performance).

    ---
    ώ Synchronet ώ Vertrauen ώ Home of Synchronet ώ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab issue in main/sbbs on Saturday, February 28, 2026 18:47:30
    close https://gitlab.synchro.net/main/sbbs/-/issues/1089

    ---
    ώ Synchronet ώ Vertrauen ώ Home of Synchronet ώ [vert/cvs/bbs].synchro.net