Strange behavior of QBasicAtomicInt::testAndSetRelease
I am working on some code which ,after holding an exception returns 0. And after that executes some code ,which eventually throws exception: The call stack is :
@QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue) Line 381
QMutex::unlock() Line 382 + 0x11 bytes@
Looks like it happens from QMetaObject::activate@ it calls QMutex::unlock() twice. Is it always twice?
In the code the debugger points to the exit of function :QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue). The values of expectedValue and newValue are strange (non valid) - 2806644 and 63243056
I have no idea how to proceed with that and investigate where /what causes to this behavior. Any advices?
P.S. For me theoretically it looks like mutex which was not locked is unlock ....But if it is even correct - I have no idea how to find what mutex is that and what causes such behavior