[SERVER-36740] Sometimes crashes on windows don't provide a backtrace Created: 17/Aug/18  Updated: 08/Jan/24  Resolved: 21/Nov/18

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 4.0.6, 4.1.6

Type: Bug Priority: Major - P3
Reporter: Mira Carey Assignee: Mark Benvenuto
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.0
Sprint: Security 2018-11-19, Security 2018-12-03
Participants:
Linked BF Score: 27

 Description   

It appears that sometimes we crash on windows without a backtrace. That's fairly hard to debug, so we should try to fix it.

Using this as a placeholder for whatever that work is.



 Comments   
Comment by Githook User [ 20/Dec/18 ]

Author:

{'username': 'markbenvenuto', 'email': 'mark.benvenuto@mongodb.com', 'name': 'Mark Benvenuto'}

Message: SERVER-36740 Sometimes crashes on windows don't provide a backtrace

(cherry picked from commit f5b4471bc5d0bee53474456761417222ddd4654e)
Branch: v4.0
https://github.com/mongodb/mongo/commit/6e295dacd63466f0bbad2582e2a0ae683a91ebe8

Comment by Githook User [ 21/Nov/18 ]

Author:

{'name': 'Mark Benvenuto', 'email': 'mark.benvenuto@mongodb.com', 'username': 'markbenvenuto'}

Message: SERVER-36740 Sometimes crashes on windows don't provide a backtrace
Branch: master
https://github.com/mongodb/mongo/commit/f5b4471bc5d0bee53474456761417222ddd4654e

Comment by Mark Benvenuto [ 29/Oct/18 ]

BF-11057 was definitely not just a duplicate. It has a clear cause: stack overflow

*** unhandled exception 0xC00000FD at 0x000000013FD0D54E, terminating

As for the cause, I investigated this same issue with samy.lanka, and max.hirschhorn months ago with JSTestFuzz. The issue is that after MozJS detects too much recursion, and it throws an error. Then our error handler calls back into MozJS which then calls our error handler, etc.

See trimmed stack:

 # Child-SP          RetAddr           Call Site
