[Webkit-unassigned] [Bug 195325] New: Canvas elements not garbage collected immediately in Safari on iOS 12

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 5 05:11:55 PST 2019


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

            Bug ID: 195325
           Summary: Canvas elements not garbage collected immediately in
                    Safari on iOS 12
           Product: WebKit
           Version: Safari 12
          Hardware: iPhone / iPad
                OS: iOS 12
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Canvas
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: esseb at esseb.com
                CC: dino at apple.com

Created attachment 363637

  --> https://bugs.webkit.org/attachment.cgi?id=363637&action=review

Testcase

Canvas elements without a strong references do not get garbage collected immediately in Safari on iOS 12. No issues in iOS 11.

There is more information on https://stackoverflow.com/questions/52532614/total-canvas-memory-use-exceeds-the-maximum-limit-safari-12 which also indicate it can occur in Safari on Mac also, but the higher canvas memory limit makes it harder to trigger the bug there.

The regression between Safari on iOS 11 and iOS 12 could be as a result of https://github.com/WebKit/webkit/commit/5d5b478917c685e50d1032ccf761ca53fc8f1b74#diff-b411cd4839e4bbc17b00570536abfa8f making the bug easier to hit with the lower canvas memory limit.

If I explicitly set the canvas elements width and height to 0 before removing references to the canvas elements the issue disappears.

This bug causes a problem with the map on https://www.yr.no/en/map/radar/1-72837/Norway/Oslo/Oslo/Oslo which uses OpenLayers. OpenLayers has an issue tracking this issue also on https://github.com/openlayers/openlayers/issues/9166

I've attached a testcase, but the testcase is also available on https://output.jsbin.com/ganafaketa/1

I've tested this bug with iOS 12.1.4 on an iPhone X.

-- 
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/20190305/c5f85567/attachment.html>


More information about the webkit-unassigned mailing list