Closed Bug 1541467 Opened 5 years ago Closed 5 years ago

AddressSanitizer: SEGV /builds/worker/workspace/build/src/obj-firefox/dist/include/nsPIDOMWindow.h:517:38 in WindowID

Categories

(Core :: Web Audio, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox-esr60 --- unaffected
firefox66 --- unaffected
firefox67 --- unaffected
firefox68 --- fixed

People

(Reporter: jkratzer, Assigned: padenot)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: crash, regression, testcase)

Attachments

(3 files)

Attached file testcase.html

Testcase found while fuzzing mozilla-central rev 6188f3497057.

In order to reproduce the issue, copy both harness.html and testcase.html to the same directory and navigate to harness.html.

==7285==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000078 (pc 0x7fd13ff5a224 bp 0x7fff74e84f50 sp 0x7fff74e84f10 T0)
==7285==The signal is caused by a READ memory access.
==7285==Hint: address points to the zero page.
#0 0x7fd13ff5a223 in WindowID /builds/worker/workspace/build/src/obj-firefox/dist/include/nsPIDOMWindow.h:517:38
#1 0x7fd13ff5a223 in mozilla::dom::ConvolverNode::ConvolverNode(mozilla::dom::AudioContext*) /builds/worker/workspace/build/src/dom/media/webaudio/ConvolverNode.cpp:388
#2 0x7fd13ff5a739 in mozilla::dom::ConvolverNode::Create(JSContext*, mozilla::dom::AudioContext&, mozilla::dom::ConvolverOptions const&, mozilla::ErrorResult&) /builds/worker/workspace/build/src/dom/media/webaudio/ConvolverNode.cpp:399:41
#3 0x7fd13fef206a in mozilla::dom::AudioContext::CreateConvolver(mozilla::ErrorResult&) /builds/worker/workspace/build/src/dom/media/webaudio/AudioContext.cpp:449:10
#4 0x7fd13bcc23e7 in mozilla::dom::BaseAudioContext_Binding::createConvolver(JSContext*, JS::Handle<JSObject*>, mozilla::dom::AudioContext*, JSJitMethodCallArgs const&) /builds/worker/workspace/build/src/obj-firefox/dom/bindings/BaseAudioContextBinding.cpp:1218:65
#5 0x7fd13e6264b2 in bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/build/src/dom/bindings/BindingUtils.cpp:3150:13
#6 0x7fd1459423f0 in CallJSNative /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:442:13
#7 0x7fd1459423f0 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:534
#8 0x7fd145922e89 in CallFromStack /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:593:10
#9 0x7fd145922e89 in Interpret(JSContext*, js::RunState&) /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:3075
#10 0x7fd14590cec8 in js::RunScript(JSContext*, js::RunState&) /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:422:10
#11 0x7fd145942d63 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:562:13
#12 0x7fd1459449e2 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /builds/worker/workspace/build/src/js/src/vm/Interpreter.cpp:605:8
#13 0x7fd14652bfa8 in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/workspace/build/src/js/src/jsapi.cpp:2621:10
#14 0x7fd13dcb7cd9 in mozilla::dom::EventListener::HandleEvent(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&) /builds/worker/workspace/build/src/obj-firefox/dom/bindings/EventListenerBinding.cpp:52:8
#15 0x7fd13ee8f792 in HandleEvent<mozilla::dom::EventTarget > /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/dom/EventListenerBinding.h:66:12
#16 0x7fd13ee8f792 in mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener
, mozilla::dom::Event*, mozilla::dom::EventTarget*) /builds/worker/workspace/build/src/dom/events/EventListenerManager.cpp:1039
#17 0x7fd13ee9184e in mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /builds/worker/workspace/build/src/dom/events/EventListenerManager.cpp:1240:17
#18 0x7fd13ee73e91 in HandleEvent /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/EventListenerManager.h:355:5
#19 0x7fd13ee73e91 in mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /builds/worker/workspace/build/src/dom/events/EventDispatcher.cpp:349
#20 0x7fd13ee720c6 in mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /builds/worker/workspace/build/src/dom/events/EventDispatcher.cpp:551:16
#21 0x7fd13ee78dfe in mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>) /builds/worker/workspace/build/src/dom/events/EventDispatcher.cpp:1046:11
#22 0x7fd13ee80afb in mozilla::EventDispatcher::DispatchDOMEvent(nsISupports
, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) /builds/worker/workspace/build/src/dom/events/EventDispatcher.cpp
#23 0x7fd13ee2d540 in mozilla::DOMEventTargetHelper::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) /builds/worker/workspace/build/src/dom/events/DOMEventTargetHelper.cpp:166:17
#24 0x7fd13b2a5fe6 in nsContentUtils::DispatchEvent(mozilla::dom::Document*, nsISupports*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, mozilla::Trusted, bool*, mozilla::ChromeOnlyDispatch) /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp:4062:28
#25 0x7fd13b2a5d5e in nsContentUtils::DispatchTrustedEvent(mozilla::dom::Document*, nsISupports*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, bool*) /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp:4032:10
#26 0x7fd13ff38963 in mozilla::dom::OnStateChangeTask::Run() /builds/worker/workspace/build/src/dom/media/webaudio/AudioContext.cpp:793:12
#27 0x7fd137832a3c in mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run() /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/TaskDispatcher.h:197:35
#28 0x7fd13782e5e8 in mozilla::EventTargetWrapper::Runner::Run() /builds/worker/workspace/build/src/xpcom/threads/AbstractThread.cpp:113:25
#29 0x7fd137821c95 in mozilla::SchedulerGroup::Runnable::Run() /builds/worker/workspace/build/src/xpcom/threads/SchedulerGroup.cpp:295:32
#30 0x7fd13785e44b in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/workspace/build/src/xpcom/threads/nsThread.cpp:1180:14
#31 0x7fd137865fc4 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/workspace/build/src/xpcom/threads/nsThreadUtils.cpp:482:10
#32 0x7fd138a7222f in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/workspace/build/src/ipc/glue/MessagePump.cpp:88:21
#33 0x7fd13897e47e in RunInternal /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:315:10
#34 0x7fd13897e47e in RunHandler /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:308
#35 0x7fd13897e47e in MessageLoop::Run() /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:290
#36 0x7fd141363e43 in nsBaseAppShell::Run() /builds/worker/workspace/build/src/widget/nsBaseAppShell.cpp:137:27
#37 0x7fd14567360e in XRE_RunAppShell() /builds/worker/workspace/build/src/toolkit/xre/nsEmbedFunctions.cpp:919:20
#38 0x7fd13897e47e in RunInternal /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:315:10
#39 0x7fd13897e47e in RunHandler /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:308
#40 0x7fd13897e47e in MessageLoop::Run() /builds/worker/workspace/build/src/ipc/chromium/src/base/message_loop.cc:290
#41 0x7fd145672e7c in XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/workspace/build/src/toolkit/xre/nsEmbedFunctions.cpp:757:34
#42 0x56532b3187bc in content_process_main /builds/worker/workspace/build/src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
#43 0x56532b3187bc in main /builds/worker/workspace/build/src/browser/app/nsBrowserApp.cpp:263
#44 0x7fd15a035b96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310

