Closed Bug 1648955 Opened 3 months ago Closed 2 months ago

Intermittent Assertion failure: oldBrowserChild == newBrowserChild (Cannot change BrowserChild during nsDocShell lifetime!), at /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:2629

Categories

(Core :: DOM: Navigation, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla80
Fission Milestone M6b
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- unaffected
firefox79 --- unaffected
firefox80 --- fixed
firefox81 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: nika)

References

Details

(Keywords: assertion, intermittent-failure)

Attachments

(2 files)

Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=307763624&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/F3kpixQ2QX-Gs_RlDELhtw/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/F3kpixQ2QX-Gs_RlDELhtw/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2020-06-27T20:07:58.426Z] 20:07:58 INFO - REFTEST TEST-START | dom/base/crashtests/610571-1.html
[task 2020-06-27T20:07:58.427Z] 20:07:58 INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/dom/base/crashtests/610571-1.html | 202 / 3820 (5%)
[task 2020-06-27T20:07:58.476Z] 20:07:58 INFO - [Child 1545, Main Thread] WARNING: NS_ENSURE_TRUE(request) failed: file /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp, line 595
[task 2020-06-27T20:07:58.500Z] 20:07:58 INFO - [Parent 1160, Main Thread] WARNING: Received load event on unbridged BrowserParent!: file /builds/worker/checkouts/gecko/dom/ipc/BrowserParent.cpp, line 3964
[task 2020-06-27T20:07:58.549Z] 20:07:58 INFO - Assertion failure: oldBrowserChild == newBrowserChild (Cannot cahnge BrowserChild during nsDocShell lifetime!), at /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:2629
[task 2020-06-27T20:07:58.550Z] 20:07:58 INFO - #01: nsWebBrowser::Create(nsIWebBrowserChrome*, nsIWidget*, mozilla::dom::BrowsingContext*, mozilla::dom::WindowGlobalChild*) [toolkit/components/browser/nsWebBrowser.cpp:157]
[task 2020-06-27T20:07:58.550Z] 20:07:58 INFO - #02: mozilla::dom::BrowserChild::Init(mozIDOMWindowProxy*, mozilla::dom::WindowGlobalChild*) [dom/ipc/BrowserChild.cpp:461]
[task 2020-06-27T20:07:58.552Z] 20:07:58 INFO - #03: mozilla::dom::ContentChild::RecvConstructBrowser(mozilla::ipc::ManagedEndpoint<mozilla::dom::PBrowserChild>&&, mozilla::ipc::ManagedEndpoint<mozilla::dom::PWindowGlobalChild>&&, mozilla::dom::IdType<mozilla::dom::BrowserParent> const&, mozilla::dom::IPCTabContext const&, mozilla::dom::WindowGlobalInit const&, unsigned int const&, mozilla::dom::IdType<mozilla::dom::ContentParent> const&, bool const&, bool const&) [dom/ipc/ContentChild.cpp:1765]
[task 2020-06-27T20:07:58.553Z] 20:07:58 INFO - #04: mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources:8c98d90926411b51359a5d793c650995f2346cbd35dd4cdc253b26ab807ab3365c2a480dbcc7c2f9dc7cf8e482defee42de37c0fbba6060c5a43106b8b694148/ipc/ipdl/PContentChild.cpp::8393]
[task 2020-06-27T20:07:58.555Z] 20:07:58 INFO - #05: mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) [ipc/glue/MessageChannel.cpp:2170]
[task 2020-06-27T20:07:58.556Z] 20:07:58 INFO - #06: mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) [ipc/glue/MessageChannel.cpp:2096]
[task 2020-06-27T20:07:58.557Z] 20:07:58 INFO - #07: mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) [ipc/glue/MessageChannel.cpp:0]
[task 2020-06-27T20:07:58.558Z] 20:07:58 INFO - #08: mozilla::ipc::MessageChannel::MessageTask::Run() [ipc/glue/MessageChannel.cpp:1974]
[task 2020-06-27T20:07:58.559Z] 20:07:58 INFO - #09: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1236]
[task 2020-06-27T20:07:58.560Z] 20:07:58 INFO - #10: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:504]
[task 2020-06-27T20:07:58.561Z] 20:07:58 INFO - #11: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:87]
[task 2020-06-27T20:07:58.561Z] 20:07:58 INFO - #12: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:316]
[task 2020-06-27T20:07:58.570Z] 20:07:58 INFO - #13: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:292]
[task 2020-06-27T20:07:58.571Z] 20:07:58 INFO - #14: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2020-06-27T20:07:58.571Z] 20:07:58 INFO - #15: XRE_RunAppShell() [toolkit/xre/nsEmbedFunctions.cpp:913]
[task 2020-06-27T20:07:58.572Z] 20:07:58 INFO - #16: mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:237]
[task 2020-06-27T20:07:58.573Z] 20:07:58 INFO - #17: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:316]
[task 2020-06-27T20:07:58.574Z] 20:07:58 INFO - #18: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:292]
[task 2020-06-27T20:07:58.576Z] 20:07:58 INFO - #19: XRE_InitChildProcess(int, char**, XREChildData const*) [toolkit/xre/nsEmbedFunctions.cpp:744]
[task 2020-06-27T20:07:58.577Z] 20:07:58 INFO - #20: content_process_main(mozilla::Bootstrap*, int, char**) [ipc/contentproc/plugin-container.cpp:57]
[task 2020-06-27T20:07:58.578Z] 20:07:58 INFO - #21: main [browser/app/nsBrowserApp.cpp:303]
[task 2020-06-27T20:07:58.578Z] 20:07:58 INFO - #22: __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6 + 0x21b97]
[task 2020-06-27T20:07:58.579Z] 20:07:58 INFO - #23: ??? [/builds/worker/workspace/build/application/firefox/firefox-bin + 0x10ac9]
[task 2020-06-27T20:07:58.580Z] 20:07:58 INFO - #24: ??? (???:???)
[task 2020-06-27T20:07:58.597Z] 20:07:58 INFO - [Child 1545, Main Thread] WARNING: NS_ENSURE_TRUE(request) failed: file /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp, line 595
[task 2020-06-27T20:07:58.598Z] 20:07:58 INFO - [Child 1545, Main Thread] WARNING: NS_ENSURE_TRUE(request) failed: file /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp, line 595
[task 2020-06-27T20:07:58.602Z] 20:07:58 INFO - [Child 1545, Main Thread] WARNING: 'aFrameContext.IsNullOrDiscarded()', file /builds/worker/checkouts/gecko/dom/ipc/WindowGlobalChild.cpp, line 413
[task 2020-06-27T20:07:58.663Z] 20:07:58 INFO - [Parent 1160, Breakpad Server] WARNING: Resource acquired is being released in non-LIFO order; why?
[task 2020-06-27T20:07:58.664Z] 20:07:58 INFO - : file /builds/worker/checkouts/gecko/xpcom/threads/BlockingResourceBase.cpp, line 292
[task 2020-06-27T20:07:58.664Z] 20:07:58 INFO - --- Mutex : dumpSafetyLock (currently acquired)
[task 2020-06-27T20:07:58.665Z] 20:07:58 INFO - calling context
[task 2020-06-27T20:07:58.665Z] 20:07:58 INFO - [stack trace unavailable]
[task 2020-06-27T20:07:58.682Z] 20:07:58 INFO - ###!!! [Parent][MessageChannel] Error: (msgtype=0x390132,name=PContent::Msg_CommitBrowsingContextTransaction) Channel error: cannot send/recv

While doing some try pushes, I managed to end up with a pernosco run of this failure & figured out the cause. Taking the patch to fix it.

Assignee: nobody → nika
Fission Milestone: --- → M6b
Attachment #9165763 - Attachment description: Bug 1648955 - Stop process changing loads in inactive subframes, , annyg → Bug 1648955 - Stop process changing loads in inactive subframes,

There are a handful of crashes with this release assert in the wild in the last few months:
bp-6086ef5d-d0e9-44d7-ad52-d12790200623
bp-9065e16a-9b11-426e-a1ac-520e40200607
bp-6674bbae-4325-471a-a447-00e390200603

Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ac86e57503ae
Stop process changing loads in inactive subframes, r=mattwoodrow,annyG
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
Summary: Intermittent Assertion failure: oldBrowserChild == newBrowserChild (Cannot cahnge BrowserChild during nsDocShell lifetime!), at /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:2629 → Intermittent Assertion failure: oldBrowserChild == newBrowserChild (Cannot change BrowserChild during nsDocShell lifetime!), at /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:2629

Based on the back-out of bug 1652085, it seems like this patch didn't actually successfully fix the assertion failure I was encountering after applying that patch (which I had assumed was a more common form of the intermittent).

Re-opening until I can find the real cause.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
See Also: → 1652085
Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2ed1f0bc2a01
Check parent WC is in-proc rather than parent BC nsDocShell to tree, r=farre
Status: REOPENED → RESOLVED
Closed: 2 months ago2 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.