[webkit-changes] [WebKit/WebKit] 82d104: Nullptr crash in ImageBitmap::createCompletionHand...
mwyrzykowski
noreply at github.com
Tue Jun 11 13:49:13 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 82d104c1fefcc75f0723565c35978babf4b2af28
https://github.com/WebKit/WebKit/commit/82d104c1fefcc75f0723565c35978babf4b2af28
Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
Date: 2024-06-11 (Tue, 11 Jun 2024)
Changed paths:
A LayoutTests/http/wpt/2dcontext/imagebitmap/nullptrcrash-when-gpu-process-times-out-expected.txt
A LayoutTests/http/wpt/2dcontext/imagebitmap/nullptrcrash-when-gpu-process-times-out.html
M Source/WebCore/html/ImageBitmap.cpp
Log Message:
-----------
Nullptr crash in ImageBitmap::createCompletionHandler when GPU process takes too long to initialize
https://bugs.webkit.org/show_bug.cgi?id=275325
<radar://129354725>
Reviewed by Said Abou-Hallawa.
BitmapImage::create returns nullptr when existingImageBitmap->buffer()->copyNativeImage()
returns nullptr. This resulted in a nullptr crash.
ImageBuffer::copyNativeImage() will return nullptr if the GPU process takes too long to initialize. This
occurs when the call to waitForAndDispatchImmediately() in RemoteImageBufferProxy::ensureBackend()
takes longer than the GPUP timeout which is 3_s. This reproduces easily in ASAN since process startup
takes longer in an ASAN build.
Fix this by returning a blank image buffer in this case as we do
if bitmapData is nullptr.
* Source/WebCore/html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createCompletionHandler):
* LayoutTests/http/wpt/2dcontext/imagebitmap/nullptrcrash-when-gpu-process-times-out-expected.txt: Added.
* LayoutTests/http/wpt/2dcontext/imagebitmap/nullptrcrash-when-gpu-process-times-out.html: Renamed from LayoutTests/fast/webgpu/nocrash/fuzz-275325.html.
Add regression test.
Canonical link: https://commits.webkit.org/279924@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list