You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looking at the code, it looks like the assert check should be done after the fast exit checks? ie:
...
if (!c->conn) return C_ERR; /* Fake client for AOF loading. */
bool fAsync = !FCorrectThread(c); <--- MOVE this from start of method above to here
...
This will not fix the crash if the fast exit checks pass, so will try it on my local first and see if the crash happens again.
The text was updated successfully, but these errors were encountered:
I can confirm that the above did not solve the root cause of the crash. I reviewed the code a bit more, and here is likely the correct fix in keysCommandCore() in db.cpp:
aeAcquireLock();
std::unique_lock<decltype(cIn->lock)> lock(cIn->lock); <---- ADD THIS
addReplyProto(cIn, c->buf, c->bufpos);
...
lock.unlock(); <---- ADD THIS
aeReleaseLock();
The above will ensure the
c->lock.fOwnLock()
condition is satisfied. Will continue testing to make sure all is stable.
Testing on async_flash branch, but this bug has been around before that:
Looking at the code, it looks like the assert check should be done after the fast exit checks? ie:
This will not fix the crash if the fast exit checks pass, so will try it on my local first and see if the crash happens again.
The text was updated successfully, but these errors were encountered: