Closed
Bug 1053063
Opened 10 years ago
Closed 10 years ago
[e10s] "YouTube High Definition" add-on crashes in mozilla::EventDispatcher::Dispatch() from nsDocumentViewer::PermitUnload()
Categories
(Core :: DOM: Navigation, defect, P1)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: cpeterson, Assigned: billm)
References
Details
(Keywords: crash, reproducible)
STR:
1. Install "YouTube High Definition" add-on: https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/
2. Open about:addons in an e10s window
3. Open "YouTube High Definition" add-on's Preferences
4. In the add-on's preferences popup window, change the Video Quality or Video Size.
5. The window will ask you if you'd like to preview your changes on YouTube. Select "OK".
RESULT:
The add-on will open a new tab with a YouTube video, the page will reflow a couple times, then the content process will crash trying to nsDocumentViewer::PermitUnload().
bp-3d2f47d4-008a-47ff-b516-a2e732140813
0 XUL mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsCOMArray<mozilla::dom::EventTarget>*) obj-firefox/x86_64/dist/include/nsTArray.h
1 XUL mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, nsIDOMEvent*, nsPresContext*, nsEventStatus*) dom/events/EventDispatcher.cpp
2 XUL nsDocumentViewer::PermitUnloadInternal(bool, bool*, bool*) layout/base/nsDocumentViewer.cpp
3 XUL nsDocumentViewer::PermitUnload(bool, bool*) layout/base/nsDocumentViewer.cpp
4 XUL nsDocShell::InternalLoad(nsIURI*, nsIURI*, nsISupports*, unsigned int, char16_t const*, char const*, nsAString_internal const&, nsIInputStream*, nsIInputStream*, unsigned int, nsISHEntry*, bool, nsAString_internal const&, nsIDocShell*, nsIURI*, nsIDocShell**, nsIRequest**) docshell/base/nsDocShell.cpp
5 XUL nsDocShell::LoadURI(nsIURI*, nsIDocShellLoadInfo*, unsigned int, bool) docshell/base/nsDocShell.cpp
6 XUL nsLocation::SetURI(nsIURI*, bool) dom/base/nsLocation.cpp
7 XUL nsLocation::SetHrefWithBase(nsAString_internal const&, nsIURI*, bool) dom/base/nsLocation.cpp
8 XUL nsLocation::Replace(nsAString_internal const&) dom/base/nsLocation.cpp
9 XUL mozilla::dom::LocationBinding::replace dom/base/nsLocation.h
10 XUL mozilla::dom::LocationBinding::genericCrossOriginMethod obj-firefox/x86_64/dom/bindings/LocationBinding.cpp
11 XUL js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) js/src/jscntxtinlines.h
12 XUL js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp
13 XUL js::DirectProxyHandler::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const js/src/jsproxy.cpp
14 XUL js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const js/src/jswrapper.cpp
15 XUL js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/jsproxy.cpp
16 XUL js::proxy_Call(JSContext*, unsigned int, JS::Value*) js/src/jsproxy.cpp
17 XUL js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) js/src/jscntxtinlines.h
18 XUL js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp
19 XUL JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) js/src/jsapi.cpp
20 XUL mozilla::jsipc::WrapperAnswer::AnswerCallOrConstruct(unsigned long long const&, nsTArray<mozilla::jsipc::JSParam> const&, bool const&, mozilla::jsipc::ReturnStatus*, mozilla::jsipc::JSVariant*, nsTArray<mozilla::jsipc::JSParam>*) js/ipc/WrapperAnswer.cpp
21 XUL _ZThn24_N7mozilla5jsipc14JavaScriptBaseINS0_16PJavaScriptChildEE21AnswerCallOrConstructERKyRK8nsTArrayINS0_7JSParamEERKbPNS0_12ReturnStatusEPNS0_9JSVariantEPS8_ js/ipc/JavaScriptBase.h
22 XUL mozilla::jsipc::PJavaScriptChild::OnCallReceived(IPC::Message const&, IPC::Message*&) obj-firefox/x86_64/ipc/ipdl/PJavaScriptChild.cpp
23 XUL mozilla::ipc::MessageChannel::DispatchUrgentMessage(IPC::Message const&) ipc/glue/MessageChannel.cpp
24 XUL mozilla::ipc::MessageChannel::ProcessPendingUrgentRequest() ipc/glue/MessageChannel.cpp
25 XUL mozilla::ipc::MessageChannel::SendAndWait(IPC::Message*, IPC::Message*) ipc/glue/MessageChannel.cpp
26 XUL mozilla::ipc::MessageChannel::RPCCall(IPC::Message*, IPC::Message*) ipc/glue/MessageChannel.cpp
27 XUL mozilla::ipc::MessageChannel::Call(IPC::Message*, IPC::Message*) ipc/glue/MessageChannel.cpp
28 XUL mozilla::dom::PBrowserChild::CallRpcMessage(nsString const&, mozilla::dom::ClonedMessageData const&, nsTArray<mozilla::jsipc::CpowEntry> const&, IPC::Principal const&, nsTArray<nsString>*) obj-firefox/x86_64/ipc/ipdl/PBrowserChild.cpp
29 XUL mozilla::dom::TabChild::DoSendBlockingMessage(JSContext*, nsAString_internal const&, mozilla::dom::StructuredCloneData const&, JS::Handle<JSObject*>, nsIPrincipal*, nsTArray<nsString>*, bool) dom/ipc/TabChild.cpp
30 XUL _ZThn56_N7mozilla3dom8TabChild21DoSendBlockingMessageEP9JSContextRK18nsAString_internalRKNS0_19StructuredCloneDataEN2JS6HandleIP8JSObjectEEP12nsIPrincipalP8nsTArrayI8nsStringEb obj-firefox/x86_64/dom/ipc/Unified_cpp_dom_ipc0.cpp
31 XUL nsFrameMessageManager::SendMessage(nsAString_internal const&, JS::Handle<JS::Value>, JS::Handle<JS::Value>, nsIPrincipal*, JSContext*, unsigned char, JS::MutableHandle<JS::Value>, bool) content/base/src/nsFrameMessageManager.cpp
32 XUL nsFrameMessageManager::SendRpcMessage(nsAString_internal const&, JS::Handle<JS::Value>, JS::Handle<JS::Value>, nsIPrincipal*, JSContext*, unsigned char, JS::MutableHandle<JS::Value>) content/base/src/nsFrameMessageManager.cpp
33 XUL NS_InvokeByIndex xpcom/reflect/xptcall/md/unix/xptcinvoke_x86_64_unix.cpp
34 XUL XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) js/xpconnect/src/XPCWrappedNative.cpp
35 XUL XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) js/xpconnect/src/XPCWrappedNativeJSOps.cpp
36 XUL js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) js/src/jscntxtinlines.h
37 XUL js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp
38 XUL js::DirectProxyHandler::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const js/src/jsproxy.cpp
39 XUL js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const js/src/jswrapper.cpp
40 XUL js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/jsproxy.cpp
41 XUL js::proxy_Call(JSContext*, unsigned int, JS::Value*) js/src/jsproxy.cpp
42 XUL js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) js/src/jscntxtinlines.h
43 XUL Interpret js/src/vm/Interpreter.cpp
44 XUL js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp
45 XUL js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) js/src/vm/Interpreter.cpp
46 XUL js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp
47 XUL js::DirectProxyHandler::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const js/src/jsproxy.cpp
48 XUL js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) const js/src/jswrapper.cpp
49 XUL js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/jsproxy.cpp
50 XUL js::proxy_Call(JSContext*, unsigned int, JS::Value*) js/src/jsproxy.cpp
51 XUL js::Invoke(JSContext*, JS::CallArgs, js::MaybeConstruct) js/src/jscntxtinlines.h
52 XUL js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp
53 XUL JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) js/src/jsapi.cpp
54 XUL nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) js/xpconnect/src/XPCWrappedJSClass.cpp
55 XUL PrepareAndDispatch xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_darwin.cpp
56 XUL SharedStub
57 XUL mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, nsIDOMEvent*, mozilla::dom::EventTarget*) dom/events/EventListenerManager.cpp
58 XUL mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent**, mozilla::dom::EventTarget*, nsEventStatus*) dom/events/EventListenerManager.cpp
59 XUL mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) dom/events/EventDispatcher.cpp
60 XUL mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsCOMArray<mozilla::dom::EventTarget>*) dom/events/EventDispatcher.cpp
61 XUL mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, nsIDOMEvent*, nsPresContext*, nsEventStatus*) dom/events/EventDispatcher.cpp
62 XUL nsINode::DispatchEvent(nsIDOMEvent*, bool*) content/base/src/nsINode.cpp
63 XUL nsContentUtils::DispatchEvent(nsIDocument*, nsISupports*, nsAString_internal const&, bool, bool, bool, bool*) content/base/src/nsContentUtils.cpp
64 XUL nsContentUtils::DispatchTrustedEvent(nsIDocument*, nsISupports*, nsAString_internal const&, bool, bool, bool*) content/base/src/nsContentUtils.cpp
65 XUL nsDocument::DispatchContentLoadedEvents() content/base/src/nsDocument.cpp
66 XUL nsRunnableMethodImpl<void (nsDocument::*)(), void, true>::Run() obj-firefox/x86_64/dist/include/nsThreadUtils.h
67 XUL nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp
68 XUL NS_ProcessPendingEvents(nsIThread*, unsigned int) xpcom/glue/nsThreadUtils.cpp
69 XUL nsBaseAppShell::NativeEventCallback() widget/xpwidgets/nsBaseAppShell.cpp
70 XUL nsAppShell::ProcessGeckoEvents(void*) widget/cocoa/nsAppShell.mm
Ø 71 CoreFoundation CoreFoundation@0x7f5b0
Ø 72 CoreFoundation CoreFoundation@0x70c61
Ø 73 CoreFoundation CoreFoundation@0x703ee
Ø 74 CoreFoundation CoreFoundation@0x6fe74
Ø 75 HIToolbox HIToolbox@0x2ea0c
Ø 76 HIToolbox HIToolbox@0x2e7b6
Ø 77 HIToolbox HIToolbox@0x2e5bb
Ø 78 AppKit AppKit@0x2424d
Ø 79 AppKit AppKit@0x2389a
80 XUL -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] widget/cocoa/nsAppShell.mm
Ø 81 AppKit AppKit@0x1799b
82 XUL nsAppShell::Run() widget/cocoa/nsAppShell.mm
83 XUL XRE_RunAppShell toolkit/xre/nsEmbedFunctions.cpp
84 XUL MessageLoop::Run() ipc/chromium/src/base/message_loop.cc
85 XUL XRE_InitChildProcess toolkit/xre/nsEmbedFunctions.cpp
86 plugin-container main ipc/contentproc/plugin-container.cpp
87 plugin-container start
Assignee | ||
Updated•10 years ago
|
Updated•10 years ago
|
Component: IPC → Document Navigation
Comment 1•10 years ago
|
||
We're hitting http://hg.mozilla.org/mozilla-central/annotate/b53c2753ce9a/xpcom/glue/nsTArray.h#l379, so something's obviously bogus here.
Reporter | ||
Updated•10 years ago
|
Priority: -- → P1
Assignee | ||
Comment 2•10 years ago
|
||
This shouldn't be happening anymore. Are you still seeing it Chris?
Reporter | ||
Comment 3•10 years ago
|
||
WFM in Nightly 34 build 2014-08-26.
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.
Description
•