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)

defect

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
Any idea what might be going on here, Samael?
Blocks: 1339722
Flags: needinfo?(sawang)
Keywords: assertion, mlk
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)
Maybe I should just try a simple xpcshell or unit test on nsGlobalWindow directly?
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 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+
Is this ready to land?
Flags: needinfo?(sawang)
(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)
Is it important to do some more work on?
Flags: needinfo?(sawang)
Priority: -- → P3
(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)
Thanks, Samael!
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: