• Use of rate limiter can cause sbbs exception/crash under very high loa

    From Rob Swindell@1:103/705 to GitLab issue in main/sbbs on Mon Apr 6 18:09:43 2026
    open https://gitlab.synchro.net/main/sbbs/-/issues/1113

    Apparently we do need to mutex-protect the unordered_map in the `rateLimiter` class:

    NULL pointer deref exception occurred here:
    ```
    * websrvr.dll!std::_Adjust_manually_vector_aligned(void * & _Ptr, unsigned int & _Bytes) Line 205 C++ Symbols loaded.
    websrvr.dll!std::_Deallocate<8>(void * _Ptr, unsigned int _Bytes) Line 286 C++ Symbols loaded.
    websrvr.dll!std::allocator<__int64 *>::deallocate(__int64 * * const _Ptr, const unsigned int _Count) Line 985 C++ Symbols loaded.
    websrvr.dll!std::deque<__int64,std::allocator<__int64>>::_Growmap(unsigned int _Count) Line 1644 C++ Symbols loaded.
    websrvr.dll!std::deque<__int64,std::allocator<__int64>>::_Emplace_back_internal<__int64 const &>(const __int64 & <_Vals_0>) Line 1145 C++ Symbols loaded.
    websrvr.dll!std::deque<__int64,std::allocator<__int64>>::push_back(const __int64 & _Val) Line 1249 C++ Symbols loaded.
    websrvr.dll!rateLimiter::allowRequest(const std::string & clientId) Line 51 C++ Symbols loaded.
    websrvr.dll!get_req(http_session_t * session, char * request_line) Line 3542 C++ Symbols loaded.
    websrvr.dll!http_session_thread(void * arg) Line 7072 C++ Symbols loaded.
    websrvr.dll!thread_start<void (__cdecl*)(void *),0>(void * const parameter) Line 101 C++ Symbols loaded.
    kernel32.dll!@BaseThreadInitThunk@12() Unknown Non-user code. Symbols loaded without source information.
    ntdll.dll!___RtlUserThreadStart@8() Unknown Non-user code. Symbols loaded without source information.
    ntdll.dll!__RtlUserThreadStart@8() Unknown Non-user code. Symbols loaded without source information.

    ```
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab issue in main/sbbs on Tue Apr 7 20:00:13 2026
    close https://gitlab.synchro.net/main/sbbs/-/issues/1113
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)