Bug 242031 - [GPU Process] RemoteRenderingBackend has to explicitly stop IOSurfacePool::m_collectionTimer before destruction
Summary: [GPU Process] RemoteRenderingBackend has to explicitly stop IOSurfacePool::m_...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Said Abou-Hallawa
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-06-27 09:57 PDT by Said Abou-Hallawa
Modified: 2022-06-28 05:52 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Said Abou-Hallawa 2022-06-27 09:57:43 PDT
RemoteRenderingBackend can be destroyed by RemoteGraphicsContextGL on the StreamConnection WorkQueue. Because RemoteRenderingBackend now owns an IOSurfacePool, this IOSurfacePool can be destroyed on the StreamConnection WorkQueue also. At the same time the handler of IOSurfacePool::m_collectionTimer can be called on the main thread. This leads to accessing null IOSurfaces in IOSurfacePool::collectionTimerFired().
Comment 1 Said Abou-Hallawa 2022-06-27 09:58:02 PDT
rdar://94516877
Comment 2 Said Abou-Hallawa 2022-06-27 10:09:13 PDT
Pull request: https://github.com/WebKit/WebKit/pull/1821
Comment 3 EWS 2022-06-28 05:52:17 PDT
Committed 251907@main (0cabd082474b): <https://commits.webkit.org/251907@main>

Reviewed commits have been landed. Closing PR #1821 and removing active labels.