Closed Bug 1752917 Opened 2 years ago Closed 2 years ago

Crash [@ get]

Categories

(Core :: Web Audio, defect, P3)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
100 Branch
Tracking Status
firefox100 --- fixed

People

(Reporter: jkratzer, Assigned: padenot)

References

(Blocks 1 open bug)

Details

(Keywords: testcase, Whiteboard: [bugmon:confirm])

Crash Data

Attachments

(2 files)

Testcase found while fuzzing mozilla-central rev bb528a123b65 (built with: --enable-debug --enable-fuzzing).

Testcase can be reproduced using the following commands:

$ pip install fuzzfetch grizzly-framework
$ python -m fuzzfetch --build bb528a123b65 --debug --fuzzing -n firefox
$ python -m grizzly.replay ./firefox/firefox testcase.html
[@ get]

    =================================================================
    ==1748049==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000000b0 (pc 0x7f59d2c83656 bp 0x7fffa82424e0 sp 0x7fffa82424c0 T0)
    ==1748049==The signal is caused by a READ memory access.
    ==1748049==Hint: address points to the zero page.
        #0 0x7f59d2c83656 in get /builds/worker/workspace/obj-build/dist/include/mozilla/UniquePtr.h:290:32
        #1 0x7f59d2c83656 in Engine /dom/media/webaudio/AudioNodeTrack.h:154:46
        #2 0x7f59d2c83656 in mozilla::dom::ScriptProcessorNode::UpdateConnectedStatus() /dom/media/webaudio/ScriptProcessorNode.cpp:534:65
        #3 0x7f59d1d5b22f in mozilla::EventListenerManager::NotifyEventListenerRemoved(nsAtom*) /dom/events/EventListenerManager.cpp:782:14
        #4 0x7f59d1d5b564 in mozilla::EventListenerManager::RemoveEventListenerInternal(mozilla::dom::CallbackObjectHolder<mozilla::dom::EventListener, nsIDOMEventListener>, mozilla::EventMessage, nsAtom*, mozilla::EventListenerFlags const&, bool) /dom/events/EventListenerManager.cpp:813:9
        #5 0x7f59d1d6935c in mozilla::EventListenerManager::ListenerSignalFollower::RunAbortAlgorithm() /dom/events/EventListenerManager.cpp:2164:10
        #6 0x7f59cf20773f in mozilla::dom::AbortSignalImpl::SignalAbort(JS::Handle<JS::Value>) /dom/abort/AbortSignal.cpp:58:15
        #7 0x7f59cf206a37 in mozilla::dom::AbortSignal::SignalAbort(JS::Handle<JS::Value>) /dom/abort/AbortSignal.cpp:165:20
        #8 0x7f59cf206858 in mozilla::dom::AbortController::Abort(JSContext*, JS::Handle<JS::Value>) /dom/abort/AbortController.cpp:81:14
        #9 0x7f59cfa76961 in mozilla::dom::AbortController_Binding::abort(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/AbortControllerBinding.cpp:86:24
        #10 0x7f59d1478efd in bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /dom/bindings/BindingUtils.cpp:3306:13
        #11 0x7f59d90c4a04 in CallJSNative /js/src/vm/Interpreter.cpp:425:13
        #12 0x7f59d90c4a04 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:512:12
        #13 0x7f59d90b0f1e in CallFromStack /js/src/vm/Interpreter.cpp:576:10
        #14 0x7f59d90b0f1e in Interpret(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:3309:16
        #15 0x7f59d9095d21 in js::RunScript(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:394:13
        #16 0x7f59d90c4b3f in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:544:13
        #17 0x7f59d90c6c8b in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /js/src/vm/Interpreter.cpp:589:8
        #18 0x7f59d9344ecd in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /js/src/vm/CallAndConstruct.cpp:117:10
        #19 0x7f59d10a92a9 in mozilla::dom::EventListener::HandleEvent(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/EventListenerBinding.cpp:62:8
        #20 0x7f59d1d60bc4 in void mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*>(mozilla::dom::EventTarget* const&, mozilla::dom::Event&, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventListenerBinding.h:65:12
        #21 0x7f59d1d60680 in mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) /dom/events/EventListenerManager.cpp:1308:43
        #22 0x7f59d1d61d2c in mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /dom/events/EventListenerManager.cpp:1505:17
        #23 0x7f59d1d4fdfe in mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /dom/events/EventDispatcher.cpp:348:17
        #24 0x7f59d1d4e60d in mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /dom/events/EventDispatcher.cpp:550:16
        #25 0x7f59d1d52885 in mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /dom/events/EventDispatcher.cpp:1085:11
        #26 0x7f59d4720b87 in nsDocumentViewer::LoadComplete(nsresult) /layout/base/nsDocumentViewer.cpp:1084:7
        #27 0x7f59d8166593 in nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, nsresult) /docshell/base/nsDocShell.cpp:6291:20
        #28 0x7f59d816588b in nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) /docshell/base/nsDocShell.cpp:5680:7
        #29 0x7f59d816785f in non-virtual thunk to nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) /docshell/base/nsDocShell.cpp
        #30 0x7f59ce3c58e0 in nsDocLoader::DoFireOnStateChange(nsIWebProgress*, nsIRequest*, int&, nsresult) /uriloader/base/nsDocLoader.cpp:1377:3
        #31 0x7f59ce3c44f4 in nsDocLoader::doStopDocumentLoad(nsIRequest*, nsresult) /uriloader/base/nsDocLoader.cpp:975:14
        #32 0x7f59ce3c0d22 in nsDocLoader::DocLoaderIsEmpty(bool, mozilla::Maybe<nsresult> const&) /uriloader/base/nsDocLoader.cpp:794:9
        #33 0x7f59ce3c2ee5 in nsDocLoader::OnStopRequest(nsIRequest*, nsresult) /uriloader/base/nsDocLoader.cpp:677:5
        #34 0x7f59d81a03eb in nsDocShell::OnStopRequest(nsIRequest*, nsresult) /docshell/base/nsDocShell.cpp:13590:23
        #35 0x7f59cc0d6c7e in mozilla::net::nsLoadGroup::NotifyRemovalObservers(nsIRequest*, nsresult) /netwerk/base/nsLoadGroup.cpp:614:22
        #36 0x7f59cc0d96c3 in mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) /netwerk/base/nsLoadGroup.cpp:518:10
        #37 0x7f59cf606862 in mozilla::dom::Document::DoUnblockOnload() /dom/base/Document.cpp:11554:18
        #38 0x7f59cf5b3c67 in mozilla::dom::Document::UnblockOnload(bool) /dom/base/Document.cpp:11484:9
        #39 0x7f59cf5de61c in mozilla::dom::Document::DispatchContentLoadedEvents() /dom/base/Document.cpp:7999:3
        #40 0x7f59cf6ce1ed in applyImpl<mozilla::dom::Document, void (mozilla::dom::Document::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1147:12
        #41 0x7f59cf6ce1ed in apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1153:12
        #42 0x7f59cf6ce1ed in mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::*)(), true, (mozilla::RunnableKind)0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1200:13
        #43 0x7f59cbd3a71f in mozilla::SchedulerGroup::Runnable::Run() /xpcom/threads/SchedulerGroup.cpp:140:20
        #44 0x7f59cbd882d2 in mozilla::RunnableTask::Run() /xpcom/threads/TaskController.cpp:467:16
        #45 0x7f59cbd4dbad in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /xpcom/threads/TaskController.cpp:770:26
        #46 0x7f59cbd4b108 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /xpcom/threads/TaskController.cpp:606:15
        #47 0x7f59cbd4b819 in mozilla::TaskController::ProcessPendingMTTask(bool) /xpcom/threads/TaskController.cpp:390:36
        #48 0x7f59cbd90651 in operator() /xpcom/threads/TaskController.cpp:124:37
        #49 0x7f59cbd90651 in mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_0>::Run() /xpcom/threads/nsThreadUtils.h:531:5
        #50 0x7f59cbd6dec7 in nsThread::ProcessNextEvent(bool, bool*) /xpcom/threads/nsThread.cpp:1195:16
        #51 0x7f59cbd790ac in NS_ProcessNextEvent(nsIThread*, bool) /xpcom/threads/nsThreadUtils.cpp:467:10
        #52 0x7f59cd28c57f in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /ipc/glue/MessagePump.cpp:85:21
        #53 0x7f59cd111591 in RunInternal /ipc/chromium/src/base/message_loop.cc:331:10
        #54 0x7f59cd111591 in RunHandler /ipc/chromium/src/base/message_loop.cc:324:3
        #55 0x7f59cd111591 in MessageLoop::Run() /ipc/chromium/src/base/message_loop.cc:306:3
        #56 0x7f59d40af5c7 in nsBaseAppShell::Run() /widget/nsBaseAppShell.cpp:137:27
        #57 0x7f59d8de22df in XRE_RunAppShell() /toolkit/xre/nsEmbedFunctions.cpp:870:20
        #58 0x7f59cd111591 in RunInternal /ipc/chromium/src/base/message_loop.cc:331:10
        #59 0x7f59cd111591 in RunHandler /ipc/chromium/src/base/message_loop.cc:324:3
        #60 0x7f59cd111591 in MessageLoop::Run() /ipc/chromium/src/base/message_loop.cc:306:3
        #61 0x7f59d8de1513 in XRE_InitChildProcess(int, char**, XREChildData const*) /toolkit/xre/nsEmbedFunctions.cpp:707:34
        #62 0x561cd8a9d20d in content_process_main(mozilla::Bootstrap*, int, char**) /browser/app/../../ipc/contentproc/plugin-container.cpp:57:28
        #63 0x561cd8a9d638 in main /browser/app/nsBrowserApp.cpp:327:18
        #64 0x7f59f05d80b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
        #65 0x561cd89ec2d9 in _start (/home/jkratzer/builds/mc-asan/firefox+0x5d2d9)
    
    AddressSanitizer can not provide additional info.
    SUMMARY: AddressSanitizer: SEGV /builds/worker/workspace/obj-build/dist/include/mozilla/UniquePtr.h:290:32 in get
    ==1748049==ABORTING