Flags: in-testsuite?
Attached file harness.html
Regressed by: 1477205
Assignee: nobody → padenot

I'm trying to have a regression test for this, it's probably possible with an iframe instead of a popup.

To reproduce with the testcase here, these are required:

--enable-fuzzing
fuzzing.enabled true
media.autoplay.block-webaudio false

In the reproduction I saw, both statechange event listeners are called before the AudioContext is disconnected from its window, which happens at

#0  0x00007fd73285e9d0 in mozilla::dom::AudioContext::DisconnectFromOwner()
    (this=0x7fd7245a87c0)
    at /home/karl/moz/dev/dom/media/webaudio/AudioContext.cpp:666
#1  0x00007fd72f52c4c7 in nsIGlobalObject::DisconnectEventTargetObjects()::$_5::operator()(mozilla::DOMEventTargetHelper*, bool*) const
    (this=0x7ffdaff172b8, aTarget=0x7fd7245a87c0, aDoneOut=0x7ffdaff1704f)
    at /home/karl/moz/dev/dom/base/nsIGlobalObject.cpp:160
#2  0x00007fd72f52c1ea in std::_Function_handler<void (mozilla::DOMEventTargetHelper*, bool*), nsIGlobalObject::DisconnectEventTargetObjects()::$_5>::_M_invoke(std::_Any_data const&, mozilla::DOMEventTargetHelper*&&, bool*&&)
    (__functor=..., __args=@0x7ffdaff16f80: 0x7fd7245a87c0, __args=@0x7ffdaff16f78: 0x7ffdaff1704f)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/std_function.h:297
#3  0x00007fd72f544513 in std::function<void (mozilla::DOMEventTargetHelper*, bool*)>::operator()(mozilla::DOMEventTargetHelper*, bool*) const
    (this=0x7ffdaff172b8, __args=0x7fd7245a87c0, __args=0x7ffdaff1704f)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/bits/std_function.h:687
#4  0x00007fd72f528f09 in nsIGlobalObject::ForEachEventTargetObject(std::function<void (mozilla::DOMEventTargetHelper*, bool*)> const&) const
    (this=0x7fd7245c5900, aFunc=...)
    at /home/karl/moz/dev/dom/base/nsIGlobalObject.cpp:151
#5  0x00007fd72f528367 in nsIGlobalObject::DisconnectEventTargetObjects()
    (this=0x7fd7245c5900)
    at /home/karl/moz/dev/dom/base/nsIGlobalObject.cpp:159
