RESOLVED FIXED Bug 202112
[iOS] REGRESSION(r250151): Occasional assertion failures in ShareableBitmap::~ShareableBitmap()
https://bugs.webkit.org/show_bug.cgi?id=202112
Summary [iOS] REGRESSION(r250151): Occasional assertion failures in ShareableBitmap::...
David Quesada
Reported 2019-09-23 11:01:09 PDT
CGImageRef's created from a ShareableBitmap can legitimately be deallocated on a background thread. When this happens, the data provider's release callback will be called. This derefs the ShareableBitmap, which might cause it to deallocate, isn't allowed on the background thread. releaseDataProviderData() should dispatch to the main runloop if it is called from a background thread. This is similar to what r250151 added for releaseBitmapContextData().
Attachments
Patch (2.82 KB, patch)
2019-09-23 11:14 PDT, David Quesada
no flags
David Quesada
Comment 1 2019-09-23 11:01:33 PDT
David Quesada
Comment 2 2019-09-23 11:14:21 PDT
Chris Dumez
Comment 3 2019-09-23 12:30:16 PDT
Comment on attachment 379379 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=379379&action=review > Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:159 > + if (!RunLoop::isMain()) { This looks a lot like https://trac.webkit.org/changeset/250151 ?
Chris Dumez
Comment 4 2019-09-23 12:31:12 PDT
Comment on attachment 379379 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=379379&action=review >> Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:159 >> + if (!RunLoop::isMain()) { > > This looks a lot like https://trac.webkit.org/changeset/250151 ? Oh, it is a different release function :)
WebKit Commit Bot
Comment 5 2019-09-23 13:15:25 PDT
Comment on attachment 379379 [details] Patch Clearing flags on attachment: 379379 Committed r250248: <https://trac.webkit.org/changeset/250248>
WebKit Commit Bot
Comment 6 2019-09-23 13:15:27 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.