Assertion failure: !docShellThinksWeAreRestoring (How can docshell think we are restoring if we don't have a READYSTATE_COMPLETE document?), at src/layout/base/nsDocumentViewer.cpp:1059
Categories
(Core :: DOM: Navigation, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox80 | --- | affected |
People
(Reporter: tsmith, Unassigned, NeedInfo)
References
(Blocks 1 open bug)
Details
(Keywords: assertion)
Attachments
(1 file)
(deleted),
application/x-zip-compressed
|
Details |
The attached testcase is fairly build specific. The issues was found with m-c 20200702-2d709e60c76e
debug (non-fuzzing)
Assertion failure: !docShellThinksWeAreRestoring (How can docshell think we are restoring if we don't have a READYSTATE_COMPLETE document?), at src/layout/base/nsDocumentViewer.cpp:1059
0|0|libxul.so|nsDocumentViewer::LoadComplete(nsresult)|hg:hg.mozilla.org/mozilla-central:layout/base/nsDocumentViewer.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|1057|0x0
0|1|libxul.so|nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, nsresult)|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|6032|0x14
0|2|libxul.so|nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult)|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|5501|0xe
0|3|libxul.so|non-virtual thunk to nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult)|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|0|0x10
0|4|libxul.so|nsDocLoader::DoFireOnStateChange(nsIWebProgress*, nsIRequest*, int&, nsresult)|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|1331|0x2b
0|5|libxul.so|nsDocLoader::doStopDocumentLoad(nsIRequest*, nsresult)|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|937|0x28
0|6|libxul.so|nsDocLoader::DocLoaderIsEmpty(bool, mozilla::Maybe<nsresult> const&)|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|757|0xe
0|7|libxul.so|nsDocLoader::OnStopRequest(nsIRequest*, nsresult)|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|640|0x12
0|8|libxul.so|non-virtual thunk to nsDocLoader::OnStopRequest(nsIRequest*, nsresult)|hg:hg.mozilla.org/mozilla-central:uriloader/base/nsDocLoader.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|0|0xd
0|9|libxul.so|mozilla::net::nsLoadGroup::NotifyRemovalObservers(nsIRequest*, nsresult)|hg:hg.mozilla.org/mozilla-central:netwerk/base/nsLoadGroup.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|615|0x14
0|10|libxul.so|mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult)|hg:hg.mozilla.org/mozilla-central:netwerk/base/nsLoadGroup.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|522|0xe
0|11|libxul.so|nsDocShell::FinishRestore()|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|6767|0x20
0|12|libxul.so|nsDocShell::RestoreFromHistory()|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|7355|0x8
0|13|libxul.so|nsDocShell::RestorePresentationEvent::Run()|hg:hg.mozilla.org/mozilla-central:docshell/base/nsDocShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|6681|0xd
0|14|libxul.so|mozilla::SchedulerGroup::Runnable::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/SchedulerGroup.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|146|0x11
0|15|libxul.so|mozilla::RunnableTask::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|209|0x11
0|16|libxul.so|mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|459|0xa
0|17|libxul.so|mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|337|0x5
0|18|libxul.so|mozilla::TaskController::ProcessPendingMTTask()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/TaskController.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|152|0x8
0|19|libxul.so|mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_4>::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.h:2d709e60c76ec75960054105fae65a758d7a5e78|577|0xd
0|20|libxul.so|nsThread::ProcessNextEvent(bool, bool*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|1234|0xe
0|21|libxul.so|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|513|0xc
0|22|libxul.so|mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|87|0x7
0|23|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2d709e60c76ec75960054105fae65a758d7a5e78|334|0x17
0|24|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2d709e60c76ec75960054105fae65a758d7a5e78|309|0x8
0|25|libxul.so|nsBaseAppShell::Run()|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|137|0xd
0|26|libxul.so|XRE_RunAppShell()|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|913|0xe
0|27|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|237|0x5
0|28|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2d709e60c76ec75960054105fae65a758d7a5e78|334|0x17
0|29|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:2d709e60c76ec75960054105fae65a758d7a5e78|309|0x8
0|30|libxul.so|XRE_InitChildProcess(int, char**, XREChildData const*)|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|744|0x5
0|31|firefox-bin|content_process_main(mozilla::Bootstrap*, int, char**)|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|56|0x11
0|32|firefox-bin|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:2d709e60c76ec75960054105fae65a758d7a5e78|303|0x20
Reporter | ||
Comment 1•4 years ago
|
||
A Pernosco session is available here: https://pernos.co/debug/VshLO3SlF9Nl9WE5CKfG5w/index.html
Comment 2•4 years ago
|
||
Tentatively moving this to a docshell-relevant component.
Comment 3•4 years ago
|
||
(I pinged Tyson on Matrix about easiest way to run the test)
Reporter | ||
Comment 4•4 years ago
|
||
(from conversation)
The easiest way to run it is to use Grizzly (our browser fuzzing framework).
python3 -m pip install grizzly-framework --user
python3 -m grizzly.replay <browser-bin> <testcase> -l <log-path> -p <prefs-file>
It will create a fresh profile and cleanup when finished and you can also add --rr to get an rr trace
Comment 6•4 years ago
|
||
S3
This bug is related to bfcache restoring a document from session history.
Description
•