#6  0x00007fd72f000af7 in nsGlobalWindowInner::FreeInnerObjects()
    (this=0x7fd7245c5800)
    at /home/karl/moz/dev/dom/base/nsGlobalWindowInner.cpp:1195
#7  0x00007fd72f078683 in nsGlobalWindowOuter::DetachFromDocShell()
    (this=0x7fd7245fe200)
    at /home/karl/moz/dev/dom/base/nsGlobalWindowOuter.cpp:2435
#8  0x00007fd735e02a36 in nsDocShell::Destroy() (this=0x7fd724815000)
    at /home/karl/moz/dev/docshell/base/nsDocShell.cpp:4978
#9  0x00007fd7363e0e5f in nsWebBrowser::SetDocShell(nsIDocShell*)
    (this=0x7fd748ef3380, aDocShell=0x0)
    at /home/karl/moz/dev/toolkit/components/browser/nsWebBrowser.cpp:1268
#10 0x00007fd7363dfbeb in nsWebBrowser::InternalDestroy()
    (this=0x7fd748ef3380)
    at /home/karl/moz/dev/toolkit/components/browser/nsWebBrowser.cpp:190
#11 0x00007fd7363e6105 in nsWebBrowser::Destroy() (this=0x7fd748ef3380)
    at /home/karl/moz/dev/toolkit/components/browser/nsWebBrowser.cpp:939
#12 0x00007fd733185b20 in mozilla::dom::TabChild::DestroyWindow()
    (this=0x7fd724814000) at /home/karl/moz/dev/dom/ipc/TabChild.cpp:947
#13 0x00007fd7331934b0 in mozilla::dom::TabChild::RecvDestroy()
    (this=0x7fd724814000) at /home/karl/moz/dev/dom/ipc/TabChild.cpp:2288
#14 0x00007fd73319364a in non-virtual thunk to mozilla::dom::TabChild::RecvDestroy() () at /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/tuple:361
#15 0x00007fd72d71cde3 in mozilla::dom::PBrowserChild::OnMessageReceived(IPC::Message const&) (this=0x7fd724814060, msg__=...)
    at /var/karl/moz/obj/ipc/ipdl/PBrowserChild.cpp:5064
#16 0x00007fd72cdde35a in mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) (this=0x7fd748e79020, msg__=...)
    at /var/karl/moz/obj/ipc/ipdl/PContentChild.cpp:6315
#17 0x00007fd7330a2b64 in mozilla::dom::ContentChild::OnMessageReceived(IPC::Message const&) (this=0x7fd748e79020, aMsg=...)
    at /home/karl/moz/dev/dom/ipc/ContentChild.cpp:3734
#18 0x00007fd72cb176f6 in mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) (this=0x7fd748e188f8, aMsg=...)
    at /home/karl/moz/dev/ipc/glue/MessageChannel.cpp:2151
#19 0x00007fd72cb1551e in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) (this=0x7fd748e188f8, aMsg=...)
    at /home/karl/moz/dev/ipc/glue/MessageChannel.cpp:2078
#20 0x00007fd72cb161a6 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) (this=0x7fd748e188f8, aTask=...)
    at /home/karl/moz/dev/ipc/glue/MessageChannel.cpp:1937
#21 0x00007fd72cb16bf0 in mozilla::ipc::MessageChannel::MessageTask::Run()
    (this=0x7fd72495b3c0)
    at /home/karl/moz/dev/ipc/glue/MessageChannel.cpp:1968
#22 0x00007fd72bac6d27 in mozilla::SchedulerGroup::Runnable::Run()
    (this=0x7fd7219e8100)
    at /home/karl/moz/dev/xpcom/threads/SchedulerGroup.cpp:295
#23 0x00007fd72bb140da in nsThread::ProcessNextEvent(bool, bool*)
    (this=0x7fd72491a050, aMayWait=true, aResult=0x7ffdaff20317)
    at /home/karl/moz/dev/xpcom/threads/nsThread.cpp:1180
#24 0x00007fd72bb19308 in NS_ProcessNextEvent(nsIThread*, bool)
    (aThread=0x7fd72491a050, aMayWait=true)
    at /home/karl/moz/dev/xpcom/threads/nsThreadUtils.cpp:482
#25 0x00007fd73309174e in mozilla::SpinEventLoopUntil<(mozilla::ProcessFailureBehavior)1, mozilla::dom::ContentChild::ProvideWindowCommon(mozilla::dom::TabChild*, mozIDOMWindowProxy*, bool, unsigned int, bool, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, nsDocShellLoadState*, bool*, mozIDOMWindowProxy**)::$_4>(mozilla::dom::ContentChild::ProvideWindowCommon(mozilla::dom::TabChild*, mozIDOMWindowProxy*, bool, unsigned int, bool, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, nsDocShellLoadState*, bool*, mozIDOMWindowProxy**)::$_4&&, nsIThread*)
    (aPredicate=..., aThread=0x0)
    at /var/karl/moz/obj/dist/include/nsThreadUtils.h:348
