Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-31514

ReplicationCoordinatorExternalStateImpl::startSteadyStateReplication() attempts to acquire LockManager locks while holding ReplicationCoordinatorImpl::_mutex

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.0-rc1
    • 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
      

            Assignee:
            siyuan.zhou@mongodb.com Siyuan Zhou
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: