| Summary: | [GPU Process] RemoteRenderingBackend::stopListeningForIPC() should not change the RemoteResourceCache on the main thread | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Ryan Haddad <ryanhaddad> | ||||||||||
| Component: | Layout and Rendering | Assignee: | Said Abou-Hallawa <sabouhallawa> | ||||||||||
| Status: | RESOLVED FIXED | ||||||||||||
| Severity: | Normal | CC: | bfulgham, cdumez, jonlee, kkinnunen, sabouhallawa, simon.fraser, webkit-bug-importer, zalan | ||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||
| Version: | Safari 13 | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| Bug Depends on: | |||||||||||||
| Bug Blocks: | 236508 | ||||||||||||
| Attachments: |
|
||||||||||||
|
Description
Ryan Haddad
2022-03-23 16:18:53 PDT
crypto/subtle/rsa-indexeddb-non-exportable.html Created attachment 455580 [details]
crash log
This seems a threading issue in the RemoteResourceCache. *** Bug 238299 has been marked as a duplicate of this bug. *** Created attachment 455690 [details]
Patch
Comment on attachment 455690 [details]
Patch
We determined that there's a cleaner way to fix this.
Created attachment 455734 [details]
Patch
Comment on attachment 455734 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=455734&action=review > Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:123 > + m_workQueue->dispatch([&] { > + m_remoteResourceCache = { m_gpuConnectionToWebProcess->webProcessIdentifier() }; > + m_renderingResourcesRequest = { }; > + }); > m_workQueue->stopAndWaitForCompletion(); I guess the idea here is that m_workQueue->dispatch() appends this item to the work queue so that stopAndWaitForCompletion() will process it last, after any existing work? Seems ok. Maybe the comment could make that clearer. Created attachment 455781 [details]
Patch
Committed r291881 (248880@main): <https://commits.webkit.org/248880@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 455781 [details]. |