#26 0x00007fd73309050b in mozilla::dom::ContentChild::ProvideWindowCommon(mozilla::dom::TabChild*, mozIDOMWindowProxy*, bool, unsigned int, bool, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, nsDocShellLoadState*, bool*, mozIDOMWindowProxy**)
    (this=0x7fd748e79020, aTabOpener=0x7fd722b10000, aParent=0x7fd7249bf4e0, aIframeMoz=false, aChromeFlags=4094, aCalledFromJS=true, aPositionSpecified=false, aSizeSpecified=false, aURI=0x7fd7247e7400, aName=..., aFeatures=..., aForceNoOpener=false, aLoadState=0x0, aWindowIsNew=0x7ffdaff21f17, aReturn=0x7ffdaff21e78) at /home/karl/moz/dev/dom/ipc/ContentChild.cpp:1144
#27 0x00007fd73318565e in mozilla::dom::TabChild::ProvideWindow(mozIDOMWindowProxy*, unsigned int, bool, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, nsDocShellLoadState*, bool*, mozIDOMWindowProxy**)
    (this=0x7fd722b10000, aParent=0x7fd7249bf4e0, aChromeFlags=4094, aCalledFromJS=true, aPositionSpecified=false, aSizeSpecified=false, aURI=0x7fd7247e7400, aName=..., aFeatures=..., aForceNoOpener=false, aLoadState=0x0, aWindowIsNew=0x7ffdaff21f17, aReturn=0x7ffdaff21e78)
    at /home/karl/moz/dev/dom/ipc/TabChild.cpp:922
#28 0x00007fd7331858a4 in non-virtual thunk to mozilla::dom::TabChild::ProvideWindow(mozIDOMWindowProxy*, unsigned int, bool, bool, bool, nsIURI*, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, bool, nsDocShellLoadState*, bool*, mozIDOMWindowProxy**) ()
    at /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/tuple:361
#29 0x00007fd73692d1fe in nsWindowWatcher::OpenWindowInternal(mozIDOMWindowProxy*, char const*, char const*, char const*, bool, bool, bool, nsIArray*, bool, bool, nsDocShellLoadState*, mozIDOMWindowProxy**)
    (this=0x7fd7249a4c10, aParent=0x7fd7249bf4e0, aUrl=0x7fd72477dbcc "testcase.html", aName=0x7ffdaff227e4 "null", aFeatures=0x0, aCalledFromJS=true, aDialog=false, aNavigate=true, aArgv=0x0, aIsPopupSpam=true, aForceNoOpener=false, aLoadState=0x0, aResult=0x7ffdaff22710)
    at /home/karl/moz/dev/toolkit/components/windowwatcher/nsWindowWatcher.cpp:756
#30 0x00007fd73693112b in nsWindowWatcher::OpenWindow2(mozIDOMWindowProxy*, char const*, char const*, char const*, bool, bool, bool, nsISupports*, bool, bool, nsDocShellLoadState*, mozIDOMWindowProxy**)
    (this=0x7fd7249a4c10, aParent=0x7fd7249bf4e0, aUrl=0x7fd72477dbcc "testcase.html", aName=0x7ffdaff227e4 "null", aFeatures=0x0, aCalledFromScript=true, aDialog=false, aNavigate=true, aArguments=0x0, aIsPopupSpam=true, aForceNoOpener=false, aLoadState=0x0, aResult=0x7ffdaff22710)
    at /home/karl/moz/dev/toolkit/components/windowwatcher/nsWindowWatcher.cpp:368
#31 0x00007fd736931366 in non-virtual thunk to nsWindowWatcher::OpenWindow2(mozIDOMWindowProxy*, char const*, char const*, char const*, bool, bool, bool, nsISupports*, bool, bool, nsDocShellLoadState*, mozIDOMWindowProxy**) ()
    at /var/karl/moz/obj/dist/include/mozilla/AlreadyAddRefed.h:46
#32 0x00007fd72f090580 in nsGlobalWindowOuter::OpenInternal(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, bool, bool, bool, bool, bool, nsIArray*, nsISupports*, nsDocShellLoadState*, bool, nsPIDOMWindowOuter**)
    (this=0x7fd7249bf4c0, aUrl=..., aName=..., aOptions=..., aDialog=false, aContentModal=false, aCalledNoScript=false, aDoJSFixups=true, aNavigate=true, argv=0x0, aExtraArgument=0x0, aLoadState=0x0, aForceNoOpener=false, aReturn=0x7ffdaff22a48) at /home/karl/moz/dev/dom/base/nsGlobalWindowOuter.cpp:7182
#33 0x00007fd72f08f26b in nsGlobalWindowOuter::OpenJS(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsPIDOMWindowOuter**)
    (this=0x7fd7249bf4c0, aUrl=..., aName=..., aOptions=..., _retval=0x7ffdaff22a48) at /home/karl/moz/dev/dom/base/nsGlobalWindowOuter.cpp:5694