Attached file Testcase

Bugmon Analysis
Bugmon was unable to identify a testcase that reproduces this issue.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

Keywords: bugmon
Assignee: nobody → padenot
Severity: -- → S3
Priority: -- → P3

This one is really sneaky, here's the real stack, using rr:

#0  0x00007f2a89f857bd in RefPtr<mozilla::AudioNodeTrack>::assign_assuming_AddRef(mozilla::AudioNodeTrack*)
    (this=0x7f2a753afc30, aNewPtr=0x0)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:67
#1  0x00007f2a89f74aa1 in RefPtr<mozilla::AudioNodeTrack>::operator=(decltype(nullptr)) (this=0x7f2a753afc30)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:168
#2  0x00007f2a8a568397 in mozilla::dom::AudioNode::DestroyMediaTrack() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/AudioNode.cpp:578
#3  0x00007f2a8a574bc0 in mozilla::dom::AudioNode::DisconnectFromGraph() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/AudioNode.cpp:185
#4  0x00007f2a8a591955 in mozilla::dom::AudioNode::LastRelease() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/AudioNode.h:232
#5  0x00007f2a894ad956 in mozilla::DOMEventTargetHelper::Release() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/events/DOMEventTargetHelper.cpp:86
#6  0x00007f2a8a567ac7 in mozilla::dom::AudioNode::Release() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/AudioNode.cpp:42
#7  0x00007f2a876c1637 in mozilla::dom::ScriptProcessorNode::Release() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/dom/ScriptProcessorNode.h:25
#8  0x00007f2a89e32a0e in mozilla::RefPtrTraits<mozilla::dom::AudioNode>::Release(mozilla::dom::AudioNode*) (aPtr=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:50
#9  0x00007f2a89e32995 in RefPtr<mozilla::dom::AudioNode>::ConstRemovingRefPtrTraits<mozilla::dom::AudioNode>::Release(mozilla::dom::AudioNode*) (aPtr=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:381
#10 0x00007f2a89afb70c in RefPtr<mozilla::dom::AudioNode>::~RefPtr() (this=0x7f2a75355860)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:81
#11 0x00007f2a8a596cb5 in nsRefPtrHashKey<mozilla::dom::AudioNode>::~nsRefPtrHashKey() (this=0x7f2a75355860)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/nsHashKeys.h:354
#12 0x00007f2a8a596c09 in nsTHashtable<nsRefPtrHashKey<mozilla::dom::AudioNode> >::s_ClearEntry(PLDHashTable*, PLDHashEntryHdr*)
    (aTable=0x7f2a9bfe7468, aEntry=0x7f2a75355860)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/nsTHashtable.h:720