00 00000053`5cf02318 00007ffd`b8e343f8 ucrtbase!_chkstk+0x38
01 00000053`5cf02330 00007ffd`b8e34282 ucrtbase!write_text_ansi_nolock+0x18
02 00000053`5cf02350 00007ffd`b8e3412d ucrtbase!_write_nolock+0x116
03 00000053`5cf023c0 00007ffd`b8e33e43 ucrtbase!_write+0x8d
04 00000053`5cf02410 00007ffd`b8e353d3 ucrtbase!__acrt_stdio_flush_nolock+0x47
05 00000053`5cf02440 00007ffd`b8e31156 ucrtbase!_fflush_nolock+0x13
06 00000053`5cf02470 00007ffd`b8e33d6e ucrtbase!__crt_seh_guarded_call<int>::operator()<<lambda_c376a267cfb53b6959b3b692ec76b120>,<lambda_9a32fed5bf61b6b509b2d3f6003082a1> & __ptr64,<lambda_572fbb9fa0ab338edf41edfd4b5fcc8d> >+0x2e
07 00000053`5cf024a0 00007ffd`8c78eb62 ucrtbase!fflush+0x4e
08 00000053`5cf024d0 00007ffd`8c7923c2 msvcp140!std::basic_filebuf<char,std::char_traits<char> >::sync+0x32 [f:\dd\vctools\crt\crtw32\stdhpp\fstream @ 622]
09 (Inline Function) --------`-------- msvcp140!std::basic_streambuf<char,std::char_traits<char> >::pubsync+0x14 [f:\dd\vctools\crt\crtw32\stdhpp\streambuf @ 144]
0a 00000053`5cf02500 00007ff6`8aed9ff0 msvcp140!std::basic_ostream<char,std::char_traits<char> >::flush+0x62 [f:\dd\vctools\crt\crtw32\stdhpp\ostream @ 571]
0b 00000053`5cf02550 00007ff6`8b5ec2e6 mongo!mongo::logger::ConsoleAppender<mongo::logger::MessageEventEphemeral,mongo::Console>::append+0x60 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\logger\console_appender.h @ 60]
0c 00000053`5cf025a0 00007ff6`8b5ecdfa mongo!mongo::logger::LogDomain<mongo::logger::MessageEventEphemeral>::append+0x46 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\logger\log_domain-impl.h @ 58]
0d 00000053`5cf025f0 00007ff6`8b5e57c6 mongo!mongo::logger::LogstreamBuilder::~LogstreamBuilder+0x15a [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\logger\logstream_builder.cpp @ 106]
0e 00000053`5cf02730 00007ffd`b8bebcf0 mongo!mongo::`anonymous namespace'::exceptionFilter+0x136 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\util\exception_filter_win32.cpp @ 141]
0f 00000053`5cf02d60 00007ffd`bc2c2717 KERNELBASE!UnhandledExceptionFilter+0x190
10 00000053`5cf02e70 00007ffd`bc2aab36 ntdll!RtlUserThreadStart$filt$0+0x38
11 00000053`5cf02ea0 00007ffd`bc2bed2d ntdll!_C_specific_handler+0x96
12 00000053`5cf02f10 00007ffd`bc226c86 ntdll!RtlpExecuteHandlerForException+0xd
13 00000053`5cf02f40 00007ffd`bc2bdc5e ntdll!RtlDispatchException+0x3c6
14 00000053`5cf03640 00007ff6`8b241b87 ntdll!KiUserExceptionDispatch+0x2e
15 00000053`5cf03d50 00007ff6`8b2306bd mongo!js::jit::InlineFrameIterator::resetOn+0x127 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jit\jitframes.cpp @ 2434]
16 00000053`5cf04020 00007ff6`8b02a9f0 mongo!js::jit::InlineFrameIterator::InlineFrameIterator+0xfd [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jit\jitframes.cpp @ 2392]
17 00000053`5cf04080 00007ff6`8b11d553 mongo!js::FrameIter::FrameIter+0x50 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\stack.cpp @ 700]
18 (Inline Function) --------`-------- mongo!js::NonBuiltinFrameIter::{ctor}+0x23 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\stack.h @ 2128]
19 00000053`5cf040d0 00007ff6`8b11db3f mongo!PopulateReportBlame+0x63 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 259]
1a 00000053`5cf04560 00007ff6`8b11c2ed mongo!js::ReportErrorNumberVA+0x9f [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 755]
1b (Inline Function) --------`-------- mongo!JS_ReportErrorNumberVA+0x1f [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 5321]
1c 00000053`5cf04630 00007ff6`8b11e322 mongo!JS_ReportErrorNumber+0x2d [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 5313]
1d 00000053`5cf04680 00007ff6`8b06540e mongo!js::ReportOverRecursed+0x22 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 355]
1e 00000053`5cf046b0 00007ff6`8b056003 mongo!js::InvokeGetter+0x3e [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 603]
1f 00000053`5cf04700 00007ff6`8b0674c4 mongo!CallGetter+0x63 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1667]
20 (Inline Function) --------`-------- mongo!GetExistingProperty+0xca [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1715]
21 (Inline Function) --------`-------- mongo!NativeGetPropertyInline+0x4ab [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1934]
22 00000053`5cf04770 00007ff6`8b11b664 mongo!js::NativeGetProperty+0x4e4 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1968]
23 (Inline Function) --------`-------- mongo!js::GetProperty+0x3b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.h @ 1471]
24 (Inline Function) --------`-------- mongo!JS_ForwardGetPropertyTo+0x3b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2517]
25 00000053`5cf04890 00007ff6`8b11b5c9 mongo!JS_GetPropertyById+0x84 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2535]
26 00000053`5cf048f0 00007ff6`8af35efd mongo!JS_GetProperty+0x79 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2545]
.....
6e 00000053`5cf06ab0 00007ff6`8af35efd mongo!JS_GetProperty+0x79 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2545]
6f 00000053`5cf06b00 00007ff6`8af364f9 mongo!mongo::mozjs::ObjectWrapper::Key::get+0xdd [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\objectwrapper.cpp @ 54]
70 00000053`5cf06b60 00007ff6`8af5b2c4 mongo!mongo::mozjs::ObjectWrapper::getValue+0x19 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\objectwrapper.cpp @ 328]
71 00000053`5cf06b90 00007ff6`8b11da80 mongo!mongo::mozjs::MozJSImplScope::_reportError+0x1a4 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\implscope.cpp @ 141]
72 (Inline Function) --------`-------- mongo!js::CallErrorReporter+0x1b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 830]
73 00000053`5cf06f40 00007ff6`8b11db90 mongo!ReportError+0xd0 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 242]
74 00000053`5cf06f90 00007ff6`8b11c2ed mongo!js::ReportErrorNumberVA+0xf0 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 762]
75 (Inline Function) --------`-------- mongo!JS_ReportErrorNumberVA+0x1f [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 5321]
76 00000053`5cf07060 00007ff6`8b11e322 mongo!JS_ReportErrorNumber+0x2d [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 5313]
77 00000053`5cf070b0 00007ff6`8b06540e mongo!js::ReportOverRecursed+0x22 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jscntxt.cpp @ 355]
78 00000053`5cf070e0 00007ff6`8b056003 mongo!js::InvokeGetter+0x3e [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 603]
79 00000053`5cf07130 00007ff6`8b0674c4 mongo!CallGetter+0x63 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1667]
7a (Inline Function) --------`-------- mongo!GetExistingProperty+0xca [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1715]
7b (Inline Function) --------`-------- mongo!NativeGetPropertyInline+0x4ab [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1934]
7c 00000053`5cf071a0 00007ff6`8b11b664 mongo!js::NativeGetProperty+0x4e4 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1968]
7d (Inline Function) --------`-------- mongo!js::GetProperty+0x3b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.h @ 1471]
7e (Inline Function) --------`-------- mongo!JS_ForwardGetPropertyTo+0x3b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2517]
7f 00000053`5cf072c0 00007ff6`8b11b5c9 mongo!JS_GetPropertyById+0x84 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2535]
80 00000053`5cf07320 00007ff6`8af35efd mongo!JS_GetProperty+0x79 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2545]
81 00000053`5cf07370 00007ff6`8af364f9 mongo!mongo::mozjs::ObjectWrapper::Key::get+0xdd [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\objectwrapper.cpp @ 54]
82 00000053`5cf073d0 00007ff6`8af5b2c4 mongo!mongo::mozjs::ObjectWrapper::getValue+0x19 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\objectwrapper.cpp @ 328]
83 00000053`5cf07400 00007ff6`8b0fcd4c mongo!mongo::mozjs::MozJSImplScope::_reportError+0x1a4 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\implscope.cpp @ 141]
84 00000053`5cf077b0 00007ff6`8b115f14 mongo!js::ReportUncaughtException+0x16c [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsexn.cpp @ 653]
85 00000053`5cf078f0 00007ffd`ad80c8c0 mongo!AutoLastFrameCheck::~AutoLastFrameCheck+0x74 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsapi.cpp @ 2771]
86 00000053`5cf07940 00007ffd`ad802be7 VCRUNTIME140!_CallSettingFrame+0x20 [f:\dd\vctools\crt\vcruntime\src\eh\amd64\handlers.asm @ 50]
87 00000053`5cf07970 00007ffd`ad801ee3 VCRUNTIME140!__FrameUnwindToState+0x19f [f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp @ 974]
88 (Inline Function) --------`-------- VCRUNTIME140!__FrameUnwindToEmptyState+0x7e [f:\dd\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 177]
89 00000053`5cf079e0 00007ffd`ad80bfb0 VCRUNTIME140!__InternalCxxFrameHandler+0x19b [f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp @ 302]
8a 00000053`5cf07a40 00007ffd`bc2bedad VCRUNTIME140!__CxxFrameHandler3+0x90 [f:\dd\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 205]
8b 00000053`5cf07a90 00007ffd`bc227670 ntdll!RtlpExecuteHandlerForUnwind+0xd
8c 00000053`5cf07ac0 00007ffd`ad80c359 ntdll!RtlUnwindEx+0x3a0
8d 00000053`5cf081a0 00007ffd`ad802d39 VCRUNTIME140!_UnwindNestedFrames+0x109 [f:\dd\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 508]
8e 00000053`5cf08760 00007ffd`ad8023de VCRUNTIME140!CatchIt+0xb5 [f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp @ 1126]
8f 00000053`5cf087e0 00007ffd`ad801fdf VCRUNTIME140!FindHandler+0x3de [f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp @ 592]
90 00000053`5cf088b0 00007ffd`ad80bfb0 VCRUNTIME140!__InternalCxxFrameHandler+0x297 [f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp @ 357]
91 00000053`5cf08910 00007ffd`bc2bed2d VCRUNTIME140!__CxxFrameHandler3+0x90 [f:\dd\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp @ 205]
92 00000053`5cf08960 00007ffd`bc226c86 ntdll!RtlpExecuteHandlerForException+0xd
93 00000053`5cf08990 00007ffd`bc2252ca ntdll!RtlDispatchException+0x3c6
94 00000053`5cf09090 00007ffd`b8b3a388 ntdll!RtlRaiseException+0x31a
95 00000053`5cf09870 00007ffd`ad8046e2 KERNELBASE!RaiseException+0x68
96 00000053`5cf09950 00007ff6`8b61a1cd VCRUNTIME140!_CxxThrowException+0xc2 [f:\dd\vctools\crt\vcruntime\src\eh\throw.cpp @ 136]
97 00000053`5cf099d0 00007ff6`8b5e80c4 mongo!mongo::error_details::throwExceptionForStatus+0x1c6d [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\build\cached\mongo\base\error_codes.cpp @ 1727]
98 00000053`5cf0c020 00007ff6`8af5e527 mongo!mongo::uassertedWithLocation+0x1f4 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\util\assert_util.cpp @ 185]
99 (Inline Function) --------`-------- mongo!mongo::uassertStatusOKWithLocation+0x1b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\util\assert_util.h @ 377]
9a 00000053`5cf0c140 00007ff6`8af2ec2f mongo!mongo::mozjs::throwCurrentJSException+0x47 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\exception.cpp @ 104]
9b (Inline Function) --------`-------- mongo!mongo::mozjs::WrapType<mongo::mozjs::ErrorInfo>::_assertPtr+0x36 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\wraptype.h @ 542]
9c (Inline Function) --------`-------- mongo!mongo::mozjs::WrapType<mongo::mozjs::ErrorInfo>::newInstance+0x4d [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\wraptype.h @ 328]
9d 00000053`5cf0c190 00007ff6`8af5e356 mongo!mongo::mozjs::MongoStatusInfo::fromStatus+0x16f [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\status.cpp @ 65]
9e (Inline Function) --------`-------- mongo!mongo::mozjs::statusToJSException+0x1c [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\exception.cpp @ 112]
9f 00000053`5cf0c380 00007ff6`8b6d64a6 mongo!mongo::mozjs::mongoToJSException+0xc6 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\exception.cpp @ 53]
a0 00000053`5cf0c3f0 00007ffd`ad80c8c0 mongo!`mongo::mozjs::smUtils::resolve<mongo::mozjs::DBInfo>'::`1'::catch$0+0x16 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\wraptype.h @ 218]
a1 00000053`5cf0c420 00007ffd`ad802e83 VCRUNTIME140!_CallSettingFrame+0x20 [f:\dd\vctools\crt\vcruntime\src\eh\amd64\handlers.asm @ 50]
a2 00000053`5cf0c450 00007ffd`bc2be2b3 VCRUNTIME140!__CxxCallCatchBlock+0x123 [f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp @ 1180]
a3 00000053`5cf0c500 00007ff6`8af4f316 ntdll!RcConsolidateFrames+0x3
a4 00000053`5cf11380 00007ff6`8b067207 mongo!mongo::mozjs::smUtils::resolve<mongo::mozjs::DBInfo>+0x36 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\mongo\scripting\mozjs\wraptype.h @ 216]
a5 (Inline Function) --------`-------- mongo!js::CallResolveOp+0x7a [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject-inl.h @ 389]
a6 (Inline Function) --------`-------- mongo!js::LookupOwnPropertyInline+0x1a2 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject-inl.h @ 478]
a7 (Inline Function) --------`-------- mongo!NativeGetPropertyInline+0x1ee [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1924]
a8 00000053`5cf113c0 00007ff6`8aff38e5 mongo!js::NativeGetProperty+0x227 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.cpp @ 1968]
a9 (Inline Function) --------`-------- mongo!js::GetProperty+0x34 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\nativeobject.h @ 1471]
aa 00000053`5cf114e0 00007ff6`8b05a1b2 mongo!js::GetProperty+0x65 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\jsobj.h @ 823]
ab 00000053`5cf11540 00007ff6`8b05a8a2 mongo!js::GetProperty+0x182 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 4015]
ac 00000053`5cf115d0 00007ff6`8b05f6d5 mongo!GetPropertyOperation+0x172 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 203]
ad 00000053`5cf11650 00007ff6`8b069db2 mongo!Interpret+0x3a95 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 2487]
ae 00000053`5cf12b40 00007ff6`8b06515b mongo!js::RunScript+0x282 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 391]
af 00000053`5cf12bd0 00007ff6`8b061367 mongo!js::Invoke+0x26b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 462]
b0 00000053`5cf12c90 00007ff6`8b069db2 mongo!Interpret+0x5727 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 2766]
b1 00000053`5cf14180 00007ff6`8b06515b mongo!js::RunScript+0x282 [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 391]
b2 00000053`5cf14210 00007ff6`8b061367 mongo!js::Invoke+0x26b [c:\data\mci\f36b7a8125a2bae65f420208d49749ed\src\src\third_party\mozjs-45\extract\js\src\vm\interpreter.cpp @ 462]

