We don't call onCreate with the client lock, so there's a period of time where there's a new opCtx that isn't enumerable by going through the client list. When we change the storage engine for FCBIS, we first kill all opCtxes by going through the client list. Since a new opCtx might not be on the list, it can survive and will still exist after we clear the storage engine. This means the opCtx could reference a null storage engine, resulting in a segfault.
Race between creating new opCtx and killing opCtx's before switching out the storage engine
- Votes:
-
0 Vote for this issue
- Watchers:
-
5 Start watching this issue
- Created:
- Updated:
- Resolved: