Crash in [@ IPCError-content | RecvMakeFrameRemote No embedder element in this process]
Categories
(Core :: DOM: Content Processes, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox-esr68 | --- | unaffected |
firefox69 | --- | unaffected |
firefox70 | --- | unaffected |
firefox71 | --- | wontfix |
firefox72 | --- | fixed |
People
(Reporter: calixte, Assigned: nika)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(4 files)
This bug is for crash report bp-324f1cb8-91ed-4374-905d-fcafa0191016.
Top 10 frames of crashing thread:
0 xul.dll void mozilla::dom::ContentChild::ProcessingError dom/ipc/ContentChild.cpp:2440
1 xul.dll mozilla::ipc::IPCResult::Fail ipc/glue/ProtocolUtils.cpp:64
2 xul.dll mozilla::dom::WindowGlobalChild::RecvMakeFrameRemote dom/ipc/WindowGlobalChild.cpp:316
3 xul.dll mozilla::dom::PWindowGlobalChild::OnMessageReceived ipc/ipdl/PWindowGlobalChild.cpp:451
4 xul.dll mozilla::dom::PContentChild::OnMessageReceived ipc/ipdl/PContentChild.cpp:7838
5 xul.dll mozilla::ipc::MessageChannel::DispatchMessage ipc/glue/MessageChannel.cpp:2111
6 xul.dll mozilla::SchedulerGroup::Runnable::Run xpcom/threads/SchedulerGroup.cpp:295
7 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1225
8 xul.dll NS_ProcessNextEvent xpcom/threads/nsThreadUtils.cpp:486
9 xul.dll mozilla::ipc::MessagePump::Run ipc/glue/MessagePump.cpp:88
There are 5 crashes (from 5 installations) in nightly 71 with buildid 20191015213743. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1576714.
[1] https://hg.mozilla.org/mozilla-central/rev?node=7935fa1ac774
Assignee | ||
Comment 1•5 years ago
|
||
This one should be relatively straightforward to fix, I'll put up a patch for it soon.
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 4•5 years ago
|
||
If these are fired too early, a nested event loop can be spun before the new
nsFrameLoader has been set up. Messages can be received over the
BrowserBridgeChild actor during this time when no nsFrameLoader is set, causing
crashes.
Assignee | ||
Comment 5•5 years ago
|
||
This is necessary as the nsFrameLoader may have been swapped, due to a process
switch, before the teardown of the old nsDocShell is complete. In this case, the
nsDocShell is still present on the BrowsingContext despite a nsFrameLoader for a
remote frame having been set up.
This will also be important for future changes such as cross-process bfcache. It
may be possible to change the calls to nsFrameLoader::GetDocShell()
back to
mDocShell
accesses in the future.
Comment hidden (Intermittent Failures Robot) |
Pushed by nlayzell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/03bc24aa3a2c Part 1: Cleanly kill BrowserBridgeChild if process switch fails, r=farre https://hg.mozilla.org/integration/autoland/rev/91e4d5c6422a Part 2: Delay pagehide events until new nsFrameLoader is set up, r=farre https://hg.mozilla.org/integration/autoland/rev/1a43032819e1 Part 3: Store mDocShell directly on nsFrameLoader, r=farre
Comment 8•5 years ago
|
||
Failures log: https://treeherder.mozilla.org/logviewer.html#?job_id=272200286&repo=autoland
Backout link: https://hg.mozilla.org/integration/autoland/rev/7537be6fe6bf885aa89388881e781648ca8f89f0
[task 2019-10-21T16:21:49.603Z] 16:21:49 INFO - TEST-PASS | dom/ipc/tests/browser_crash_oopiframe.js | oop frame browsing context id expected. -
[task 2019-10-21T16:21:49.603Z] 16:21:49 INFO - Console message: [JavaScript Error: "remote browser crashed while on about:blank
[task 2019-10-21T16:21:49.603Z] 16:21:49 INFO - " {file: "chrome://mochikit/content/mochitest-e10s-utils.js" line: 10}]
[task 2019-10-21T16:21:49.603Z] 16:21:49 INFO - e10s_init/<@chrome://mochikit/content/mochitest-e10s-utils.js:10:10
[task 2019-10-21T16:21:49.603Z] 16:21:49 INFO - EventListener.handleEvente10s_init@chrome://mochikit/content/mochitest-e10s-utils.js:6:10
[task 2019-10-21T16:21:49.604Z] 16:21:49 INFO - testInit@chrome://mochikit/content/browser-test.js:130:5
[task 2019-10-21T16:21:49.604Z] 16:21:49 INFO - setTimeout handler@chrome://mochikit/content/browser-test.js:40:11
[task 2019-10-21T16:21:49.605Z] 16:21:49 INFO - loadChromeScripts@jar:file:///tmp/tmpiw4rHp.mozrunner/extensions/mochikit@mozilla.org.xpi!/api.js:21:25
[task 2019-10-21T16:21:49.606Z] 16:21:49 INFO - loadMochitest@jar:file:///tmp/tmpiw4rHp.mozrunner/extensions/mochikit@mozilla.org.xpi!/api.js:143:20
[task 2019-10-21T16:21:49.606Z] 16:21:49 INFO - @tests/mochitest/runtests.py:1794:5
[task 2019-10-21T16:21:49.606Z] 16:21:49 INFO - @tests/mochitest/runtests.py:1795:8
[task 2019-10-21T16:21:49.607Z] 16:21:49 INFO - evaluate.sandbox/promise<@chrome://marionette/content/evaluate.js:138:10
[task 2019-10-21T16:21:49.607Z] 16:21:49 INFO - evaluate.sandbox@chrome://marionette/content/evaluate.js:114:17
[task 2019-10-21T16:21:49.608Z] 16:21:49 INFO - GeckoDriver.prototype.execute_@chrome://marionette/content/driver.js:1070:28
[task 2019-10-21T16:21:49.608Z] 16:21:49 INFO - asyncGeckoDriver.prototype.executeScript@chrome://marionette/content/driver.js:945:30
[task 2019-10-21T16:21:49.608Z] 16:21:49 INFO - despatch@chrome://marionette/content/server.js:305:40
[task 2019-10-21T16:21:49.609Z] 16:21:49 INFO - execute@chrome://marionette/content/server.js:275:16
[task 2019-10-21T16:21:49.609Z] 16:21:49 INFO - onPacket/<@chrome://marionette/content/server.js:248:20
[task 2019-10-21T16:21:49.609Z] 16:21:49 INFO - onPacket@chrome://marionette/content/server.js:249:9
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO - _onJSONObjectReady/<@chrome://marionette/content/transport.js:501:20
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO -
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO - Console message: [JavaScript Error: "NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIObserverService.removeObserver]" {file: "resource://testing-common/BrowserTestUtils.jsm" line: 1701}]
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO - Buffered messages finished
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO - TEST-UNEXPECTED-FAIL | dom/ipc/tests/browser_crash_oopiframe.js | Uncaught exception - undefined - timed out after 50 tries.
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-21T16:21:49.610Z] 16:21:49 INFO - TEST-UNEXPECTED-FAIL | dom/ipc/tests/browser_crash_oopiframe.js | A promise chain failed to handle a rejection: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIObserverService.removeObserver] - stack: crashFrame/crashCleanupPromise</observer/<@resource://testing-common/BrowserTestUtils.jsm:1701:24
[task 2019-10-21T16:21:49.611Z] 16:21:49 INFO - promise callbackobserver@resource://testing-common/BrowserTestUtils.jsm:1700:24
[task 2019-10-21T16:21:49.611Z] 16:21:49 INFO - Rejection date: Mon Oct 21 2019 16:21:43 GMT+0000 (Coordinated Universal Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 265
[task 2019-10-21T16:21:49.612Z] 16:21:49 INFO - Stack trace:
[task 2019-10-21T16:21:49.612Z] 16:21:49 INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:265
[task 2019-10-21T16:21:49.613Z] 16:21:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1098
[task 2019-10-21T16:21:49.613Z] 16:21:49 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1102
[task 2019-10-21T16:21:49.614Z] 16:21:49 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:930
[task 2019-10-21T16:21:49.614Z] 16:21:49 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:805
[task 2019-10-21T16:21:49.614Z] 16:21:49 INFO - Leaving test bound
[task 2019-10-21T16:21:49.614Z] 16:21:49 INFO - GECKO(8459) | MEMORY STAT | vsize 2976MB | residentFast 341MB | heapAllocated 117MB
[task 2019-10-21T16:21:49.614Z] 16:21:49 INFO - TEST-OK | dom/ipc/tests/browser_crash_oopiframe.js | took 7295ms
Updated•5 years ago
|
Assignee | ||
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
Some crashes in the 10-21 72 build, so marking that as affected.
Comment 12•5 years ago
|
||
Pushed by nlayzell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c5da844195a2 Part 1: Cleanly kill BrowserBridgeChild if process switch fails, r=farre https://hg.mozilla.org/integration/autoland/rev/b1340469162d Part 2: Delay pagehide events until new nsFrameLoader is set up, r=farre https://hg.mozilla.org/integration/autoland/rev/df7f1b18c16b Part 3: Store mDocShell directly on nsFrameLoader, r=farre https://hg.mozilla.org/integration/autoland/rev/26994428212d Part 4: Run DisplayLoadError in a script runner, r=farre
Updated•5 years ago
|
Updated•5 years ago
|
Comment 13•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c5da844195a2
https://hg.mozilla.org/mozilla-central/rev/b1340469162d
https://hg.mozilla.org/mozilla-central/rev/df7f1b18c16b
https://hg.mozilla.org/mozilla-central/rev/26994428212d
Comment hidden (Intermittent Failures Robot) |
Comment 15•4 years ago
|
||
No crashes on 71 beta so no need for an uplift, wontfix 71.
Updated•2 years ago
|
Description
•