[Webkit-unassigned] [Bug 231681] REGRESSION (2021-10-13): [ iOS MacOS wk2 Release ] 2 fast/canvas tests are flaky failing

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 15 17:06:56 PDT 2021


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

--- Comment #9 from Wenson Hsieh <wenson_hsieh at apple.com> ---
I think I'm beginning to get some grasp of what's happening:

```
(UI) Running /Users/whsieh/work/OpenSource/LayoutTests/fast/canvas/gradient-with-clip.html
(WEB) Waking up the GPU process.
(WEB) Sent in stream: RemoteRenderingBackend_FinalizeRenderingUpdate @[2096960]
                                                                                (GPU) Received: RemoteRenderingBackend_FinalizeRenderingUpdate
                                                                                (GPU) Waiting for more messages...
(WEB) Waking up the GPU process.
(WEB) Sent in stream: RemoteRenderingBackend_CreateImageBuffer @[2096976]
(WEB) Sent in stream: RemoteDisplayListRecorder_Save @[2097064]
(WEB) Sent in stream: RemoteDisplayListRecorder_Save @[2097074]
(WEB) Sent in stream: RemoteDisplayListRecorder_SetState @[2097084]
(WEB) Resetting stream buffer capacity (size=22 bytes, capacity=14 bytes)
(WEB) Sent out of stream: RemoteDisplayListRecorder_FillRect
(WEB) Sent in stream: RemoteDisplayListRecorder_Restore @[0]
(WEB) Sent in stream: RemoteDisplayListRecorder_GetPixelBuffer @[10]
(WEB) Sent in stream: RemoteDisplayListRecorder_FlushContext @[66]
                                                                                (GPU) Received: RemoteRenderingBackend_CreateImageBuffer
                                                                                (GPU) Received: RemoteDisplayListRecorder_Save
                                                                                (GPU) Received: RemoteDisplayListRecorder_Save
                                                                                (GPU) Received: RemoteDisplayListRecorder_SetState
                                                                                (GPU) No out of stream messages to process?
                                                                                (GPU) Waiting for more messages...
                                                                                (GPU) No out of stream messages to process?
                                                                                (GPU) Waiting for more messages...
(WEB) FAILED TO WAIT FOR GetPixelBuffer!
```

...when we exhaust the available (2MB) capacity in the stream buffer, the last message that would've caused us to run off the end of the buffer is instead dispatched to the GPU Process as an out-of-stream message, and we just drop a `ProcessOutOfStreamMessage` at the end, instead. The write offset is then returned to the start, and subsequent IPC stream messages are sent in the stream, starting at offset 0.

For some reason, we never wake up in the GPU Process to process the last stream message that was sent before exhausting capacity. Investigating further to discern why that is the case.

-- 
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/20211016/e8250b14/attachment.htm>


More information about the webkit-unassigned mailing list