[Webkit-unassigned] [Bug 105870] ASSERTION FAILED: m_finishedNodes.isEmpty() in AudioContext destructor

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 9 10:08:29 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=105870

--- Comment #12 from Chris Dumez <cdumez at apple.com> ---
This assertion indicates that BaseAudioContext::derefFinishedSourceNodes() was not called before the BaseAudioContext Destructor. Normally, derefFinishedSourceNodes() gets called from BaseAudioContext::handlePostRenderTasks() at the end of each render quantum. However, BaseAudioContext::handlePostRenderTasks() only calls derefFinishedSourceNodes() if tryLock() succeeds. Therefore, in case of lock contention, it is possible we end up destroying the BaseAudioContext without derefFinishedSourceNodes() having been called at the end of the last rendering.

I think the right thing to do is to forcefully call derefFinishedSourceNodes() after the audio thread is gone and before the BaseAudioContext gets destroyed, likely in BaseAudioContext::uninitialize().

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200909/a44c4147/attachment.htm>


More information about the webkit-unassigned mailing list