[Webkit-unassigned] [Bug 227791] New: [GPU Process] RemoteRenderingBackend has to explicitly releases its WorkQueue once it stops listening for IPC
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 7 23:18:44 PDT 2021
https://bugs.webkit.org/show_bug.cgi?id=227791
Bug ID: 227791
Summary: [GPU Process] RemoteRenderingBackend has to explicitly
releases its WorkQueue once it stops listening for IPC
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Canvas
Assignee: webkit-unassigned at lists.webkit.org
Reporter: sabouhallawa at apple.com
CC: dino at apple.com
Although RemoteRenderingBackend::stopListeningForIPC() removes its m_workQueue from the connection WorkQueueMessageReceiver HashMap, m_workQueue can still process accumulated received messages. Removing WorkQueueMessageReceiver will call the destructor ~WorkQueueMessageReceiver but the m_queue of the deleted object can still be running. The reason is the lambda of the WorkQueue::dispatch() in WorkQueueMessageReceiverQueue::enqueueMessage() captures the receiver which is RemoteRenderingBackend as a Ref pointer. Because RemoteRenderingBackend holds the last reference to WorkQueue, m_workQueue can run even after RemoteRenderingBackend::stopListeningForIPC() is called.
--
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/20210708/396417e7/attachment.htm>
More information about the webkit-unassigned
mailing list