(gdb) list
|
205 stdx::lock_guard<stdx::mutex> lk(_mutex);
|
206
|
207 // If we are on the right thread, in the middle of an operation, and we have a registered
|
208 // opCtx, then we should check the opCtx for interrupts.
|
209 if (_mr._thread.get() == PR_GetCurrentThread() && _inOp > 0 && _opCtx) {
|
210 _killStatus = _opCtx->checkForInterruptNoAssert();
|
211 }
|
212
|
213 // If we didn't have a kill status, someone is killing us by hand here.
|
214 if (_killStatus.isOK()) {
|
(gdb) p this._mr
|
$3 = {_thread = std::unique_ptr<nspr::Thread> containing 0x0, _runtime = std::unique_ptr<JSRuntime> containing 0x7f3bafaf1020,
|
_context = std::unique_ptr<JSContext> containing 0x7f3bbcb05620}
|
(gdb) bt
|
#0 raise (sig=11) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x0000557e88d92fde in mongo::(anonymous namespace)::endProcessWithSignal (signalNum=11) at src/mongo/util/signal_handlers_synchronous.cpp:91
|
#2 0x0000557e88d939a5 in mongo::(anonymous namespace)::abruptQuitWithAddrSignal (signalNum=11, siginfo=0x7f3bc10edf30, ucontext_erased=0x7f3bc10ede00)
|
at src/mongo/util/signal_handlers_synchronous.cpp:283
|
#3 0x0000557e8768e51d in AsmJSFaultHandler (signum=11, info=0x7f3bc10edf30, context=0x7f3bc10ede00) at src/third_party/mozjs-45/extract/js/src/asmjs/AsmJSSignalHandlers.cpp:1159
|
#4 <signal handler called>
|
#5 0x0000557e8754e287 in mongo::mozjs::MozJSImplScope::kill (this=0x7f3bafaed020) at src/mongo/scripting/mozjs/implscope.cpp:210
|
#6 0x0000557e875433b6 in mongo::mozjs::MozJSScriptEngine::interruptAll (this=0x7f3bc111e520) at src/mongo/scripting/mozjs/engine.cpp:124
|
#7 0x0000557e88c89b4a in mongo::ServiceContext::setKillAllOperations (this=0x7f3bc1a4dc60) at src/mongo/db/service_context.cpp:294
|
#8 0x0000557e868d0789 in mongo::(anonymous namespace)::shutdownTask () at src/mongo/db/db.cpp:925
|
#9 0x0000557e868e87b7 in std::_Function_handler<void (), void (*)()>::_M_invoke(std::_Any_data const&) (__functor=...)
|
at /opt/mongodbtoolchain/v2/include/c++/5.4.0/functional:1871
|
#10 0x0000557e86926730 in std::function<void ()>::operator()() const (this=0x7f3bc1b03920) at /opt/mongodbtoolchain/v2/include/c++/5.4.0/functional:2267
|
#11 0x0000557e88d8e20d in mongo::(anonymous namespace)::runTasks(std::stack<std::function<void()>, std::deque<std::function<void()>, std::allocator<std::function<void()> > > >) (
|
tasks=std::stack wrapping: std::deque with 1 elements = {...}) at src/mongo/util/exit.cpp:63
|
#12 0x0000557e88d8e6a7 in mongo::shutdown (code=mongo::EXIT_CLEAN) at src/mongo/util/exit.cpp:142
|
#13 0x0000557e868d8709 in mongo::exitCleanly (code=mongo::EXIT_CLEAN) at src/mongo/util/exit.h:83
|
#14 0x0000557e880a0809 in mongo::(anonymous namespace)::signalProcessingThread (rotate=mongo::LogFileStatus::kNeedToRotateLogFile) at src/mongo/util/signal_handlers.cpp:200
|
#15 0x0000557e880a1d44 in std::_Bind_simple<void (*(mongo::LogFileStatus))(mongo::LogFileStatus)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x7f3bc15b0948)
|
at /opt/mongodbtoolchain/v2/include/c++/5.4.0/functional:1531
|
#16 0x0000557e880a1c50 in std::_Bind_simple<void (*(mongo::LogFileStatus))(mongo::LogFileStatus)>::operator()() (this=0x7f3bc15b0948)
|
at /opt/mongodbtoolchain/v2/include/c++/5.4.0/functional:1520
|
#17 0x0000557e880a1be0 in std::thread::_Impl<std::_Bind_simple<void (*(mongo::LogFileStatus))(mongo::LogFileStatus)> >::_M_run() (this=0x7f3bc15b0930)
|
at /opt/mongodbtoolchain/v2/include/c++/5.4.0/thread:115
|
#18 0x0000557e88f60cf0 in std::execute_native_thread_routine (__p=<optimized out>) at ../../../../../src/gcc-5.4.0/libstdc++-v3/src/c++11/thread.cc:84
|
#19 0x00007f3bc31fe58e in start_thread (arg=<optimized out>) at pthread_create.c:486
|
#20 0x00007f3bc312d6a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|