WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
260690
GPU process crashes don't interrupt waiting Semaphores
https://bugs.webkit.org/show_bug.cgi?id=260690
Summary
GPU process crashes don't interrupt waiting Semaphores
Matt Woodrow
Reported
2023-08-24 18:29:33 PDT
IPC::Semaphore doesn't get interrupted if it's waiting on a signal from a remote process that crashes. RemoteImageBufferProxy uses a 15 second timeout, per buffer, so we can end up waiting many minutes if we crash during a transaction with lots of layer changes.
Attachments
Add attachment
proposed patch, testcase, etc.
Matt Woodrow
Comment 1
2023-08-24 19:52:25 PDT
For the case where we're waiting on the Semaphore on a background thread (normal painting), we could forward the 'GPU disconnected' message to each RemoteImageBufferProxy and manually notify the Semaphores. We might need a way to get notifications on a background thread (register with IPC::Connection for a notification from the IPC thread?), which we then use to invalidate Semaphore (by notifying them, and marking them as invalid).
Radar WebKit Bug Importer
Comment 2
2023-08-28 15:39:05 PDT
<
rdar://problem/114591255
>
Matt Woodrow
Comment 3
2023-09-06 19:45:50 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/17526
EWS
Comment 4
2023-09-18 14:54:16 PDT
Committed
268093@main
(f2796edab116): <
https://commits.webkit.org/268093@main
> Reviewed commits have been landed. Closing PR #17526 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug