In case of modules, ThreadSafeContexts can use RM_ReplyWith* family functions from threads. If RM_ReplyWithError() is called, it might lead to a call to afterErrorReply() first and then incrementErrorCount() . Inside this function, server.errors table will be accessed/modified without synchronization with the main thread or other threads.
Problematic call stack would be :
A call for a thread-safe context :
1- RM_ReplyWithError()
2- addReplyErrorFormat()
3- afterErrorReply()
4- incrementErrorCount()
Introduced by #8217
In case of modules, ThreadSafeContexts can use
RM_ReplyWith*family functions from threads. IfRM_ReplyWithError()is called, it might lead to a call toafterErrorReply()first and thenincrementErrorCount(). Inside this function,server.errorstable will be accessed/modified without synchronization with the main thread or other threads.Problematic call stack would be :
Introduced by #8217