BugZero found this defect 53 days ago.
Data sources
All data on this page is proprietary to BugZero® or gathered from public sources
3/27/2024
MongoDB Server
5.0.0
6.0.0
7.0.0
8.0.0-rc0
No fixed releases provided.
The problem is coming from a waitForDurableConfigTime call after shutdown initiated. After shutdown initiation the ThreadPoolTaskExecutor won't accept more async requests, it will run everything on the same thread. Since the VectorClockMongoD relies on the assumption that the futures created in the context of waitForDurableConfigTime will run asynchronously, it locks the same mutex that will be locked in the future as well. Since on shutdown everything run on a single thread, it causes a deadlock (double locking the same mutex on the same thread) This behavior never happened before, because earlier the mongod crashed at this point. The fix of the crash revealed the deadlock.