Bug 217581

Summary: The tab is crashed when WebGL canvas is resized
Product: WebKit Reporter: reon90
Component: ANGLEAssignee: Kimmo Kinnunen <kkinnunen>
Status: ASSIGNED    
Severity: Major CC: ap, dino, kbr, kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 14   
Hardware: Mac   
OS: macOS 10.15   
See Also: https://bugs.webkit.org/show_bug.cgi?id=229606
Bug Depends on: 217212    
Bug Blocks:    
Attachments:
Description Flags
Resize window -> memory was increased to 7GB -> tab crashed
none
simpler repro none

reon90
Reported 2020-10-11 11:34:29 PDT
GPU: Intel UHD Graphics 630 1536 MB * Open any canvas with webgl 1.0 or 2.0 e.g. https://reon90.github.io/redcube/ * Resize a browser window Expected: Canvas is resized, the tab's memory is the same Actual: Tab's memory is significantly increased to 5GB, after that the tab is crashed
Attachments
Resize window -> memory was increased to 7GB -> tab crashed (12.93 MB, video/mp4)
2020-10-13 00:35 PDT, reon90
no flags
simpler repro (477 bytes, text/html)
2020-10-16 02:04 PDT, Kimmo Kinnunen
no flags
Alexey Proskuryakov
Comment 1 2020-10-12 17:45:10 PDT
I cannot reproduce this with a Safari 14.0.1 beta.
reon90
Comment 2 2020-10-13 00:29:32 PDT
(In reply to Alexey Proskuryakov from comment #1) > I cannot reproduce this with a Safari 14.0.1 beta. It reproduces on Safari Beta and Latest Safari Developer Preview builds.
reon90
Comment 3 2020-10-13 00:35:57 PDT
Created attachment 411201 [details] Resize window -> memory was increased to 7GB -> tab crashed
Kimmo Kinnunen
Comment 4 2020-10-13 03:45:13 PDT
Thanks for the report! I can repro this with my MacBookPro16,1 Intel/Radeon, Safari Technology Preview 114, macOS Big Sur Does not repro with "Automatic graphics switching" off Does repro with "Automatic graphics switching" on
Radar WebKit Bug Importer
Comment 5 2020-10-13 17:49:49 PDT
Kimmo Kinnunen
Comment 6 2020-10-16 02:04:48 PDT
Created attachment 411550 [details] simpler repro
Kimmo Kinnunen
Comment 7 2020-10-16 02:10:02 PDT
This problem seems to have existed before ANGLE switch, e.g. can be reproed on Safari 14.0 as well as 14.1 Technology Preview 114. Appears that with integrated gpu we are not able to deallocate large iosurfaces fast enough.
Kimmo Kinnunen
Comment 8 2020-10-22 23:13:01 PDT
*** Bug 218100 has been marked as a duplicate of this bug. ***
Kenneth Russell
Comment 9 2020-10-23 18:26:47 PDT
While investigating Bug 218100, I found that the test case from that bug works after the fix from Bug 217212. The test case from this bug works on a top-of-tree MiniBrowser Debug build. It consumes up to 6.3 GB of RAM, though that fluctuates down to ~3 GB sometimes.
reon90
Comment 10 2021-01-13 11:56:00 PST
Any chances to be fixed in near time?
Kenneth Russell
Comment 11 2021-01-13 12:43:29 PST
I think this was already implicitly fixed in Bug 217212. Kimmo, can you confirm?
reon90
Comment 12 2021-01-20 07:25:15 PST
I checked latest Safari Preview and there is the bug.
Kenneth Russell
Comment 13 2021-01-20 17:22:59 PST
I can confirm that in Safari Technology Preview Release 118 (Safari 14.1, WebKit 15611.1.9.3.1), the attached test case runs for about 30 seconds on my 2017 15" MacBook Pro before Safari reloads the tab because it was using significant memory.
Kimmo Kinnunen
Comment 14 2021-01-21 22:57:40 PST
Thanks for re-checking and the ping. I’ve investigated this a bit but it’s unclear yet if it’s a “platform” issue or if something sane could be done at webkit level. I’ll try to see what I can come up with, but I don’t yet have a solution.
Note You need to log in before you can comment on or make changes to this bug.