#34 0x00007fd72f08f042 in nsGlobalWindowOuter::OpenOuter(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&)
    (this=0x7fd7249bf4c0, aUrl=..., aName=..., aOptions=..., aError=...)
    at /home/karl/moz/dev/dom/base/nsGlobalWindowOuter.cpp:5666
#35 0x00007fd72f016ec8 in nsGlobalWindowInner::Open(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) (this=0x7fd722ba5400, aUrl=..., aName=..., aOptions=..., aError=...)
    at /home/karl/moz/dev/dom/base/nsGlobalWindowInner.cpp:3646
#36 0x00007fd730a0b6ab in mozilla::dom::Window_Binding::open(JSContext*, JS::Handle<JSObject*>, nsGlobalWindowInner*, JSJitMethodCallArgs const&)
    (cx=0x7fd724625000, obj=..., self=0x7fd722ba5400, args=...)
    at /var/karl/moz/obj/dom/bindings/WindowBinding.cpp:2867
#37 0x00007fd731226f2f in mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::MaybeGlobalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)
    (cx=0x7fd724625000, argc=3, vp=0x7fd7232c3150)
    at /home/karl/moz/dev/dom/bindings/BindingUtils.cpp:3150
#38 0x00007fd736c4f7e2 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
    (cx=0x7fd724625000, native=0x7fd731226b60 <mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::MaybeGlobalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:442
#39 0x00007fd736c39eda in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
    (cx=0x7fd724625000, args=..., construct=js::NO_CONSTRUCT)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:534
#40 0x00007fd736c3a5b5 in InternalCall(JSContext*, js::AnyInvokeArgs const&)
    (cx=0x7fd724625000, args=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:589
#41 0x00007fd736c3a39d in js::CallFromStack(JSContext*, JS::CallArgs const&)
    (cx=0x7fd724625000, args=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:593
#42 0x00007fd736c2df1e in Interpret(JSContext*, js::RunState&)
    (cx=0x7fd724625000, state=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:3075
#43 0x00007fd736c22e55 in js::RunScript(JSContext*, js::RunState&)
    (cx=0x7fd724625000, state=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:422
#44 0x00007fd736c3b73c in js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*)
    (cx=0x7fd724625000, script=..., envChainArg=..., newTargetValue=..., evalInFrame=..., result=0x0) at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:781
#45 0x00007fd736c3bad8 in js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) (cx=0x7fd724625000, script=..., envChainArg=..., rval=0x0)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:814
#46 0x00007fd736e57212 in ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*)
    (cx=0x7fd724625000, scope=..., script=..., rval=0x0)
    at /home/karl/moz/dev/js/src/vm/CompilationAndEvaluation.cpp:438
#47 0x00007fd736e5759a in ExecuteScript(JSContext*, JS::Handle<JS::StackGCVector<JSObject*, js::TempAllocPolicy> >, JS::Handle<JSScript*>, JS::Value*)
    (cx=0x7fd724625000, envChain=..., scriptArg=..., rval=0x0)
    at /home/karl/moz/dev/js/src/vm/CompilationAndEvaluation.cpp:458
#48 0x00007fd736e57654 in JS_ExecuteScript(JSContext*, JS::Handle<JS::StackGCVector<JSObject*, js::TempAllocPolicy> >, JS::Handle<JSScript*>)
    (cx=0x7fd724625000, envChain=..., scriptArg=...)
    at /home/karl/moz/dev/js/src/vm/CompilationAndEvaluation.cpp:482
#49 0x00007fd72f58a5dc in nsJSUtils::ExecutionContext::ExecScript()
    (this=0x7ffdaff26d20) at /home/karl/moz/dev/dom/base/nsJSUtils.cpp:389
#50 0x00007fd733670b5f in mozilla::dom::ExecuteCompiledScript(JSContext*, mozilla::dom::ScriptLoadRequest*, nsJSUtils::ExecutionContext&)
    (aCx=0x7fd724625000, aRequest=0x7fd748ec85c0, aExec=...)
    at /home/karl/moz/dev/dom/script/ScriptLoader.cpp:2495
#51 0x00007fd73366f520 in mozilla::dom::ScriptLoader::EvaluateScript(mozilla::dom::ScriptLoadRequest*) (this=0x7fd72483d030, aRequest=0x7fd748ec85c0)
    at /home/karl/moz/dev/dom/script/ScriptLoader.cpp:2715
#52 0x00007fd73366a4e9 in mozilla::dom::ScriptLoader::ProcessRequest(mozilla::dom::ScriptLoadRequest*) (this=0x7fd72483d030, aRequest=0x7fd748ec85c0)
    at /home/karl/moz/dev/dom/script/ScriptLoader.cpp:2222
#53 0x00007fd733668839 in mozilla::dom::ScriptLoader::ProcessInlineScript(nsIScriptElement*, mozilla::dom::ScriptKind)
    (this=0x7fd72483d030, aElement=0x7fd72484e118, aScriptKind=mozilla::dom::ScriptKind::eClassic) at /home/karl/moz/dev/dom/script/ScriptLoader.cpp:1803
#54 0x00007fd733654b2e in mozilla::dom::ScriptLoader::ProcessScriptElement(nsIScriptElement*) (this=0x7fd72483d030, aElement=0x7fd72484e118)
    at /home/karl/moz/dev/dom/script/ScriptLoader.cpp:1526
#55 0x00007fd7336543e0 in mozilla::dom::ScriptElement::MaybeProcessScript()
    (this=0x7fd72484e118)
    at /home/karl/moz/dev/dom/script/ScriptElement.cpp:118
#56 0x00007fd72e02f4ce in nsIScriptElement::AttemptToExecute()
    (this=0x7fd72484e118)
    at /var/karl/moz/obj/dist/include/nsIScriptElement.h:224
#57 0x00007fd72e013b40 in nsHtml5TreeOpExecutor::RunScript(nsIContent*)
    (this=0x7fd722ba3400, aScriptElement=0x7fd72484e090)
    at /home/karl/moz/dev/parser/html/nsHtml5TreeOpExecutor.cpp:727
#58 0x00007fd72e011988 in nsHtml5TreeOpExecutor::RunFlushLoop()
    (this=0x7fd722ba3400)
    at /home/karl/moz/dev/parser/html/nsHtml5TreeOpExecutor.cpp:530
#59 0x00007fd72e03209c in nsHtml5ExecutorFlusher::Run() (this=0x7fd722c21160)
    at /home/karl/moz/dev/parser/html/nsHtml5StreamParser.cpp:133
#60 0x00007fd72bac6d27 in mozilla::SchedulerGroup::Runnable::Run()
    (this=0x7fd7219e8a60)
    at /home/karl/moz/dev/xpcom/threads/SchedulerGroup.cpp:295
#61 0x00007fd72bb140da in nsThread::ProcessNextEvent(bool, bool*)
    (this=0x7fd72491a050, aMayWait=true, aResult=0x7ffdaff28217)
    at /home/karl/moz/dev/xpcom/threads/nsThread.cpp:1180
#62 0x00007fd72bb19308 in NS_ProcessNextEvent(nsIThread*, bool)
    (aThread=0x7fd72491a050, aMayWait=true)
    at /home/karl/moz/dev/xpcom/threads/nsThreadUtils.cpp:482
#63 0x00007fd73360dc5e in mozilla::SpinEventLoopUntil<(mozilla::ProcessFailureBehavior)1, mozilla::dom::XMLHttpRequestMainThread::SendInternal(mozilla::dom::BodyExtractorBase const*, bool)::$_0>(mozilla::dom::XMLHttpRequestMainThread::SendInternal(mozilla::dom::BodyExtractorBase const*, bool)::$_0&&, nsIThread*)
    (aPredicate=..., aThread=0x0)
    at /var/karl/moz/obj/dist/include/nsThreadUtils.h:348
#64 0x00007fd73360c9cc in mozilla::dom::XMLHttpRequestMainThread::SendInternal(mozilla::dom::BodyExtractorBase const*, bool)
    (this=0x7fd7245c1400, aBody=0x0, aBodyIsDocumentOrString=false)
    at /home/karl/moz/dev/dom/xhr/XMLHttpRequestMainThread.cpp:2907
#65 0x00007fd73360b4d4 in mozilla::dom::XMLHttpRequestMainThread::Send(JSContext*, mozilla::dom::Nullable<mozilla::dom::DocumentOrBlobOrArrayBufferViewOrArrayBufferOrFormDataOrURLSearchParamsOrUSVString> const&, mozilla::ErrorResult&)
    (this=0x7fd7245c1400, aCx=0x7fd724625000, aData=..., aRv=...)
    at /home/karl/moz/dev/dom/xhr/XMLHttpRequestMainThread.cpp:2681
#66 0x00007fd730a77cfb in mozilla::dom::XMLHttpRequest_Binding::send(JSContext*, JS::Handle<JSObject*>, mozilla::dom::XMLHttpRequest*, JSJitMethodCallArgs const&) (cx=0x7fd724625000, obj=..., self=0x7fd7245c1400, args=...)
    at /var/karl/moz/obj/dom/bindings/XMLHttpRequestBinding.cpp:1341
#67 0x00007fd7312264ff in mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)
    (cx=0x7fd724625000, argc=0, vp=0x7fd7232c3098)
    at /home/karl/moz/dev/dom/bindings/BindingUtils.cpp:3150
#68 0x00007fd736c4f7e2 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&)
    (cx=0x7fd724625000, native=0x7fd731226130 <mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)>, args=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:442
#69 0x00007fd736c39eda in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
    (cx=0x7fd724625000, args=..., construct=js::NO_CONSTRUCT)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:534
#70 0x00007fd736c3a5b5 in InternalCall(JSContext*, js::AnyInvokeArgs const&)
    (cx=0x7fd724625000, args=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:589
#71 0x00007fd736c3a39d in js::CallFromStack(JSContext*, JS::CallArgs const&)
    (cx=0x7fd724625000, args=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:593
#72 0x00007fd736c2df1e in Interpret(JSContext*, js::RunState&)
    (cx=0x7fd724625000, state=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:3075
#73 0x00007fd736c22e55 in js::RunScript(JSContext*, js::RunState&)
    (cx=0x7fd724625000, state=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:422
#74 0x00007fd736c3a098 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
    (cx=0x7fd724625000, args=..., construct=js::NO_CONSTRUCT)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:562
#75 0x00007fd736c3a5b5 in InternalCall(JSContext*, js::AnyInvokeArgs const&)
    (cx=0x7fd724625000, args=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:589
#76 0x00007fd736c3a660 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)
    (cx=0x7fd724625000, fval=..., thisv=..., args=..., rval=...)
    at /home/karl/moz/dev/js/src/vm/Interpreter.cpp:605
#77 0x00007fd737432a37 in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)
    (cx=0x7fd724625000, thisv=..., fval=..., args=..., rval=...)
    at /home/karl/moz/dev/js/src/jsapi.cpp:2621
#78 0x00007fd730c7faef in mozilla::dom::EventListener::HandleEvent(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&)
    (this=0x7fd724991880, cx=0x7fd724625000, aThisVal=..., event=..., aRv=...)
    at /var/karl/moz/obj/dom/bindings/EventListenerBinding.cpp:52
#79 0x00007fd731969fdf in mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*>(mozilla::dom::EventTarget* const&, mozilla::dom::Event&, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*)
    (this=0x7fd724991880, thisVal=@0x7ffdaff2c7e0: 0x7fd7245a87c0, event=..., aRv=..., aExecutionReason=0x7fd73a2e6601 "EventListener.handleEvent", aExceptionHandling=mozilla::dom::CallbackObject::eReportExceptions, aRealm=0x0)
    at /var/karl/moz/obj/dist/include/mozilla/dom/EventListenerBinding.h:66
#80 0x00007fd731930980 in mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*)
    (this=0x7fd724774ba0, aListener=0x7ffdaff2ca40, aDOMEvent=0x7fd7247763a0, aCurrentTarget=0x7fd7245a87c0)
    at /home/karl/moz/dev/dom/events/EventListenerManager.cpp:1039
#81 0x00007fd731931759 in mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool)
    (this=0x7fd724774ba0, aPresContext=0x0, aEvent=0x7fd7247710d0, aDOMEvent=0x7ffdaff2d448, aCurrentTarget=0x7fd7245a87c0, aEventStatus=0x7ffdaff2d450, aItemInShadowTree=false)
    at /home/karl/moz/dev/dom/events/EventListenerManager.cpp:1240
#82 0x00007fd73197a6a1 in mozilla::EventListenerManager::HandleEvent(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool)
    (this=0x7fd724774ba0, aPresContext=0x0, aEvent=0x7fd7247710d0, aDOMEvent=0x7ffdaff2d448, aCurrentTarget=0x7fd7245a87c0, aEventStatus=0x7ffdaff2d450, aItemInShadowTree=false)
    at /var/karl/moz/obj/dist/include/mozilla/EventListenerManager.h:355
#83 0x00007fd731964131 in mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&)
    (this=0x7fd724743008, aVisitor=..., aCd=...)
    at /home/karl/moz/dev/dom/events/EventDispatcher.cpp:349
#84 0x00007fd731923374 in mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&)
    (aChain=..., aVisitor=..., aCallback=0x0, aCd=...)
    at /home/karl/moz/dev/dom/events/EventDispatcher.cpp:551
#85 0x00007fd7319262f2 in mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*)
    (aTarget=0x7fd7245a87c0, aPresContext=0x0, aEvent=0x7fd7247710d0, aDOMEvent=0x7fd7247763a0, aEventStatus=0x7ffdaff2d824, aCallback=0x0, aTargets=0x0)
    at /home/karl/moz/dev/dom/events/EventDispatcher.cpp:1046
#86 0x00007fd731928c28 in mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*)
    (aTarget=0x7fd7245a87c0, aEvent=0x0, aDOMEvent=0x7fd7247763a0, aPresContext=0x0, aEventStatus=0x7ffdaff2d824)
    at /home/karl/moz/dev/dom/events/EventDispatcher.cpp:1143
#87 0x00007fd7318e5270 in mozilla::DOMEventTargetHelper::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&)
    (this=0x7fd7245a87c0, aEvent=..., aCallerType=mozilla::dom::CallerType::System, aRv=...) at /home/karl/moz/dev/dom/events/DOMEventTargetHelper.cpp:166
#88 0x00007fd72ef330d2 in nsContentUtils::DispatchEvent(mozilla::dom::Document*, nsISupports*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, mozilla::Trusted, bool*, mozilla::ChromeOnlyDispatch)
    (aDoc=0x7fd72483a000, aTarget=0x7fd7245a87c0, aEventName=..., aCanBubble=mozilla::CanBubble::eNo, aCancelable=mozilla::Cancelable::eNo, aComposed=mozilla::Composed::eDefault, aTrusted=mozilla::Trusted::eYes, aDefaultAction=0x0, aOnlyChromeDispatch=mozilla::ChromeOnlyDispatch::eNo)
    at /home/karl/moz/dev/dom/base/nsContentUtils.cpp:4060
#89 0x00007fd72ef32d17 in nsContentUtils::DispatchTrustedEvent(mozilla::dom::Document*, nsISupports*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, bool*)
    (aDoc=0x7fd72483a000, aTarget=0x7fd7245a87c0, aEventName=..., aCanBubble=mozilla::CanBubble::eNo, aCancelable=mozilla::Cancelable::eNo, aComposed=mozilla::Composed::eDefault, aDefaultAction=0x0)
    at /home/karl/moz/dev/dom/base/nsContentUtils.cpp:4030
#90 0x00007fd73289bea9 in mozilla::dom::OnStateChangeTask::Run()
    (this=0x7fd722c21460)
    at /home/karl/moz/dev/dom/media/webaudio/AudioContext.cpp:793
#91 0x00007fd72bae165e in mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run() (this=0x7fd722c21490)
    at /var/karl/moz/obj/dist/include/mozilla/TaskDispatcher.h:197
#92 0x00007fd72baddef4 in mozilla::EventTargetWrapper::Runner::Run()
    (this=0x7fd7219ee200)
    at /home/karl/moz/dev/xpcom/threads/AbstractThread.cpp:113
#93 0x00007fd72bac6d27 in mozilla::SchedulerGroup::Runnable::Run()
    (this=0x7fd7219e8740)
    at /home/karl/moz/dev/xpcom/threads/SchedulerGroup.cpp:295
#94 0x00007fd72bb140da in nsThread::ProcessNextEvent(bool, bool*)
    (this=0x7fd72491a050, aMayWait=false, aResult=0x7ffdaff2e497)
    at /home/karl/moz/dev/xpcom/threads/nsThread.cpp:1180
#95 0x00007fd72bb19308 in NS_ProcessNextEvent(nsIThread*, bool)
    (aThread=0x7fd72491a050, aMayWait=false)
    at /home/karl/moz/dev/xpcom/threads/nsThreadUtils.cpp:482
#96 0x00007fd72cb1c9f2 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7fd748ea31f0, aDelegate=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/glue/MessagePump.cpp:88
#97 0x00007fd72cb1e105 in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) (this=0x7fd748ea31f0, aDelegate=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/glue/MessagePump.cpp:271
#98 0x00007fd72c9d01cb in MessageLoop::RunInternal() (this=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:315
#99 0x00007fd72c9d00d5 in MessageLoop::RunHandler() (this=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:308
#100 0x00007fd72c9d003b in MessageLoop::Run() (this=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:290
#101 0x00007fd733a80220 in nsBaseAppShell::Run() (this=0x7fd72455f510)
    at /home/karl/moz/dev/widget/nsBaseAppShell.cpp:137
#102 0x00007fd7369fb397 in XRE_RunAppShell() ()
    at /home/karl/moz/dev/toolkit/xre/nsEmbedFunctions.cpp:919
#103 0x00007fd72cb1dead in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) (this=0x7fd748ea31f0, aDelegate=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/glue/MessagePump.cpp:238
#104 0x00007fd72c9d01cb in MessageLoop::RunInternal() (this=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:315
#105 0x00007fd72c9d00d5 in MessageLoop::RunHandler() (this=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:308
#106 0x00007fd72c9d003b in MessageLoop::Run() (this=0x7ffdaff2eb28)
    at /home/karl/moz/dev/ipc/chromium/src/base/message_loop.cc:290
#107 0x00007fd7369fa6af in XRE_InitChildProcess(int, char**, XREChildData const*) (aArgc=13, aArgv=0x7ffdaff2efb8, aChildData=0x7ffdaff2ee60)
    at /home/karl/moz/dev/toolkit/xre/nsEmbedFunctions.cpp:757

The nested event loop from the xhr.send() permits script to continue after the docshell is destroyed.

Rank: 15
Priority: -- → P2
Attachment #9055532 - Attachment description: Bug 1541467 - Handle creating a ConvolverNode when the document is being unloaded. r?karlt → Bug 1541467 - Handle situations where the document is not available from the AudioContext. r?karlt
Pushed by padenot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/011bf10106bb
Handle situations where the document is not available from the AudioContext. r=karlt
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: