Bug 239905

Summary: Connecting to GPU process may hang if UI process sends sync message simultaneously
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebKit2Assignee: Kimmo Kinnunen <kkinnunen>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, kkinnunen, simon.fraser, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
WIP
none
Patch
none
Patch
none
For landing none

Kimmo Kinnunen
Reported 2022-04-29 11:03:41 PDT
Connecting to GPU process may hang if UI process sends sync message simultaneously
Attachments
WIP (41.52 KB, patch)
2022-04-29 11:07 PDT, Kimmo Kinnunen
no flags
Patch (48.72 KB, patch)
2022-05-04 08:35 PDT, Kimmo Kinnunen
no flags
Patch (48.74 KB, patch)
2022-05-04 08:46 PDT, Kimmo Kinnunen
no flags
For landing (48.64 KB, patch)
2022-05-05 01:32 PDT, Kimmo Kinnunen
no flags
Kimmo Kinnunen
Comment 1 2022-04-29 11:07:37 PDT
Kimmo Kinnunen
Comment 2 2022-04-29 11:09:20 PDT
Kimmo Kinnunen
Comment 3 2022-05-04 08:35:07 PDT
Kimmo Kinnunen
Comment 4 2022-05-04 08:46:42 PDT
Chris Dumez
Comment 5 2022-05-04 16:17:26 PDT
Comment on attachment 458801 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=458801&action=review r=me with fixes. We may want to do the same for the network process? > Source/WebKit/ChangeLog:23 > + connection initialization. Send the GPUPg connection initialization result, audit token and Typo: GPUPg > Source/WebKit/GPUProcess/GPUProcess.cpp:134 > + WTFLogAlways("GOT Create gpu process connection"); Should drop. > Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:374 > + WTFLogAlways("Create gpu process connection"); Should drop > Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:132 > + if (parentConnection.ignoreInvalidMessageForTesting()) indentation is wrong > Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:133 > + instance->connection().setIgnoreInvalidMessageForTesting(); ditto. > Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:306 > + WTFLogAlways("Got didinitialize"); Should drop.
Kimmo Kinnunen
Comment 6 2022-05-05 01:32:23 PDT
Created attachment 458858 [details] For landing
Kimmo Kinnunen
Comment 7 2022-05-05 02:42:51 PDT
(In reply to Chris Dumez from comment #5) > Comment on attachment 458801 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=458801&action=review > > r=me with fixes. We may want to do the same for the network process? Thanks! I think network process, authn process and plugin process could all use this pattern. However, I see the network process startup seems to be a bit intricate too, given the retries (?) and all. Maybe if there's no immediate need we should do it a bit later? Maybe after it is apparent that this change didn't cause any unforeseen issues.
EWS
Comment 8 2022-05-05 06:43:49 PDT
Committed r293829 (250302@main): <https://commits.webkit.org/250302@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 458858 [details].
Note You need to log in before you can comment on or make changes to this bug.