Open Bug 1650447 Opened 4 years ago Updated 3 months ago

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)

defect

Tracking

()

Tracking Status
firefox80 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion)

Attachments

(1 file)

57.88 KB, application/x-zip-compressed
Details
Attached file testcase.zip

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
Flags: in-testsuite-

A Pernosco session is available here: https://pernos.co/debug/VshLO3SlF9Nl9WE5CKfG5w/index.html

Tentatively moving this to a docshell-relevant component.

Component: Layout → DOM: Navigation

(I pinged Tyson on Matrix about easiest way to run the test)

Flags: needinfo?(twsmith)

(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

Flags: needinfo?(twsmith)

Nika, is this something you can look into?

Flags: needinfo?(nika)

S3

This bug is related to bfcache restoring a document from session history.

Severity: -- → S3
Priority: -- → P3

This ended up lost in my ni? queue unfortunately. I imagine it probably doesn't reproduce anymore, but it might be worth double-checking just in case.

Flags: needinfo?(nika) → needinfo?(peterv)

Hi Adam, please help us verify if we can close this bug. Thank you.

Flags: needinfo?(peterv) → needinfo?(avandolder)

I've been unable to reproduce this failure using the latest nightly debug build, seems likely to be invalid now.

Flags: needinfo?(avandolder)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: