Closed Bug 859348 Opened 12 years ago Closed 10 years ago

Intermittent dom/indexedDB/test/test_bfcache.html | Assertion count 1 is greater than expected range (User did not call nsIContentViewer::Destroy: '!mPresShell && !mPresContext')

Categories

(Core :: Layout, defect, P5)

x86
Windows XP
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: assertion, crash, intermittent-failure)

https://tbpl.mozilla.org/php/getParsedLog.php?id=21539254&tree=Mozilla-Inbound Rev3 WINNT 5.1 mozilla-inbound debug test mochitest-3 on 2013-04-07 20:26:35 PDT for push bd072e286fc0 slave: talos-r3-xp-078 03:41:25 INFO - 9396 INFO TEST-START | /tests/dom/indexedDB/test/test_bfcache.html 03:41:25 INFO - ++DOMWINDOW == 22 (0AA32D80) [serial = 63] [outer = 0AC93EA0] 03:41:25 INFO - ++DOCSHELL 0C632148 == 7 [id = 16] 03:41:25 INFO - ++DOMWINDOW == 23 (072BDDB0) [serial = 64] [outer = 00000000] 03:41:25 INFO - [Parent 3200] WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv) && subjPrincipal) failed: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/docshell/base/nsDocShell.cpp, line 8387 03:41:25 INFO - [Parent 3200] WARNING: Subdocument container has no frame: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/layout/base/nsDocumentViewer.cpp, line 2388 03:41:25 INFO - ++DOMWINDOW == 24 (0A030070) [serial = 65] [outer = 072BDDB0] 03:41:25 INFO - 9397 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | don't double-enable bfcache 03:41:25 INFO - ++DOMWINDOW == 25 (0A24D140) [serial = 66] [outer = 072BDDB0] 03:41:26 INFO - 9398 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | set up database successfully 03:41:26 INFO - ++DOMWINDOW == 26 (07EA68E0) [serial = 67] [outer = 072BDDB0] 03:41:26 INFO - [Parent 3200] ###!!! ASSERTION: User did not call nsIContentViewer::Destroy: '!mPresShell && !mPresContext', file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/layout/base/nsDocumentViewer.cpp, line 577 03:41:26 INFO - 9399 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | version was set correctly 03:41:26 INFO - 9400 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | correct set of stores 03:41:26 INFO - 9401 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | blocked shouldn't fire 03:41:26 INFO - 9402 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | correct value found in store 03:41:26 INFO - 9403 INFO TEST-PASS | /tests/dom/indexedDB/test/test_bfcache.html | don't double-disable bfcache 03:41:26 INFO - 9404 INFO TEST-END | /tests/dom/indexedDB/test/test_bfcache.html | finished in 1027ms 03:41:26 INFO - ++DOMWINDOW == 27 (0727E6F8) [serial = 68] [outer = 0AC93EA0] 03:41:26 INFO - 9405 ERROR TEST-UNEXPECTED-FAIL | /tests/dom/indexedDB/test/test_bfcache.html | Assertion count 1 is greater than expected range 0-0 assertions.
A stack trace for the assertion would help. If I change this NS_ASSERTION to a fatal MOZ_ASSERT would that make mochitest-3 give me a stack?
Severity: normal → critical
Keywords: crash
There is a stack, it's just hidden because Windows is horrible at stream buffering: 03:41:46 INFO - nsDocumentViewer::Release() [layout/base/nsDocumentViewer.cpp:555] 03:41:46 INFO - nsCOMPtr<nsIContentViewer>::~nsCOMPtr<nsIContentViewer>() [obj-firefox/dist/include/nsCOMPtr.h:494] 03:41:46 INFO - nsPresContext::EnsureVisible() [layout/base/nsPresContext.cpp:1860] 03:41:46 INFO - PresShell::UnsuppressAndInvalidate() [layout/base/nsPresShell.cpp:3609] 03:41:46 INFO - nsDocShell::EndPageLoad(nsIWebProgress *,nsIChannel *,tag_nsresult) [docshell/base/nsDocShell.cpp:6711] 03:41:46 INFO - nsDocShell::OnStateChange(nsIWebProgress *,nsIRequest *,unsigned int,tag_nsresult) [docshell/base/nsDocShell.cpp:6530] 03:41:46 INFO - nsDocLoader::DoFireOnStateChange(nsIWebProgress * const,nsIRequest * const,int &,tag_nsresult) [uriloader/base/nsDocLoader.cpp:1293] 03:41:46 INFO - nsDocLoader::doStopDocumentLoad(nsIRequest *,tag_nsresult) [uriloader/base/nsDocLoader.cpp:870] 03:41:46 INFO - nsDocLoader::DocLoaderIsEmpty(bool) [uriloader/base/nsDocLoader.cpp:762] 03:41:46 INFO - nsDocLoader::OnStopRequest(nsIRequest *,nsISupports *,tag_nsresult) [uriloader/base/nsDocLoader.cpp:648] 03:41:46 INFO - nsLoadGroup::RemoveRequest(nsIRequest *,nsISupports *,tag_nsresult) [netwerk/base/src/nsLoadGroup.cpp:676] 03:41:46 INFO - nsDocument::DoUnblockOnload() [content/base/src/nsDocument.cpp:7968] 03:41:46 INFO - nsDocument::UnblockOnload(bool) [content/base/src/nsDocument.cpp:7895] 03:41:46 INFO - nsDocument::DispatchContentLoadedEvents() [content/base/src/nsDocument.cpp:4525] 03:41:46 INFO - nsRunnableMethodImpl<void ( nsDocument::*)(void),1>::Run() [obj-firefox/dist/include/nsThreadUtils.h:351] 03:41:46 INFO - nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:627] 03:41:46 INFO - NS_ProcessNextEvent(nsIThread *,bool) [obj-firefox/xpcom/build/nsThreadUtils.cpp:238] 03:41:46 INFO - mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:82] 03:41:46 INFO - MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:216] 03:41:46 INFO - MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:210] 03:41:46 INFO - MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:184] 03:41:46 INFO - nsBaseAppShell::Run() [widget/xpwidgets/nsBaseAppShell.cpp:165] 03:41:46 INFO - nsAppShell::Run() [widget/windows/nsAppShell.cpp:113] 03:41:46 INFO - nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:269] 03:41:46 INFO - XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:3880] 03:41:46 INFO - XREMain::XRE_main(int,char * * const,nsXREAppData const *) [toolkit/xre/nsAppRunner.cpp:3947] 03:41:46 INFO - XRE_main [toolkit/xre/nsAppRunner.cpp:4163] 03:41:46 INFO - do_main [browser/app/nsBrowserApp.cpp:274] 03:41:46 INFO - NS_internal_main(int,char * *) [browser/app/nsBrowserApp.cpp:639] 03:41:46 INFO - wmain [toolkit/xre/nsWindowsWMain.cpp:112] 03:41:46 INFO - __tmainCRTStartup [f:/dd/vctools/crt_bld/self_x86/crt/src/crtexe.c:552] 03:41:46 INFO - wmainCRTStartup [f:/dd/vctools/crt_bld/self_x86/crt/src/crtexe.c:371] 03:41:46 INFO - kernel32 + 0x16d4f
I can reproduce this assertion locally by loading the mochitest dom/indexedDB/test/test_bfcache.html in several tabs and then doing "Reload all Tabs". mPresShell and mPresContext are both non-null and mIsSticky=1. mPresShell has mFrozen=1 so it looks like the prevViewer->Destroy() in Show() on line 1929: http://hg.mozilla.org/mozilla-central/annotate/a6fb03a70c9d/layout/base/nsDocumentViewer.cpp#l1924 executed the "if (mSHEntry)" block here: http://hg.mozilla.org/mozilla-central/annotate/a6fb03a70c9d/layout/base/nsDocumentViewer.cpp#l1527 I guess we called Show() on a viewer before Hide() on its mPreviousViewer? (it looks like ~nsDocumentViewer() has fallback code to deal with this situation though)
Priority: -- → P5
Closing bugs where TBPLbot has previously commented, but have now not been modified for >3 months & do not contain the whiteboard strings for disabled/annotated tests or use the keyword leave-open. Filter on: mass-intermittent-bug-closure-2014-07
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.