Assertion failure: !mIsBeingDestroyed, at src/docshell/base/nsDocShell.cpp:5489
Categories
(Core :: DOM: Navigation, defect, P2)
Tracking
()
Fission Milestone | M5b |
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | wontfix |
firefox64 | --- | wontfix |
firefox65 | --- | wontfix |
firefox66 | --- | wontfix |
firefox67 | --- | wontfix |
firefox68 | --- | wontfix |
firefox69 | --- | wontfix |
firefox70 | --- | wontfix |
firefox71 | --- | wontfix |
firefox72 | --- | disabled |
firefox73 | --- | disabled |
firefox74 | --- | disabled |
firefox75 | --- | fixed |
People
(Reporter: tsmith, Assigned: kmag)
References
(Blocks 2 open bugs)
Details
(4 keywords)
Attachments
(1 file, 1 obsolete file)
229 bytes,
text/html
|
Details |
Reporter | ||
Comment 1•6 years ago
|
||
Still repros if I open in multiple tabs and wait a few seconds.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 4•5 years ago
|
||
All the latest failures here are on fission linux64/linux64-qr debug: https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?bug=1508911&startday=2019-08-05&endday=2019-08-11&tree=all
Comment hidden (Intermittent Failures Robot) |
Comment 6•5 years ago
|
||
Neha, could you please look over what's going on here or redirect to someone? It has 99 failures in 20 days and it's closing on disable-recommended bugs list. https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2019-07-21&endday=2019-08-20&tree=trunk&bug=1508911
It fails only on fission linux64/linux64-qr debug.
Recent failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=262367630&repo=mozilla-central
Comment 7•5 years ago
|
||
Kris, can you look into this?
Comment hidden (Intermittent Failures Robot) |
Updated•5 years ago
|
Comment 9•5 years ago
|
||
Interestingly, the stacks of the few test failures I see by looking at https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?bug=1508911&startday=2019-08-05&endday=2019-08-11&tree=all appear to have a different pattern in their stack than the stack mentioned in the first commit. Here's a summary of the vague pattern:
Assertion failure: !mIsBeingDestroyed
nsFrameLoader::Show(...)
-snip-
AsyncFrameInit::Run()
nsContentUtils::RemoveScriptBlocker()
-snip-
PresShell::DoFlushPendingNotifications(...)
-snip-
nsDocShell::Stop(...)
nsDocShell::Destroy()
-snip-
nsFrameLoaderOwner::ChangeRemoteness(...)
WindowGlobalChild::RecvChangeFrameRemoteness(...)
The issue appears to be related to entering DoFlushPendingNotifications
while the nsDocShell is being destroyed, but PresShell::mIsDestroying
is false. The AsyncFrameInit
call is queued up to run during one of these check blocks, and gets run immediately after, firing the assertion.
The PresShell
seems like it would be set as destroying here: https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/docshell/base/nsDocShell.cpp#4925, while the Stop
call which triggers the reflow is run here: https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/docshell/base/nsDocShell.cpp#4907.
I'm guessing this may be being caused by fission due how it exercises the nsDocShell::Destroy()
codepath during document loading more than tests normally do, but I'm not sure if this is specifically a Fission issue. The original source (from ChangeFrameRemoteness
) is certainly fission-related though.
:jwatt, do you happen to know what the correct behaviour here would be? Perhaps we need to make sure to not fire the loadgroup-empty notifications during nsDocShell::Destroy() before the PresShell has been marked as destroying?
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Bugbug thinks this bug is a regression, but please revert this change in case of error.
Updated•5 years ago
|
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 12•5 years ago
|
||
This bug failed 51 times in the last 7 days. Occurs on linux64 and linux64-qr on debug build types.
Comment hidden (Intermittent Failures Robot) |
Comment 14•5 years ago
|
||
In the last 7 days there have been 39 occurrences Linux 64 (most Linux 64 QR) build type debug.
Recent failure: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=266426597&repo=mozilla-central&lineNumber=5191
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 17•5 years ago
|
||
Hi Neha, failure rate here seems to be increasing on fission. Can you assign someone to take a look or is there a way to disable this?
There are 42 total failures in the last 7 days on linux64 and linux64-qr debug fission.
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=267600834&repo=mozilla-central&lineNumber=4815
[task 2019-09-20T07:19:59.149Z] 07:19:59 INFO - TEST-START | js/xpconnect/tests/mochitest/test_bug629331.html
[task 2019-09-20T07:19:59.169Z] 07:19:59 INFO - GECKO(1963) | [Parent 1963, Main Thread] WARNING: Cannot set transparency mode on non-popup windows.: file /builds/worker/workspace/build/src/widget/gtk/nsWindow.cpp, line 4494
[task 2019-09-20T07:19:59.213Z] 07:19:59 INFO - GECKO(1963) | ++DOMWINDOW == 15 (0x7efcf862ec00) [pid = 2137] [serial = 66] [outer = 0x7efcfafdd6a0]
[task 2019-09-20T07:19:59.269Z] 07:19:59 INFO - GECKO(1963) | [Parent 1963, Main Thread] WARNING: Cannot set transparency mode on non-popup windows.: file /builds/worker/workspace/build/src/widget/gtk/nsWindow.cpp, line 4494
[task 2019-09-20T07:19:59.306Z] 07:19:59 INFO - GECKO(1963) | ++DOCSHELL 0x7efcfa0b1000 == 4 [pid = 2137] [id = {41ce7ce8-cabb-4c52-893a-401865665fcc}]
[task 2019-09-20T07:19:59.306Z] 07:19:59 INFO - GECKO(1963) | ++DOMWINDOW == 16 (0x7efcfafdda60) [pid = 2137] [serial = 67] [outer = (nil)]
[task 2019-09-20T07:19:59.321Z] 07:19:59 INFO - GECKO(1963) | Assertion failure: !mIsBeingDestroyed, at /builds/worker/workspace/build/src/docshell/base/nsDocShell.cpp:5151
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #01: <name omitted> [docshell/base/nsDocShell.cpp:4817]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #02: nsFrameLoader::Show(int, int, int, int, nsSubDocumentFrame*) [dom/base/nsFrameLoader.cpp:913]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #03: nsSubDocumentFrame::ShowViewer() [layout/generic/nsIFrame.h:4747]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #04: AsyncFrameInit::Run() [layout/generic/nsSubDocumentFrame.cpp:0]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #05: nsContentUtils::RemoveScriptBlocker() [dom/base/nsContentUtils.cpp:5160]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #06: mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) [layout/base/PresShell.cpp:4109]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #07: mozilla::dom::Document::FlushPendingNotifications(mozilla::ChangesToFlush) [dom/base/Document.cpp:10071]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #08: nsDocLoader::DocLoaderIsEmpty(bool) [uriloader/base/nsDocLoader.cpp:681]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #09: nsDocLoader::NotifyDoneWithOnload(nsDocLoader*) [uriloader/base/nsDocLoader.h:0]
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.532Z] 07:20:20 INFO - GECKO(1963) | #10: nsDocLoader::DocLoaderIsEmpty(bool) [uriloader/base/nsDocLoader.cpp:735]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #11: nsDocLoader::OnStopRequest(nsIRequest*, nsresult) [uriloader/base/nsDocLoader.cpp:619]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #12: non-virtual thunk to nsDocLoader::OnStopRequest(nsIRequest*, nsresult) [uriloader/base/nsDocLoader.cpp:0]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #13: mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) [netwerk/base/nsLoadGroup.cpp:568]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #14: mozilla::net::nsLoadGroup::Cancel(nsresult) [netwerk/base/nsLoadGroup.cpp:224]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #15: nsDocLoader::Stop() [uriloader/base/nsDocLoader.cpp:237]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #16: nsDocShell::Stop(unsigned int) [docshell/base/nsDocShell.cpp:4668]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #17: nsDocShell::Destroy() [docshell/base/nsDocShell.cpp:4925]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #18: nsFrameLoader::DestroyDocShell() [dom/base/nsFrameLoader.cpp:1891]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #19: nsFrameLoaderDestroyRunnable::Run() [dom/base/nsFrameLoader.cpp:1831]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #20: mozilla::dom::Document::MaybeInitializeFinalizeFrameLoaders() [dom/base/Document.cpp:8550]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #21: mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::)(), true, (mozilla::RunnableKind)0>::Run() [xpcom/threads/nsThreadUtils.h:1176]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #22: nsContentUtils::AddScriptRunner(already_AddRefed<nsIRunnable>) [dom/base/nsContentUtils.cpp:0]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO - GECKO(1963) | #23: nsContentUtils::AddScriptRunner(nsIRunnable) [dom/base/nsContentUtils.cpp:5231]
[task 2019-09-20T07:20:20.533Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.534Z] 07:20:20 INFO - GECKO(1963) | #24: mozilla::dom::Document::FinalizeFrameLoader(nsFrameLoader*, nsIRunnable*) [dom/base/Document.cpp:8508]
[task 2019-09-20T07:20:20.535Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.535Z] 07:20:20 INFO - GECKO(1963) | #25: nsFrameLoader::StartDestroy() [dom/base/nsFrameLoader.cpp:1816]
[task 2019-09-20T07:20:20.535Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.536Z] 07:20:20 INFO - GECKO(1963) | #26: nsFrameLoaderOwner::ChangeRemoteness(mozilla::dom::RemotenessOptions const&, mozilla::ErrorResult&) [dom/base/nsFrameLoaderOwner.cpp:84]
[task 2019-09-20T07:20:20.536Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.537Z] 07:20:20 INFO - GECKO(1963) | #27: mozilla::dom::WindowGlobalChild::RecvChangeFrameRemoteness(mozilla::dom::BrowsingContext*, nsTString<char16_t> const&, unsigned long, std::function<void (mozilla::Tuple<nsresult const&, mozilla::dom::PBrowserBridgeChild*>)>&&) [dom/ipc/WindowGlobalChild.cpp:312]
[task 2019-09-20T07:20:20.539Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.539Z] 07:20:20 INFO - GECKO(1963) | #28: mozilla::dom::PWindowGlobalChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources:9596c625a6e87a91e3c8829fb882f453359ca17174888223411dac9608b43bd5d09694c7bf27b196a7d4c3c0550ff25a5e7968a8c1ab9597e61f7d8a87c6f3c8/ipc/ipdl/PWindowGlobalChild.cpp::394]
[task 2019-09-20T07:20:20.540Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.540Z] 07:20:20 INFO - GECKO(1963) | #29: mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) [s3:gecko-generated-sources:819d57f1ac335c9022af60c24b45d1310a5e7ae4edb11d3380f34438b1431bb4968a4cbfd118c8344e19f7c4617ee53203eda7536acaeb5aaf41537f27dac0c1/ipc/ipdl/PContentChild.cpp::7834]
[task 2019-09-20T07:20:20.541Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.542Z] 07:20:20 INFO - GECKO(1963) | #30: mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) [ipc/glue/MessageChannel.cpp:2186]
[task 2019-09-20T07:20:20.542Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.543Z] 07:20:20 INFO - GECKO(1963) | #31: mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) [ipc/glue/MessageChannel.cpp:2112]
[task 2019-09-20T07:20:20.543Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.544Z] 07:20:20 INFO - GECKO(1963) | #32: mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) [ipc/glue/MessageChannel.cpp:0]
[task 2019-09-20T07:20:20.545Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.546Z] 07:20:20 INFO - GECKO(1963) | #33: mozilla::ipc::MessageChannel::MessageTask::Run() [ipc/glue/MessageChannel.cpp:1987]
[task 2019-09-20T07:20:20.546Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.547Z] 07:20:20 INFO - GECKO(1963) | #34: mozilla::SchedulerGroup::Runnable::Run() [xpcom/threads/SchedulerGroup.cpp:295]
[task 2019-09-20T07:20:20.547Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.548Z] 07:20:20 INFO - GECKO(1963) | #35: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1214]
[task 2019-09-20T07:20:20.548Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.549Z] 07:20:20 INFO - GECKO(1963) | #36: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:486]
[task 2019-09-20T07:20:20.549Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.550Z] 07:20:20 INFO - GECKO(1963) | #37: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:0]
[task 2019-09-20T07:20:20.551Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.552Z] 07:20:20 INFO - GECKO(1963) | #38: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:315]
[task 2019-09-20T07:20:20.553Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.553Z] 07:20:20 INFO - GECKO(1963) | #39: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:291]
[task 2019-09-20T07:20:20.554Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.554Z] 07:20:20 INFO - GECKO(1963) | #40: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2019-09-20T07:20:20.555Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.555Z] 07:20:20 INFO - GECKO(1963) | #41: XRE_RunAppShell() [toolkit/xre/nsEmbedFunctions.cpp:934]
[task 2019-09-20T07:20:20.556Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.556Z] 07:20:20 INFO - GECKO(1963) | #42: mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:238]
[task 2019-09-20T07:20:20.557Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.558Z] 07:20:20 INFO - GECKO(1963) | #43: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:315]
[task 2019-09-20T07:20:20.558Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.559Z] 07:20:20 INFO - GECKO(1963) | #44: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:291]
[task 2019-09-20T07:20:20.559Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.560Z] 07:20:20 INFO - GECKO(1963) | #45: XRE_InitChildProcess(int, char**, XREChildData const*) [toolkit/xre/nsEmbedFunctions.cpp:769]
[task 2019-09-20T07:20:20.560Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.737Z] 07:20:20 INFO - GECKO(1963) | #46: content_process_main(mozilla::Bootstrap*, int, char**) [ipc/contentproc/plugin-container.cpp:57]
[task 2019-09-20T07:20:20.737Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.738Z] 07:20:20 INFO - GECKO(1963) | #47: main [browser/app/nsBrowserApp.cpp:272]
[task 2019-09-20T07:20:20.738Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.740Z] 07:20:20 INFO - GECKO(1963) | #48: libc.so.6 + 0x20830
[task 2019-09-20T07:20:20.740Z] 07:20:20 INFO -
[task 2019-09-20T07:20:20.741Z] 07:20:20 INFO - GECKO(1963) | #49: _start
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 19•5 years ago
|
||
There have been no failures in the last three nightlies.
Comment 20•5 years ago
|
||
My guess is that the assertion is no longer being triggered because kmag's patches in bug 1582523 changed the timing of when the 'iframe's 'load' event fires in js/xpconnect/tests/mochitest/test_bug396851.html. Most likely if we were to trigger go() off the top-level document's 'DOMContentLoaded' event instead then the intermittent assertion would come back.
Assignee | ||
Updated•5 years ago
|
Reporter | ||
Comment 21•5 years ago
|
||
Here is an up to date test case that can trigger the assertion.
Reduced with m-c:
BuildID=20191008093420
SourceStamp=035f52aed4427b22facfa883067e298f10ef9e97
Reporter | ||
Comment 22•5 years ago
|
||
If a Pernosco session would help get this issue resolved please let me know and I will create one.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 25•5 years ago
|
||
kmag, you said this bug was fixed by another bug and we can dupe this bug to that one. Do you recall that bug #?
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 27•5 years ago
|
||
Clearing old needinfo for jwatt because this bug has since been fixed.
Description
•