[webkit-reviews] review granted: [Bug 187635] [iOS] [WK1] Crash inside IOSurfacePool::platformGarbageCollectNow() in WebThread : [Attachment 344928] Fixes the crash

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jul 13 11:20:20 PDT 2018


Simon Fraser (smfr) <simon.fraser at apple.com> has granted Ryosuke Niwa
<rniwa at webkit.org>'s request for review:
Bug 187635: [iOS] [WK1] Crash inside IOSurfacePool::platformGarbageCollectNow()
in WebThread
https://bugs.webkit.org/show_bug.cgi?id=187635

Attachment 344928: Fixes the crash

https://bugs.webkit.org/attachment.cgi?id=344928&action=review




--- Comment #8 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
Comment on attachment 344928
  --> https://bugs.webkit.org/attachment.cgi?id=344928
Fixes the crash

View in context: https://bugs.webkit.org/attachment.cgi?id=344928&action=review

> Source/WebCore/ChangeLog:13
> +	   Don't invoke [CATransaction begin] and [CATransaction commit] pair
in WebKit1 since
> +	   commiting a transaction can result in a UIKit layout which is not
safe in WebThread.
> +
> +	   This code was added in r167717 to reduce the memory usage of
WebContent process in iOS
> +	   but in WebKit1, there will be other code in the app doing CA
commits.

This needs a better explanation which I don't have time to write at the moment.

> Source/WebCore/platform/graphics/cocoa/IOSurfacePoolCocoa.mm:40
> +    // FIXME: Check if this dummy begin/commit added by
<https://webkit.org/b/132065> / <rdar://problem/16110687> is still needed.

I think we know that it is, so change this comment (to make this code less
mysterious) so something like:
// We need to trigger a CA commit in the web process to trigger the release
layer-related memory, since the WebProcess doesn't normally do CA commits.


More information about the webkit-reviews mailing list