[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