-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Storage
-
None
-
Fully Compatible
-
ALL
-
Repl 2017-11-13
-
0
Attempting to acquire a LockManager lock while holding a mutex is prone to deadlock. The ReplicationCoordinatorExternalStateImpl::startSteadyStateReplication() function attempting to acquire a LockManager lock while holding the ReplicationCoordinatorImpl::_mutex can result in a deadlock with the MMAPv1 flush lock in the following way:
The "durability" thread (#6 below) is holding the MMAPv1 flush lock and is waiting for the "journal writer" thread's (#7) in-progress buffer to be flushed. The "journal writer" thread is attempting to advance the durable opTime and is waiting to acquire the ReplicationCoordinatorImpl::_mutex. Thread #28 is holding the ReplicationCoordinatorImpl::_mutex and is waiting to acquire the MMAPv1 flush lock, resulting in a 3-way deadlock scenario.
Note: This issue was introduced by the changes from 6264d36 as part of SERVER-30639 and therefore only affects the master branch.
. 6 Id: 15e0.1b84 Suspend: 1 Teb: 000007ff`fffac000 Unfrozen Start: ucrtbase!crt_at_quick_exit+0x20 (000007fe`f45fbdc0) Priority: 0 Priority class: 32 Affinity: f # Child-SP RetAddr Call Site 00 00000000`096eeaa8 00000000`7706105d ntdll!NtWaitForKeyedEvent+0xa 01 00000000`096eeab0 00000000`76dcb6a8 ntdll!RtlSleepConditionVariableSRW+0xfd 02 00000000`096eeb20 000007fe`f3368678 kernel32!SleepConditionVariableSRW+0x28 03 00000000`096eeb60 000007fe`f3368840 MSVCP140!std::_Syserror_map+0x198 04 00000000`096eeb90 00000001`3f4aaa4f MSVCP140!Cnd_destroy+0x70 05 (Inline Function) --------`-------- mongod!std::_Cnd_waitX+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 95] 06 (Inline Function) --------`-------- mongod!std::condition_variable::wait+0x10 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex @ 565] 07 00000000`096eec10 00000001`3f4aabac mongod!mongo::BlockingQueue<mongo::dur::JournalWriter::Buffer * __ptr64>::blockingPop(void)+0x5f [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\util\queue.h @ 172] 08 00000000`096eec70 00000001`3f4bbc78 mongod!mongo::dur::JournalWriter::flush(void)+0x6c [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\storage\mmap_v1\dur_journal_writer.cpp @ 201] 09 00000000`096eece0 00000001`3f4b9f69 mongod!mongo::dur::durThread(class mongo::ClockSource * cs = 0x00000000`01495e50, int64 serverStartMs = 0n1507139809647)+0x9e8 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\storage\mmap_v1\dur.cpp @ 825] 0a (Inline Function) --------`-------- mongod!std::_Invoker_functor::_Call+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1375] 0b (Inline Function) --------`-------- mongod!std::invoke+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 0c (Inline Function) --------`-------- mongod!std::_LaunchPad<std::unique_ptr<std::tuple<void +0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 240] 0d 00000000`096ef830 00000001`3f2770e9 mongod!std::_LaunchPad<std::unique_ptr<std::tuple<void (class std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl*)(mongo::ClockSource *,__int64),mongo::ClockSource *,__int64>,std::default_delete<std::tuple<void (__cdecl*)(mongo::ClockSource *,__int64),mongo::ClockSource *,__int64> > > > * _Ln = 0x00000000`001ae468)+0x79 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 247] 0e 00000000`096ef870 000007fe`f45fbe1d mongod!std::_Pad::_Call_func(void * _Data = <Value unavailable error>)+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 210] 0f 00000000`096ef8a0 00000000`76d959cd ucrtbase!crt_at_quick_exit+0x7d 10 00000000`096ef8d0 00000000`76fca561 kernel32!BaseThreadInitThunk+0xd 11 00000000`096ef900 00000000`00000000 ntdll!RtlUserThreadStart+0x21
. 7 Id: 15e0.112c Suspend: 1 Teb: 000007ff`fffaa000 Unfrozen Start: ucrtbase!crt_at_quick_exit+0x20 (000007fe`f45fbdc0) Priority: 0 Priority class: 32 Affinity: f # Child-SP RetAddr Call Site 00 00000000`095bfa18 00000000`76fa7ca6 ntdll!NtWaitForKeyedEvent+0xa 01 00000000`095bfa20 000007fe`f3368c45 ntdll!RtlFindLeastSignificantBit+0xf6 02 00000000`095bfa80 00000001`3f689996 MSVCP140!Mtx_destroy+0xb5 03 (Inline Function) --------`-------- mongod!std::_Mtx_lockX+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 70] 04 (Inline Function) --------`-------- mongod!std::_Mutex_base::lock+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex @ 43] 05 (Inline Function) --------`-------- mongod!std::unique_lock<std::mutex>::{ctor}+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex @ 273] 06 00000000`095bfae0 00000001`3f4aa80b mongod!mongo::repl::ReplicationCoordinatorImpl::setMyLastDurableOpTimeForward(class mongo::repl::OpTime * opTime = 0x00000000`014a5050)+0x36 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\repl\replication_coordinator_impl.cpp @ 1028] 07 00000000`095bfb40 00000001`3f4aa415 mongod!mongo::dur::JournalWriter::_journalWriterThread(void)+0x3cb [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\storage\mmap_v1\dur_journal_writer.cpp @ 250] 08 (Inline Function) --------`-------- mongod!std::_Invoker_pmf_pointer::_Call+0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1340] 09 (Inline Function) --------`-------- mongod!std::invoke+0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 0a (Inline Function) --------`-------- mongod!std::_Invoke_ret+0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1475] 0b (Inline Function) --------`-------- mongod!std::_Call_binder+0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 825] 0c (Inline Function) --------`-------- mongod!std::_Binder<std::_Unforced,void +0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 881] 0d (Inline Function) --------`-------- mongod!std::_Invoker_functor::_Call+0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1375] 0e (Inline Function) --------`-------- mongod!std::invoke+0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 0f (Inline Function) --------`-------- mongod!std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void +0x6 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 240] 10 00000000`095bfc90 00000001`3f2770e9 mongod!std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void (class std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void (__cdecl mongo::dur::JournalWriter::*)(void),mongo::dur::JournalWriter * const> >,std::default_delete<std::tuple<std::_Binder<std::_Unforced,void (__cdecl mongo::dur::JournalWriter::*)(void),mongo::dur::JournalWriter * const> > > > > * _Ln = 0x00000000`096eebf8)+0x75 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 247] 11 00000000`095bfcd0 000007fe`f45fbe1d mongod!std::_Pad::_Call_func(void * _Data = <Value unavailable error>)+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 210] 12 00000000`095bfd00 00000000`76d959cd ucrtbase!crt_at_quick_exit+0x7d 13 00000000`095bfd30 00000000`76fca561 kernel32!BaseThreadInitThunk+0xd 14 00000000`095bfd60 00000000`00000000 ntdll!RtlUserThreadStart+0x21
. 28 Id: 15e0.147c Suspend: 1 Teb: 000007ff`fff80000 Unfrozen Start: ucrtbase!crt_at_quick_exit+0x20 (000007fe`f45fbdc0) Priority: 0 Priority class: 32 Affinity: f # Child-SP RetAddr Call Site 00 00000000`0dc8e1d8 00000000`7706105d ntdll!NtWaitForKeyedEvent+0xa 01 00000000`0dc8e1e0 00000000`76dcb6a8 ntdll!RtlSleepConditionVariableSRW+0xfd 02 00000000`0dc8e250 000007fe`f33686a4 kernel32!SleepConditionVariableSRW+0x28 03 00000000`0dc8e290 000007fe`f3368880 MSVCP140!std::_Syserror_map+0x1c4 04 00000000`0dc8e2c0 00000001`3ff839a8 MSVCP140!Cnd_destroy+0xb0 05 (Inline Function) --------`-------- mongod!std::_Cnd_timedwaitX+0x11 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 101] 06 (Inline Function) --------`-------- mongod!std::condition_variable::wait_until+0x27 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex @ 628] 07 (Inline Function) --------`-------- mongod!std::condition_variable::_Wait_until1+0x31 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex @ 650] 08 00000000`0dc8e340 00000001`3ff88de8 mongod!std::condition_variable::wait_for<__int64,std::ratio<1,10000000>,<lambda_75e85b66f852afaff3487954fe09b37b> >(class std::unique_lock<std::mutex> * _Lck = 0x00000000`0dc8e3c8, class std::chrono::duration<__int64,std::ratio<1,10000000> > * _Rel_time = 0x00000000`0dc8e400, class mongo::CondVarLockGrantNotification::wait::__l2::<lambda_75e85b66f852afaff3487954fe09b37b> _Pred = class mongo::CondVarLockGrantNotification::wait::__l2::<lambda_75e85b66f852afaff3487954fe09b37b>)+0xb8 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex @ 594] 09 00000000`0dc8e3a0 00000001`3ff871cf mongod!mongo::CondVarLockGrantNotification::wait(class mongo::Duration<std::ratio<1,1000> > timeout = class mongo::Duration<std::ratio<1,1000> >)+0x78 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\concurrency\lock_state.cpp @ 226] 0a 00000000`0dc8e400 00000001`3ff86b71 mongod!mongo::LockerImpl<1>::lockComplete(class mongo::ResourceId resId = class mongo::ResourceId, mongo::LockMode mode = MODE_IX (0n2), class mongo::Duration<std::ratio<1,1000> > timeout = class mongo::Duration<std::ratio<1,1000> >, bool checkDeadlock = false)+0xff [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\concurrency\lock_state.cpp @ 747] 0b 00000000`0dc8e5e0 00000001`3ff87cc8 mongod!mongo::LockerImpl<1>::lock(class mongo::ResourceId resId = class mongo::ResourceId, mongo::LockMode mode = MODE_IX (0n2), class mongo::Duration<std::ratio<1,1000> > timeout = class mongo::Duration<std::ratio<1,1000> >, bool checkDeadlock = false)+0x51 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\concurrency\lock_state.cpp @ 447] 0c 00000000`0dc8e620 00000001`3ff8d6fa mongod!mongo::LockerImpl<1>::lockMMAPV1Flush(void)+0xa8 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\concurrency\lock_state.cpp @ 349] 0d 00000000`0dc8e660 00000001`3f5abb3d mongod!mongo::Lock::DBLock::DBLock(class mongo::OperationContext * opCtx = 0x00000000`01466b80, class mongo::StringData * db = 0x00000000`0dc8e700, mongo::LockMode mode = <Value unavailable error>)+0xda [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\concurrency\d_concurrency.cpp @ 205] 0e 00000000`0dc8e6d0 00000001`3f50b6ac mongod!mongo::AutoGetCollection::AutoGetCollection(class mongo::OperationContext * opCtx = 0x00000000`01466b80, class mongo::NamespaceString * nss = 0x00000000`0dc8e830, mongo::LockMode modeDB = <Value unavailable error>, mongo::LockMode modeColl = MODE_IX (0n2), mongo::AutoGetCollection::ViewMode viewMode = kViewsForbidden (0n1))+0x4d [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\db_raii.cpp @ 61] 0f (Inline Function) --------`-------- mongod!mongo::AutoGetCollection::{ctor}+0x26 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\db_raii.h @ 90] 10 00000000`0dc8e770 00000001`3f3fd2ce mongod!mongo::repl::acquireOplogCollectionForLogging(class mongo::OperationContext * opCtx = 0x00000000`01466b80)+0x9c [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\repl\oplog.cpp @ 1498] 11 00000000`0dc8e870 00000001`3f67fbf3 mongod!mongo::repl::ReplicationCoordinatorExternalStateImpl::startSteadyStateReplication(class mongo::OperationContext * opCtx = 0x00000000`01466b80, class mongo::repl::ReplicationCoordinator * replCoord = 0x00000000`01dbdfa0)+0x3e [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\repl\replication_coordinator_external_state_impl.cpp @ 230] 12 00000000`0dc8e9a0 00000001`3f67c6cf mongod!mongo::repl::ReplicationCoordinatorImpl::_startDataReplication(class mongo::OperationContext * opCtx = 0x00000000`01466b80, class std::function<void __cdecl(void)> * startCompleted = 0x00000000`0dc8eef8)+0xb3 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\repl\replication_coordinator_impl.cpp @ 630] 13 00000000`0dc8eda0 00000001`3f67a552 mongod!mongo::repl::ReplicationCoordinatorImpl::_finishLoadLocalConfig(struct mongo::executor::TaskExecutor::CallbackArgs * cbData = <Value unavailable error>, class mongo::repl::ReplSetConfig * localConfig = <Value unavailable error>, class mongo::StatusWith<mongo::repl::OpTime> * lastOpTimeStatus = <Value unavailable error>, class mongo::StatusWith<mongo::repl::LastVote> * lastVoteStatus = 0x00000000`01f051d0)+0x85f [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\db\repl\replication_coordinator_impl.cpp @ 595] 14 (Inline Function) --------`-------- mongod!std::_Invoker_pmf_pointer::_Call+0x17 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1340] 15 (Inline Function) --------`-------- mongod!std::invoke+0x17 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 16 (Inline Function) --------`-------- mongod!std::_Invoke_ret+0x17 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1475] 17 (Inline Function) --------`-------- mongod!std::_Call_binder+0x17 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 825] 18 (Inline Function) --------`-------- mongod!std::_Binder<std::_Unforced,void +0x1b [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 881] 19 (Inline Function) --------`-------- mongod!std::_Invoker_functor::_Call+0x1b [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1375] 1a (Inline Function) --------`-------- mongod!std::invoke+0x1b [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 1b (Inline Function) --------`-------- mongod!std::_Invoke_ret+0x1b [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1461] 1c 00000000`0dc8f2c0 00000001`3fccdace mongod!std::_Func_impl<std::_Binder<std::_Unforced,void (struct mongo::executor::TaskExecutor::CallbackArgs * <_Args_0> = <Value unavailable error>)+0x22 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 214] 1d (Inline Function) --------`-------- mongod!std::_Func_class<void,mongo::executor::TaskExecutor::CallbackArgs const &>::operator()+0x13 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 279] 1e 00000000`0dc8f300 00000001`3fccb86c mongod!mongo::executor::ThreadPoolTaskExecutor::runCallback(class std::shared_ptr<mongo::executor::ThreadPoolTaskExecutor::CallbackState> * cbStateArg = 0x00000000`0dc8f480)+0x20e [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\executor\thread_pool_task_executor.cpp @ 570] 1f (Inline Function) --------`-------- mongod!mongo::executor::ThreadPoolTaskExecutor::scheduleIntoPool_inlock::__l18::<lambda_fd72d344d6cb81d1a43b54487a279e4d>::operator()+0x36 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\executor\thread_pool_task_executor.cpp @ 546] 20 (Inline Function) --------`-------- mongod!std::_Invoker_functor::_Call+0x36 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1375] 21 (Inline Function) --------`-------- mongod!std::invoke+0x36 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 22 (Inline Function) --------`-------- mongod!std::_Invoke_ret+0x36 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1461] 23 00000000`0dc8f460 00000001`3f70cf2a mongod!std::_Func_impl<<lambda_fd72d344d6cb81d1a43b54487a279e4d>,std::allocator<int>,void>::_Do_call(void)+0x3c [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 214] 24 (Inline Function) --------`-------- mongod!std::_Func_class<void>::operator()+0xe [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 279] 25 00000000`0dc8f4a0 00000001`3f70c9ad mongod!mongo::ThreadPool::_doOneTask(class std::unique_lock<std::mutex> * lk = 0x00000000`0dc8f6b0)+0x1ca [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\util\concurrency\thread_pool.cpp @ 348] 26 00000000`0dc8f680 00000001`3f70d9f9 mongod!mongo::ThreadPool::_consumeTasks(void)+0x38d [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\util\concurrency\thread_pool.cpp @ 299] 27 00000000`0dc8f7f0 00000001`3f70c4c9 mongod!mongo::ThreadPool::_workerThreadBody(class mongo::ThreadPool * pool = 0x00000000`01dbdd70, class std::basic_string<char,std::char_traits<char>,std::allocator<char> > * threadName = 0x00000000`01dd66c8)+0x179 [c:\data\mci\4555452a89f225dc8ff125cac7a9ab51\src\src\mongo\util\concurrency\thread_pool.cpp @ 247] 28 (Inline Function) --------`-------- mongod!std::_Invoker_functor::_Call+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1375] 29 (Inline Function) --------`-------- mongod!std::invoke+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 2a (Inline Function) --------`-------- mongod!std::_Invoke_ret+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1475] 2b (Inline Function) --------`-------- mongod!std::_Call_binder+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 825] 2c (Inline Function) --------`-------- mongod!std::_Binder<std::_Unforced,void +0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\functional @ 881] 2d (Inline Function) --------`-------- mongod!std::_Invoker_functor::_Call+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1375] 2e (Inline Function) --------`-------- mongod!std::invoke+0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits @ 1443] 2f (Inline Function) --------`-------- mongod!std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void +0xa [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 240] 30 00000000`0dc8fa30 00000001`3f2770e9 mongod!std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void (class std::_LaunchPad<std::unique_ptr<std::tuple<std::_Binder<std::_Unforced,void (__cdecl*)(mongo::ThreadPool *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &),mongo::ThreadPool * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &> >,std::default_delete<std::tuple<std::_Binder<std::_Unforced,void (__cdecl*)(mongo::ThreadPool *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &),mongo::ThreadPool * const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &> > > > > * _Ln = 0x00000000`001ae2d8)+0x79 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 247] 31 00000000`0dc8fa70 000007fe`f45fbe1d mongod!std::_Pad::_Call_func(void * _Data = <Value unavailable error>)+0x9 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread @ 210] 32 00000000`0dc8faa0 00000000`76d959cd ucrtbase!crt_at_quick_exit+0x7d 33 00000000`0dc8fad0 00000000`76fca561 kernel32!BaseThreadInitThunk+0xd 34 00000000`0dc8fb00 00000000`00000000 ntdll!RtlUserThreadStart+0x21
- is related to
-
SERVER-30639 Timestamp bulk writes
- Closed