[Webkit-unassigned] [Bug 156624] New: ConvolverNode never releases memory after use

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 15 05:13:13 PDT 2016


            Bug ID: 156624
           Summary: ConvolverNode never releases memory after use
    Classification: Unclassified
           Product: WebKit
           Version: Safari Technology Preview
          Hardware: Macintosh
                OS: OS X 10.11
            Status: NEW
          Severity: Major
          Priority: P2
         Component: Web Audio
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: bjorn.melinder at soundtrap.com

ConvolverNodes potentially allocate a lot of memory when assigned a buffer. It seems this memory is never released after use or after setting the buffer to null. On iOS Mobile Safari this causes low memory warnings and crashes. On Safari for Mac it can lead to allocation of 10G+ and crashing too. To reproduce:


I would expect conv.buffer = null to release the memory. It would be good if there was such an eager way of releasing the memory without having to wait for the next javascript GC.

I would also expect the javascript GC (or the variable going out of scope in the example above) to trigger the release. However, it seems the memory is not released by javascript GC. I'm guessing the ConvolverNodes are released whereas the underlying Reverb objects are not. 

When used in an OfflineAudioContext, the memory is never released either.

FYI I filed the same bug for Chrome as well: https://bugs.chromium.org/p/chromium/issues/detail?id=603256

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160415/185d9c40/attachment.html>

More information about the webkit-unassigned mailing list