Closed
Bug 1346471
Opened 8 years ago
Closed 7 years ago
Intermittent test_bug1339722.html | Assertion count 1 is greater than expected (More UnblockOnload() calls than BlockOnload() calls; dropping call: 'Not Reached') leakcheck | default process: 20 bytes leaked (nsHtml5StreamListener)
Categories
(Core :: DOM: Core & HTML, defect, P3)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox53 | --- | affected |
People
(Reporter: intermittent-bug-filer, Assigned: freesamael)
References
Details
(Keywords: assertion, intermittent-failure, memory-leak)
Attachments
(1 file)
Filed by: rvandermeulen [at] mozilla.com
https://treeherder.mozilla.org/logviewer.html#?job_id=83153510&repo=mozilla-beta
https://archive.mozilla.org/pub/firefox/tinderbox-builds/mozilla-beta-win32-debug/1489188022/mozilla-beta_win7_ix-debug_test-mochitest-chrome-1-bm109-tests1-windows-build7.txt.gz
[Parent 2748] ###!!! ASSERTION: More UnblockOnload() calls than BlockOnload() calls; dropping call: 'Not Reached', file c:/builds/moz2_slave/m-beta-w32-d-00000000000000000/build/src/dom/base/nsDocument.cpp, line 8625
#01: nsHTMLDocument::StopDocumentLoad() [dom/html/nsHTMLDocument.cpp:817]
#02: nsDocShell::Stop(unsigned int) [docshell/base/nsDocShell.cpp:5498]
#03: nsDocShell::Destroy() [docshell/base/nsDocShell.cpp:5797]
#04: nsFrameLoader::DestroyDocShell() [dom/base/nsFrameLoader.cpp:2107]
#05: nsFrameLoaderDestroyRunnable::Run() [dom/base/nsFrameLoader.cpp:2050]
#06: nsDocument::MaybeInitializeFinalizeFrameLoaders() [dom/base/nsDocument.cpp:7014]
#07: nsDocument::EndUpdate(unsigned int) [dom/base/nsDocument.cpp:4898]
#08: nsHTMLDocument::EndUpdate(unsigned int) [dom/html/nsHTMLDocument.cpp:2425]
#09: mozAutoDocUpdate::~mozAutoDocUpdate() [dom/base/mozAutoDocUpdate.h:42]
#10: mozilla::dom::FragmentOrElement::RemoveChildAt(unsigned int,bool) [dom/base/FragmentOrElement.cpp:1166]
#11: nsINode::Remove() [dom/base/nsINode.cpp:1853]
#12: mozilla::dom::ElementBinding::remove [obj-firefox/dom/bindings/ElementBinding.cpp:3601]
#13: mozilla::dom::GenericBindingMethod(JSContext *,unsigned int,JS::Value *) [dom/bindings/BindingUtils.cpp:2914]
#14: js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:239]
#15: js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:460]
#16: InternalCall [js/src/vm/Interpreter.cpp:505]
#17: Interpret [js/src/vm/Interpreter.cpp:2956]
#18: js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:406]
#19: js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:478]
#20: InternalCall [js/src/vm/Interpreter.cpp:505]
#21: js::Call(JSContext *,JS::Handle<JS::Value>,JS::Handle<JS::Value>,js::AnyInvokeArgs const &,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:524]
#22: js::Wrapper::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/proxy/Wrapper.cpp:165]
#23: js::CrossCompartmentWrapper::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/proxy/CrossCompartmentWrapper.cpp:333]
#24: js::Proxy::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/proxy/Proxy.cpp:421]
#25: js::proxy_Call(JSContext *,unsigned int,JS::Value *) [js/src/proxy/Proxy.cpp:662]
#26: js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:239]
#27: js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:448]
#28: InternalCall [js/src/vm/Interpreter.cpp:505]
#29: js::Call(JSContext *,JS::Handle<JS::Value>,JS::Handle<JS::Value>,js::AnyInvokeArgs const &,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:524]
#30: JS::Call(JSContext *,JS::Handle<JS::Value>,JS::Handle<JS::Value>,JS::HandleValueArray const &,JS::MutableHandle<JS::Value>) [js/src/jsapi.cpp:2847]
#31: mozilla::dom::EventListener::HandleEvent(JSContext *,JS::Handle<JS::Value>,mozilla::dom::Event &,mozilla::ErrorResult &) [obj-firefox/dom/bindings/EventListenerBinding.cpp:47]
#32: mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget *>(mozilla::dom::EventTarget * const &,mozilla::dom::Event &,mozilla::ErrorResult &,char const *,mozilla::dom::CallbackObject::ExceptionHandling,JSCompartment *) [obj-firefox/dist/include/mozilla/dom/EventListenerBinding.h:64]
#33: mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener *,nsIDOMEvent *,mozilla::dom::EventTarget *) [dom/events/EventListenerManager.cpp:1134]
#34: mozilla::EventListenerManager::HandleEventInternal(nsPresContext *,mozilla::WidgetEvent *,nsIDOMEvent * *,mozilla::dom::EventTarget *,nsEventStatus *) [dom/events/EventListenerManager.cpp:1321]
#35: mozilla::EventListenerManager::HandleEvent(nsPresContext *,mozilla::WidgetEvent *,nsIDOMEvent * *,mozilla::dom::EventTarget *,nsEventStatus *) [obj-firefox/dist/include/mozilla/EventListenerManager.h:374]
#36: mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor &,mozilla::ELMCreationDetector &) [dom/events/EventDispatcher.cpp:317]
#37: mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem> &,mozilla::EventChainPostVisitor &,mozilla::EventDispatchingCallback *,mozilla::ELMCreationDetector &) [dom/events/EventDispatcher.cpp:488]
#38: mozilla::EventDispatcher::Dispatch(nsISupports *,nsPresContext *,mozilla::WidgetEvent *,nsIDOMEvent *,nsEventStatus *,mozilla::EventDispatchingCallback *,nsTArray<mozilla::dom::EventTarget *> *) [dom/events/EventDispatcher.cpp:822]
#39: mozilla::EventDispatcher::DispatchDOMEvent(nsISupports *,mozilla::WidgetEvent *,nsIDOMEvent *,nsPresContext *,nsEventStatus *) [dom/events/EventDispatcher.cpp:885]
#40: mozilla::DOMEventTargetHelper::DispatchDOMEvent(mozilla::WidgetEvent *,nsIDOMEvent *,nsPresContext *,nsEventStatus *) [dom/events/DOMEventTargetHelper.cpp:350]
#41: nsContentUtils::DispatchChromeEvent(nsIDocument *,nsISupports *,nsAString_internal const &,bool,bool,bool *) [dom/base/nsContentUtils.cpp:4069]
#42: nsGlobalWindow::DispatchDOMWindowCreated() [dom/base/nsGlobalWindow.cpp:3003]
#43: mozilla::detail::RunnableMethodImpl<nsGlobalWindow * const,void ( nsGlobalWindow::*)(void),1,0>::Run() [obj-firefox/dist/include/nsThreadUtils.h:862]
#44: nsContentUtils::RemoveScriptBlocker() [dom/base/nsContentUtils.cpp:5227]
#45: nsDocumentViewer::InitInternal(nsIWidget *,nsISupports *,mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const &,bool,bool,bool) [layout/base/nsDocumentViewer.cpp:918]
#46: nsDocumentViewer::Init(nsIWidget *,mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const &) [layout/base/nsDocumentViewer.cpp:645]
#47: nsDocShell::SetupNewViewer(nsIContentViewer *) [docshell/base/nsDocShell.cpp:9391]
#48: nsDocShell::Embed(nsIContentViewer *,char const *,nsISupports *) [docshell/base/nsDocShell.cpp:7229]
#49: nsDocShell::CreateContentViewer(nsACString_internal const &,nsIRequest *,nsIStreamListener * *) [docshell/base/nsDocShell.cpp:9196]
#50: nsDSURIContentListener::DoContent(nsACString_internal const &,bool,nsIRequest *,nsIStreamListener * *,bool *) [docshell/base/nsDSURIContentListener.cpp:129]
#51: nsDocumentOpenInfo::TryContentListener(nsIURIContentListener *,nsIChannel *) [uriloader/base/nsURILoader.cpp:736]
#52: nsDocumentOpenInfo::DispatchContent(nsIRequest *,nsISupports *) [uriloader/base/nsURILoader.cpp:414]
#53: nsDocumentOpenInfo::OnStartRequest(nsIRequest *,nsISupports *) [uriloader/base/nsURILoader.cpp:277]
#54: mozilla::net::nsHttpChannel::CallOnStartRequest() [netwerk/protocol/http/nsHttpChannel.cpp:1322]
#55: mozilla::net::nsHttpChannel::ContinueProcessNormal(nsresult) [netwerk/protocol/http/nsHttpChannel.cpp:2404]
#56: mozilla::net::nsHttpChannel::ProcessNormal() [netwerk/protocol/http/nsHttpChannel.cpp:2339]
#57: mozilla::net::nsHttpChannel::ContinueProcessResponse2(nsresult) [netwerk/protocol/http/nsHttpChannel.cpp:2234]
#58: mozilla::net::nsHttpChannel::ContinueProcessResponse1() [netwerk/protocol/http/nsHttpChannel.cpp:2091]
#59: mozilla::net::nsHttpChannel::ProcessResponse() [netwerk/protocol/http/nsHttpChannel.cpp:2010]
#60: mozilla::net::nsHttpChannel::OnStartRequest(nsIRequest *,nsISupports *) [netwerk/protocol/http/nsHttpChannel.cpp:6509]
#61: nsInputStreamPump::OnStateStart() [netwerk/base/nsInputStreamPump.cpp:525]
#62: nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream *) [netwerk/base/nsInputStreamPump.cpp:441]
#63: nsInputStreamReadyEvent::Run() [xpcom/io/nsStreamUtils.cpp:97]
#64: nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:1240]
#65: NS_ProcessNextEvent(nsIThread *,bool) [xpcom/glue/nsThreadUtils.cpp:390]
#66: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:124]
#67: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:238]
#68: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:232]
#69: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:212]
#70: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:158]
#71: nsAppShell::Run() [widget/windows/nsAppShell.cpp:262]
#72: nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:284]
#73: XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:4461]
#74: XREMain::XRE_main(int,char * * const,mozilla::BootstrapConfig const &) [toolkit/xre/nsAppRunner.cpp:4638]
#75: XRE_main(int,char * * const,mozilla::BootstrapConfig const &) [toolkit/xre/nsAppRunner.cpp:4729]
#76: mozilla::BootstrapImpl::XRE_main(int,char * * const,mozilla::BootstrapConfig const &) [toolkit/xre/Bootstrap.cpp:45]
#77: do_main [browser/app/nsBrowserApp.cpp:235]
#78: NS_internal_main(int,char * *,char * *) [browser/app/nsBrowserApp.cpp:305]
#79: wmain [toolkit/xre/nsWindowsWMain.cpp:118]
#80: __scrt_common_main_seh [f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:253]
#81: kernel32.dll + 0x53c45
#82: ntdll.dll + 0x637f5
#83: ntdll.dll + 0x637c8
Comment 1•8 years ago
|
||
Any idea what might be going on here, Samael?
Assignee | ||
Comment 2•8 years ago
|
||
The test case has been made quite artificial as I couldn't produce pure web content to hit bug 1339722. Instead I did some irregular operations at chrome script level in order to hit the bug, and chances are it also hits some strange code paths that don't happen in real world.
I'll take investigation but as I said it's really aritifical so in general it's the test case itself has to been re-written.
Assignee: nobody → sawang
Flags: needinfo?(sawang)
Assignee | ||
Comment 3•8 years ago
|
||
Maybe I should just try a simple xpcshell or unit test on nsGlobalWindow directly?
Assignee | ||
Comment 4•8 years ago
|
||
Assignee | ||
Comment 5•8 years ago
|
||
Comment on attachment 8846496 [details] [diff] [review]
Ensure only listening on the DOMWindowCreated event generated by the window query of test scirpt
I'm making a try run to verify, but according to comment 0 I think it's because the iframe.remove() happened on a DOMWindowCreated event before the one caused by window proxy query in the test script.
I think moving the listener into the observer should fix it. Would you take a look?
Attachment #8846496 -
Flags: review?(bugs)
Comment 6•8 years ago
|
||
Comment on attachment 8846496 [details] [diff] [review]
Ensure only listening on the DOMWindowCreated event generated by the window query of test scirpt
rs+ assuming the test ends up still testing what it originally was supposed to test.
Attachment #8846496 -
Flags: review?(bugs) → review+
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 10•8 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #8)
> Is this ready to land?
Sorry but I can still reproduce the crash locally on Windows 10 in about 30 runs so it doesn't resolve the issue. It seems to be somewhat timing related because if I added some printf logs the symptom disappears, which causes difficulty for me to find the root cause...
Flags: needinfo?(sawang)
Comment hidden (Intermittent Failures Robot) |
Comment 12•7 years ago
|
||
Is it important to do some more work on?
Flags: needinfo?(sawang)
Priority: -- → P3
Assignee | ||
Comment 13•7 years ago
|
||
(In reply to Andrew Overholt [:overholt] from comment #12)
> Is it important to do some more work on?
I never managed to find the root cause, but it's likely already fixed by some other bugs as it's been disappeared for ~6 months. I have no plan to work on this unless we see the symptom appear again.
Should we resolved worksforme in this case?
Flags: needinfo?(sawang)
Comment 14•7 years ago
|
||
Thanks, Samael!
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•