BBS: TELESC.NET.BR
Assunto: Use of rate limiter can cause sbbs exception/crash under very high loa
De: Rob Swindell
Data: Mon, 6 Apr 2026 18:09:43 -0700
-----------------------------------------------------------
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 * 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.
```
n
---
mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net
-----------------------------------------------------------
[Voltar]