Closed
Bug 1374239
Opened 7 years ago
Closed 7 years ago
Store and rethrow module instantiation/evaluation errors
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
Details
Attachments
(1 file)
62.39 KB,
patch
|
shu
:
review+
|
Details | Diff | Splinter Review |
Update the module implementation to store instantiation and evaluation errors as described below, when this change gets merged into the spec:
https://github.com/tc39/ecma262/pull/916
The current system of handling these errors in the module script loader is complicated and brittle and doesn't work in all cases where there are circular dependencies. This approach is much simpler.
Assignee | ||
Comment 1•7 years ago
|
||
This change has now made it into the spec.
The patch does the following:
- renames module 'state' field to 'status' in line with spec terminology
- renames methods DeclarationInstantiation to Instantiate and Evaluation to Evaluate
- adds new module statuses
- adds new module fields: error, dfsIndex and dfsAncestorIndex
- updates module export resolution, error handling, instantiation and evaluation algorithms
- update tests that depended on evaluation returning a value now that it returns undefined
Comment 2•7 years ago
|
||
Comment on attachment 8894983 [details] [diff] [review]
bug1374239-record-module-errors
Review of attachment 8894983 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good to me! This is a really welcome spec change, to formally specify the state transition of the module graph and to have SCC-atomicity for those transitions.
::: js/src/builtin/Module.js
@@ +68,5 @@
>
> +function ModuleSetStatus(module, newStatus)
> +{
> + assert(newStatus >= MODULE_STATUS_ERRORED && newStatus <= MODULE_STATUS_EVALUATED,
> + "Bad new module statusin ModuleSetStatus");
Typo: status in
@@ +70,5 @@
> +{
> + assert(newStatus >= MODULE_STATUS_ERRORED && newStatus <= MODULE_STATUS_EVALUATED,
> + "Bad new module statusin ModuleSetStatus");
> + if (newStatus !== MODULE_STATUS_ERRORED)
> + assert(newStatus > module.status, "New module status inconsistent with current status");
If the ; after assert(...) weren't there, this would've expanded to:
if (newStatus !== MODULE_STATUS_ERRORED)
UnsafeSetReservedSlot(...)
We should define assert and dbg in builtin/Utilities.js to |do { } while (0)| so it's less of a footgun.
@@ +80,5 @@
> +//
> +// Returns an object describing the location of the resolved export or
> +// indicating a failure. There are three failure cases:
> +//
> +// - The resolution failure can be blamed on a particular module.
It would help if the shape of the returned object corresponding to each case is documented here.
This first one, IIUC, is { resolved: false, module, ambiguous: false }
@@ +82,5 @@
> +// indicating a failure. There are three failure cases:
> +//
> +// - The resolution failure can be blamed on a particular module.
> +// - No culprit can be determined and the resolution failure was due to star
> +// export ambiguity.
This is { resolved: false, module: null, ambiguous: false }
@@ +84,5 @@
> +// - The resolution failure can be blamed on a particular module.
> +// - No culprit can be determined and the resolution failure was due to star
> +// export ambiguity.
> +// - No culprit can be determined and the resolution failure was not due to
> +// star export ambiguity.
This is { resolved: false, module: null, ambiguous: true }
@@ +294,5 @@
> + if (module.status === MODULE_STATUS_INSTANTIATING ||
> + module.status === MODULE_STATUS_EVALUATING)
> + {
> + ThrowInternalError(JSMSG_BAD_MODULE_STATUS);
> + }
This should be an assert.
@@ +320,5 @@
> + // This can happen due to OOM when appending to the stack.
> + assert(error === "out of memory",
> + "Stack must contain module unless we hit OOM");
> + RecordModuleError(module, error);
> + }
Oh, huh, good to know.
@@ +345,5 @@
> +}
> +_SetCanonicalName(ModuleInstantiate, "ModuleInstantiate");
> +
> +// 15.2.1.16.4.1 InnerModuleDeclarationInstantiation(module, stack, index)
> +function InnerModuleDeclarationInstantiation(module, stack, index)
This (and InnerEvaluate) are Tarjan's SCC algorithm, right? And that AncestorIndex is just lowlink? Wish the spec just made this explicit for reference.
@@ +400,5 @@
> +
> + if (requiredModule.status === MODULE_STATUS_INSTANTIATING) {
> + UnsafeSetReservedSlot(module, MODULE_OBJECT_DFS_ANCESTOR_INDEX_SLOT,
> + std_Math_min(module.dfsAncestorIndex,
> + requiredModule.dfsAncestorIndex));
As an aside, the usual formulation of Tarjan's would have this line as dfsAncestorIndex = min(module.dfsAncestorIndex, requiredModule.dfsIndex), but this version also works just fine [1].
[1] https://stackoverflow.com/questions/16250337/about-tarjans-algorithm-for-finding-scc
@@ +469,5 @@
> +
> + InstantiateModuleFunctionDeclarations(module);
> +}
> +
> +//15.2.1.16.4.3 ResolutionError(module)
Nit: space after //
@@ +472,5 @@
> +
> +//15.2.1.16.4.3 ResolutionError(module)
> +function ResolutionError(resolution, kind, name)
> +{
> + let module = resolution.module;
Could you roughly try to convince me why module is never null here?
@@ +513,5 @@
> + module.status !== MODULE_STATUS_INSTANTIATED &&
> + module.status !== MODULE_STATUS_EVALUATED)
> + {
> + ThrowInternalError(JSMSG_BAD_MODULE_STATUS);
> + }
This should be an assert.
::: js/src/builtin/ModuleObject.cpp
@@ +699,5 @@
> {
> initReservedSlot(ScriptSlot, PrivateValue(script));
> + initReservedSlot(StatusSlot, Int32Value(MODULE_STATUS_ERRORED));
> + initReservedSlot(DFSIndexSlot, Int32Value(0));
> + initReservedSlot(DFSAncestorIndexSlot, Int32Value(0));
Perhaps start these at -1, since 0 is a valid index/lowlink.
::: js/src/builtin/ModuleObject.h
@@ +221,2 @@
> SlotCount
> };
So many slots!
::: js/src/jit-test/tests/modules/bad-namespace-created.js
@@ +1,1 @@
> +// In the original modules spec it was possible a module namespace object to be
Nit: I don't think "original" is helpful here, perhaps a time frame?
Attachment #8894983 -
Flags: review+
Assignee | ||
Comment 3•7 years ago
|
||
(In reply to Shu-yu Guo [:shu] from comment #2)
> We should define assert and dbg in builtin/Utilities.js to |do { } while
> (0)| so it's less of a footgun.
Yikes. Fixed.
> This (and InnerEvaluate) are Tarjan's SCC algorithm, right? And that
> AncestorIndex is just lowlink? Wish the spec just made this explicit for
> reference.
Right. Yeah that would be useful.
> > +//15.2.1.16.4.3 ResolutionError(module)
> > +function ResolutionError(resolution, kind, name)
> > +{
> > + let module = resolution.module;
>
> Could you roughly try to convince me why module is never null here?
This is called in two places. For the case involving imports, module is set prior to calling this function if it's null. For the case involving indirect exports, the resolution object comes from calling ResolveExport and in that method the module property is is always set if resolving an indirect export fails.
> This should be an assert.
These invalid states can be reached by a buggy module loader (e.g. attempting to evaluate a module before instantiating it) so it's best to check and throw here.
Thanks for the review. Other comments addressed.
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/79aa5930dbf1
Store and re-throw module instantiation and evaluation errors r=shu
Comment 5•7 years ago
|
||
Backed out for asserting in wpt's html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html on Windows x64 debug:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a033245804727a756eba78c0c0a3049bbd448f9e
First push which ran failing test: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=b5c7089449a6b3318d5b6ca4733208a6c206cb60&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=running&filter-resultStatus=pending&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=122098805&repo=mozilla-inbound
1:08:01 INFO - PID 3876 | Assertion failure: !aRequest->mModuleScript->InstantiationFailed(), at z:/build/build/src/dom/script/ScriptLoader.cpp:649
21:08:01 INFO - PID 3876 | #01: mozilla_dump_image[Z:\task_1502310298\build\application\firefox\xul.dll +0x36d1283]
21:08:01 INFO - PID 3876 | #02: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0x118d384]
21:08:01 INFO - PID 3876 | #03: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0x11bc698]
21:08:01 INFO - PID 3876 | #04: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0xdc03ae]
21:08:01 INFO - PID 3876 | #05: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0xdbf187]
21:08:01 INFO - PID 3876 | #06: soundtouch::SoundTouch::operator=[Z:\task_1502310298\build\application\firefox\xul.dll +0x12f7647]
21:08:01 INFO - PID 3876 | #07: soundtouch::SoundTouch::operator=[Z:\task_1502310298\build\application\firefox\xul.dll +0x12f78be]
21:08:01 INFO - PID 3876 | #08: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0x12c1262]
21:08:01 INFO - PID 3876 | #09: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0x12c0ee2]
21:08:01 INFO - PID 3876 | #10: mozilla_dump_image[Z:\task_1502310298\build\application\firefox\xul.dll +0x37717e3]
21:08:01 INFO - PID 3876 | #11: mozilla_dump_image[Z:\task_1502310298\build\application\firefox\xul.dll +0x37e42cc]
21:08:01 INFO - PID 3876 | #12: workerlz4_maxCompressedSize[Z:\task_1502310298\build\application\firefox\xul.dll +0x4f89099]
21:08:01 INFO - PID 3876 | #13: soundtouch::SoundTouch::operator=[Z:\task_1502310298\build\application\firefox\xul.dll +0x12f781b]
21:08:01 INFO - PID 3876 | #14: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0x12c1262]
21:08:01 INFO - PID 3876 | #15: ???[Z:\task_1502310298\build\application\firefox\xul.dll +0x12c0ee2]
21:08:01 INFO - PID 3876 | #16: workerlz4_maxCompressedSize[Z:\task_1502310298\build\application\firefox\xul.dll +0x4f88903]
21:08:01 INFO - PID 3876 | #17: ???[Z:\task_1502310298\build\application\firefox\firefox.exe +0x17af]
21:08:01 INFO - PID 3876 | #18: ???[Z:\task_1502310298\build\application\firefox\firefox.exe +0x13d2]
21:08:01 INFO - PID 3876 | #19: ???[Z:\task_1502310298\build\application\firefox\firefox.exe +0x1d9b]
21:08:01 INFO - PID 3876 | #20: TargetNtUnmapViewOfSection[Z:\task_1502310298\build\application\firefox\firefox.exe +0x47185]
21:08:01 INFO - PID 3876 | #21: BaseThreadInitThunk[C:\Windows\System32\KERNEL32.DLL +0x12774]
21:08:01 INFO - PID 3876 | #22: RtlUserThreadStart[C:\Windows\SYSTEM32\ntdll.dll +0x70d61]
21:08:21 INFO - PROCESS-CRASH | /html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html | application crashed [@ mozilla::dom::ScriptLoader::StartFetchingModuleDependencies(mozilla::dom::ModuleLoadRequest *)]
21:08:21 INFO - Crash dump filename: c:\users\genericworker\appdata\local\temp\tmp7gz8v9.mozrunner\minidumps\68d7736f-9377-40a7-bbb4-86d1a24452dd.dmp
21:08:21 INFO - Operating system: Windows NT
21:08:21 INFO - 10.0.15063
21:08:21 INFO - CPU: amd64
21:08:21 INFO - family 6 model 63 stepping 2
21:08:21 INFO - 8 CPUs
21:08:21 INFO -
21:08:21 INFO - GPU: UNKNOWN
21:08:21 INFO -
21:08:21 INFO - Crash reason: EXCEPTION_BREAKPOINT
21:08:21 INFO - Crash address: 0x7ffeac4009f4
21:08:21 INFO - Assertion: Unknown assertion type 0x00000000
21:08:21 INFO - Process uptime: 4 seconds
21:08:21 INFO -
21:08:21 INFO - Thread 0 (crashed)
21:08:21 INFO - 0 xul.dll!mozilla::dom::ScriptLoader::StartFetchingModuleDependencies(mozilla::dom::ModuleLoadRequest *) [ScriptLoader.cpp:b5c7089449a6 : 649 + 0x3f]
21:08:21 INFO - rax = 0x0000000000000000 rdx = 0x00000099645feb88
21:08:21 INFO - rcx = 0x00000000ffffffff rbx = 0x0000000000000289
21:08:21 INFO - rsi = 0x00000297bc970be0 rdi = 0x00000297c54adc40
21:08:21 INFO - rbp = 0x00000099645febf0 rsp = 0x00000099645feb70
21:08:21 INFO - r8 = 0x00000099645feb80 r9 = 0x00000099645feb78
21:08:21 INFO - r10 = 0x0000000000000000 r11 = 0x00000099645fa0d0
21:08:21 INFO - r12 = 0x0000000000000000 r13 = 0x00000297bc99d800
21:08:21 INFO - r14 = 0x0000000000000000 r15 = 0x00000099645ff600
21:08:21 INFO - rip = 0x00007ffeac4009f4
21:08:21 INFO - Found by: given as instruction pointer in context
21:08:21 INFO - 1 xul.dll!mozilla::MozPromise<bool,nsresult,0>::ThenValue<mozilla::dom::ModuleLoadRequest *,void ( mozilla::dom::ModuleLoadRequest::*)(void),void ( mozilla::dom::ModuleLoadRequest::*)(void)>::DoResolveOrRejectInternal(mozilla::MozPromise<bool,nsresult,0>::ResolveOrRejectValue &) [MozPromise.h:b5c7089449a6 : 630 + 0x2e]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645fec10 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeac3f1283
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 2 xul.dll!mozilla::MozPromise<bool,nsresult,0>::ThenValueBase::DoResolveOrReject(mozilla::MozPromise<bool,nsresult,0>::ResolveOrRejectValue &) [MozPromise.h:b5c7089449a6 : 496 + 0xc]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645fec40 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9ead384
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 3 xul.dll!mozilla::MozPromise<bool,nsresult,0>::ThenValueBase::ResolveOrRejectRunnable::Run() [MozPromise.h:b5c7089449a6 : 401 + 0x21]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645fec70 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9edc698
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 4 xul.dll!nsThread::ProcessNextEvent(bool,bool *) [nsThread.cpp:b5c7089449a6 : 1446 + 0x14]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645feca0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9ae03ae
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 5 xul.dll!NS_ProcessNextEvent(nsIThread *,bool) [nsThreadUtils.cpp:b5c7089449a6 : 480 + 0xd]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff300 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9adf187
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 6 xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [MessagePump.cpp:b5c7089449a6 : 97 + 0xa]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff340 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeaa017647
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 7 xul.dll!mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) [MessagePump.cpp:b5c7089449a6 : 302 + 0xb]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff3a0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeaa0178be
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 8 xul.dll!MessageLoop::RunHandler() [message_loop.cc:b5c7089449a6 : 319 + 0x5]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff3e0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9fe1262
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 9 xul.dll!MessageLoop::Run() [message_loop.cc:b5c7089449a6 : 299 + 0x8]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff410 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9fe0ee2
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 10 xul.dll!nsBaseAppShell::Run() [nsBaseAppShell.cpp:b5c7089449a6 : 156 + 0xd]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff460 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeac4917e3
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 11 xul.dll!nsAppShell::Run() [nsAppShell.cpp:b5c7089449a6 : 210 + 0x8]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff4a0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeac5042cc
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 12 xul.dll!XRE_RunAppShell() [nsEmbedFunctions.cpp:b5c7089449a6 : 882 + 0x6]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff4e0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeadca9099
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 13 xul.dll!mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) [MessagePump.cpp:b5c7089449a6 : 270 + 0x5]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff520 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeaa01781b
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 14 xul.dll!MessageLoop::RunHandler() [message_loop.cc:b5c7089449a6 : 319 + 0x5]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff560 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9fe1262
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 15 xul.dll!MessageLoop::Run() [message_loop.cc:b5c7089449a6 : 299 + 0x8]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff590 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffea9fe0ee2
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 16 xul.dll!XRE_InitChildProcess(int,char * * const,XREChildData const *) [nsEmbedFunctions.cpp:b5c7089449a6 : 699 + 0x9]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff5e0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffeadca8903
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 17 firefox.exe!content_process_main(mozilla::Bootstrap *,int,char * * const) [plugin-container.cpp:b5c7089449a6 : 64 + 0x13]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff810 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ff6895f17af
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 18 firefox.exe!NS_internal_main(int,char * *,char * *) [nsBrowserApp.cpp:b5c7089449a6 : 285 + 0x11]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff850 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ff6895f13d2
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 19 firefox.exe!wmain [nsWindowsWMain.cpp:b5c7089449a6 : 115 + 0x14]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff8c0 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ff6895f1d9b
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 20 firefox.exe!__scrt_common_main_seh [exe_common.inl : 253 + 0x22]
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff920 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ff689637185
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 21 kernel32.dll!BaseThreadInitThunk + 0x14
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff960 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffee4062774
21:08:21 INFO - Found by: call frame info
21:08:21 INFO - 22 ntdll.dll!SdbpCheckMatchingRegistryEntry + 0x29d
21:08:21 INFO - rbx = 0x0000000000000289 rbp = 0x00000099645febf0
21:08:21 INFO - rsp = 0x00000099645ff990 r12 = 0x0000000000000000
21:08:21 INFO - r13 = 0x00000297bc99d800 r14 = 0x0000000000000000
21:08:21 INFO - r15 = 0x00000099645ff600 rip = 0x00007ffee4650d61
21:08:21 INFO - Found by: call frame info
Flags: needinfo?(jcoppeard)
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2e4748827cda
Store and re-throw module instantiation and evaluation errors r=shu
Comment 7•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox57:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Assignee | ||
Updated•6 years ago
|
Flags: needinfo?(jcoppeard)
You need to log in
before you can comment on or make changes to this bug.
Description
•