Comment by Mark Benvenuto [ 20/Aug/18 ]

There are a few plain abort() calls in the server so they could be the cause, but also the C++ and C runtimes will call abort(). I do not think it is the debugger prompt. We should ensure the debugger prompts are off anyway by removing the registry keys: https://stackoverflow.com/questions/1893567/how-to-stop-just-in-time-debugging-messages-blocking-a-buildserver.

We do a lot of setup to ensure things like the debugger prompt are off though - https://github.com/mongodb/mongo/blob/0b80c8df4090f0ebb30adb2a790000b1e26b4bbc/src/mongo/util/platform_init.cpp#L49-L53. We also set an abort handler here: https://github.com/mongodb/mongo/blob/0b80c8df4090f0ebb30adb2a790000b1e26b4bbc/src/mongo/util/signal_handlers_synchronous.cpp#L290-L298

My other worry is that this could be caused by a stack overflow but if that is the case, it would return a different error code. Are we recursing in abort?

Comment by Mira Carey [ 17/Aug/18 ]

I've got a lightweight theory, but not a lot of data points yet.

Observation: both of the above failures are on windows, debug mode and exit with code (3).

Fact: abort() on windows terminates the program with exit code 3.

Fact: in debug mode, abort's trigger a graphical display, where users can abort, retry or ignore.

...

I wonder if something hilarious is happening with abort, and that's why we're crashing out without backtraces, on windows debug builds

mark.benvenuto, thoughts?

Generated at Thu Feb 08 04:43:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.