[Webkit-unassigned] [Bug 253172] New: REGRESSION (iOS 16.4 Public Beta): WebGL app jetsams quickly on iOS device
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 1 10:46:33 PST 2023
https://bugs.webkit.org/show_bug.cgi?id=253172
Bug ID: 253172
Summary: REGRESSION (iOS 16.4 Public Beta): WebGL app jetsams
quickly on iOS device
Product: WebKit
Version: Safari 16
Hardware: iPhone / iPad
OS: iOS 16
Status: NEW
Severity: Critical
Priority: P2
Component: New Bugs
Assignee: webkit-unassigned at lists.webkit.org
Reporter: krevis at figma.com
Created attachment 465243
--> https://bugs.webkit.org/attachment.cgi?id=465243&action=review
Screen capture of bug on iPhone device
In iOS 16.4 Developer Beta 1 and 2, there's a regression when viewing documents in figma.com: after panning or zooming the document for a few seconds, the WebContent process jetsams.
This didn't happen in previous iOS 16 builds.
(Our view uses WebGL, so this is our own rendering, panning and zooming implementation, not WebKit's or UIKit's.)
In the simulator, there's no jetsam, but we see com.apple.WebKit.GPU quickly growing in memory usage to several GB, well past the point where it would jetsam on a device.
Steps:
1. iPhone 12 Pro, 16.4 beta 1 or 2 (20E5212f or 20E5223e)
2. In Mobile Safari, open this URL:
https://www.figma.com/file/AaeEaRjlGqcbKkKJYiyPiH/Mobile-test-file?node-id=0%3A1&t=jI7dvfbJI9SDqnad-1
3. Touch in the middle of the page and move the touch to pan the view
3. Also two-finger pinch on the view to zoom in and out
4. Observe the web page crash and reload
5. Repeat panning and zooming
6. Observe the web page crash again, and show the “A problem repeatedly occurred on” error
Expected:
No crash, as in previous iOS builds.
Actual:
Two crashes in a row. See attached "Video_01.mov".
There are no crash logs for WebKit processes, just a jetsam report for com.apple.WebKit.WebContent (attached).
Notes:
Filed with Apple Feedback as FB12000937.
Doesn't repro in desktop Safari (Ventura 13.3 Beta 1, 22E5219e) or any other browsers/devices.
The problem goes away after turning off Settings > Safari > Advanced > Experimental Features > WebGL via Metal.
In the iPhone simulator, there's no jetsam. But you can see the com.apple.WebKit.GPU process using increasing amounts of memory. Zooming especially makes it balloon quickly, well past the point where you’d expect it to be jetsammed on a real device. I’m not 100% positive this is the same bug as on a real device, but it is likely to be related.
Attached a screen capture of the simulator and the memory pane in Activity Monitor: "Sim memory.mov".
Also attached output of `vmmap` for the bad case (iOS 16.4 simulator) and a good case (iOS 16.0 simulator). Note the thousands of “shared memory” blocks, 4096K in size, which are dirty. In the good case there are only a few.
```
shared memory 4e1400000-4e1800000 [ 4096K 4096K 4096K 0K] rw-/rwx SM=SHM
```
--
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/20230301/1bb54a77/attachment-0001.htm>
More information about the webkit-unassigned
mailing list