Details
Description
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.