[Webkit-unassigned] [Bug 178510] fast/images/animated-gif-paint-after-animation.html flaky crash

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 20 13:08:26 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=178510

--- Comment #10 from Said Abou-Hallawa <sabouhallawa at apple.com> ---
(In reply to Fujii Hironori from comment #3)
> Created attachment 324380 [details]
> WIP patch
> 
> I created a WIP patch to stop sync decoding while async decoding is running.
> This patch apparently looks a incorrect fix. But, I don't know how to fix
> this bug correctly.

You need to make all the functions that access or change the saved data such as ScalableImageDecoder::m_data and m_frameBufferCache be thread safe. Ideally we should allow multiple decoding at time but synchronize the shared data only when they are accessed or changed. But this might difficult to do.

As a simple and naive fix, you can do the following:

In ScalableImageDecoder.h, define:

Lock m_mutex;

Add the following statement:

LockHolder lockHolder(m_mutex);

At the beginning in the functions:

ScalableImageDecoder::setData()
ScalableImageDecoder::frameIsCompleteAtIndex()
ScalableImageDecoder::frameHasAlphaAtIndex()
ScalableImageDecoder::frameBytesAtIndex()
ScalableImageDecoder::frameDurationAtIndex()
ScalableImageDecoder::createFrameImageAtIndex()

I am not sure how much this is going to affect the performance.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20171020/0bbc021c/attachment.html>


More information about the webkit-unassigned mailing list