#13 0x00007f2a83fd41ed in PLDHashTable::RawRemove(PLDHashTable::Slot&) (this=0x7f2a9bfe7468, aSlot=...)
    at /home/padenot/src/trees/mozilla-unified/xpcom/ds/PLDHashTable.cpp:576
#14 0x00007f2a83fe0584 in PLDHashTable::Remove(void const*)::$_6::operator()(PLDHashTable::Slot&) const
    (this=0x7ffc8b090778, slot=...) at /home/padenot/src/trees/mozilla-unified/xpcom/ds/PLDHashTable.cpp:540
#15 0x00007f2a83fd3c8b in PLDHashTable::SearchTable<(PLDHashTable::SearchReason)0, PLDHashTable::Remove(void const*)::$_6, PLDHashTable::Remove(void const*)::$_7>(void const*, unsigned int, PLDHashTable::Remove(void const*)::$_6&&, PLDHashTable::Remove(void const*)::$_7&&) const (this=0x7f2a9bfe7468, aKey=0x7f2a753afba0, aKeyHash=2583403944, aSuccess=..., aFailure=...)
    at /home/padenot/src/trees/mozilla-unified/xpcom/ds/PLDHashTable.cpp:342
#16 0x00007f2a83fd3a81 in PLDHashTable::Remove(void const*) (this=0x7f2a9bfe7468, aKey=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/xpcom/ds/PLDHashTable.cpp:537
#17 0x00007f2a8a59ef8d in nsTHashtable<nsRefPtrHashKey<mozilla::dom::AudioNode> >::RemoveEntry(mozilla::dom::AudioNode*)
    (this=0x7f2a9bfe7468, aKey=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/nsTHashtable.h:346
#18 0x00007f2a8a58ab9d in nsTBaseHashSet<nsRefPtrHashKey<mozilla::dom::AudioNode> >::Remove(mozilla::dom::AudioNode*)
    (this=0x7f2a9bfe7468, aValue=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/include/nsTHashSet.h:117
#19 0x00007f2a8a56d334 in mozilla::dom::AudioContext::UnregisterActiveNode(mozilla::dom::AudioNode*)
    (this=0x7f2a9bfe73a0, aNode=0x7f2a753afba0) at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/AudioContext.cpp:705
#20 0x00007f2a8a589af5 in mozilla::dom::AudioNode::MarkInactive() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/AudioNode.h:201
#21 0x00007f2a8a5e8734 in mozilla::dom::ScriptProcessorNode::UpdateConnectedStatus() (this=0x7f2a753afba0)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/ScriptProcessorNode.cpp:535
#22 0x00007f2a8a5e87de in mozilla::dom::ScriptProcessorNode::EventListenerRemoved(nsAtom*)
    (this=0x7f2a753afba0, aType=0x7f2a7d54fafc <mozilla::detail::gGkAtoms+70132>)
    at /home/padenot/src/trees/mozilla-unified/dom/media/webaudio/ScriptProcessorNode.cpp:509
#23 0x00007f2a8950a95b in mozilla::EventListenerManager::NotifyEventListenerRemoved(nsAtom*)
    (this=0x7f2a7535f600, aUserType=0x7f2a7d54fafc <mozilla::detail::gGkAtoms+70132>)
    at /home/padenot/src/trees/mozilla-unified/dom/events/EventListenerManager.cpp:782
#24 0x00007f2a8950ab86 in mozilla::EventListenerManager::RemoveEventListenerInternal(mozilla::dom::CallbackObjectHolder<mozilla::dom::EventListener, nsIDOMEventListener>, mozilla::EventMessage, nsAtom*, mozilla::EventListenerFlags const&, bool)
    (this=0x7f2a7535f600, aListenerHolder=..., aEventMessage=mozilla::eAudioProcess, aUserType=0x7f2a7d54fafc <mozilla::detail::gGkAtoms+70132>, aFlags=..., aAllEvents=false) at /home/padenot/src/trees/mozilla-unified/dom/events/EventListenerManager.cpp:813
#25 0x00007f2a8951236a in mozilla::EventListenerManager::ListenerSignalFollower::RunAbortAlgorithm() (this=0x7f2a7536b080)
    at /home/padenot/src/trees/mozilla-unified/dom/events/EventListenerManager.cpp:2166
#26 0x00007f2a86b121e7 in mozilla::dom::AbortSignalImpl::SignalAbort(JS::Handle<JS::Value>) (this=0x7f2a747069b8, aReason=...)
    at /home/padenot/src/trees/mozilla-unified/dom/abort/AbortSignal.cpp:58
#27 0x00007f2a86b11b19 in mozilla::dom::AbortSignal::SignalAbort(JS::Handle<JS::Value>) (this=0x7f2a74706940, aReason=...)
    at /home/padenot/src/trees/mozilla-unified/dom/abort/AbortSignal.cpp:165
#28 0x00007f2a86b11a77 in mozilla::dom::AbortController::Abort(JSContext*, JS::Handle<JS::Value>)
    (this=0x7f2a730de1a0, aCx=0x7f2a76429200, aReason=...)
    at /home/padenot/src/trees/mozilla-unified/dom/abort/AbortController.cpp:81
#29 0x00007f2a874e82c5 in mozilla::dom::AbortController_Binding::abort(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) (cx=0x7f2a76429200, obj=..., void_self=0x7f2a730de1a0, args=...) at AbortControllerBinding.cpp:86

so abort is called in js, that remove the event listener via the usual flow for ScriptProcessorNode. At this time, mTrack isn't nullptr. Then it goes into ScriptProcessorNode::UpdateConnectedStatus(), AudioNode::MarkInactive(). The AudioNode isn't active anymore, so it's removed from the hashmap. It's the last ref so the node is released, and mTrack is cleared. It then crashes because there is not track.

See Also: → 1749308
Attachment #9268092 - Attachment description: Bug 1752917 - Check that a ScriptProcessorNode still has a track after marking it as innactive while updateing its connection status. r?karlt → Bug 1752917 - Check that a ScriptProcessorNode still has a track after marking it as inactive while updating its connection status. r?karlt
Pushed by padenot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5cb69842605c
Check that a ScriptProcessorNode still has a track after marking it as inactive while updating its connection status. r=karlt
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 100 Branch

:padenot, since this bug contains a bisection range, could you fill (if possible) the regressed_by field?
For more information, please visit auto_nag documentation.

Flags: needinfo?(padenot)

Sorry, bug in the bot.

Flags: needinfo?(padenot)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: