<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>172009</bug_id>
          
          <creation_ts>2017-05-11 19:29:01 -0700</creation_ts>
          <short_desc>[WinCairo] ASSERTION FAILED: !frameIsCompleteAtIndex(index) || !frameHasDecodedNativeImageCompatibleWithOptionsAtIndex(index, subsamplingLevel, decodingOptions)</short_desc>
          <delta_ts>2017-05-15 19:43:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>170836</dependson>
    
    <dependson>171900</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>sabouhallawa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1307680</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-11 19:29:01 -0700</bug_when>
    <thetext>I see the following assertion failure at some web sites.

&gt; ASSERTION FAILED: !frameIsCompleteAtIndex(index) || !frameHasDecodedNativeImageCompatibleWithOptionsAtIndex(index, subsamplingLevel, decodingOptions)
&gt; C:\webkit\ga\Source\WebCore\platform\graphics\ImageFrameCache.cpp(250) : WebCore::ImageFrameCache::cacheAsyncFrameNativeImageAtIndex

Callstack:

&gt; WTF.dll!WTFCrash() Line 292	C++
&gt; WebKit.dll!WebCore::ImageFrameCache::cacheAsyncFrameNativeImageAtIndex(WTF::RefPtr&lt;_cairo_surface&gt; &amp;&amp; nativeImage, unsigned __int64 index, WebCore::SubsamplingLevel subsamplingLevel, const WebCore::DecodingOptions &amp; decodingOptions) Line 250	C++
&gt; WebKit.dll!WebCore::ImageFrameCache::startAsyncDecodingQueue::__l2::void &lt;lambda&gt;(void)::__l4::&lt;lambda&gt;() Line 301	C++
&gt; WebKit.dll!WTF::Function&lt;void __cdecl(void)&gt;::CallableWrapper&lt;void &lt;lambda&gt;(void) &gt;::call() Line 89	C++
&gt; WTF.dll!WTF::Function&lt;void __cdecl(void)&gt;::operator()() Line 52	C++
&gt; WTF.dll!WTF::dispatchFunctionsFromMainThread() Line 131	C++
&gt; WTF.dll!WTF::ThreadingWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 47	C++
&gt; [External Code]	
&gt; WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 97	C++
&gt; MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 189	C++
&gt; MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 857	C++
&gt; MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 249	C++
&gt; [External Code]	


I tested with WinCairo port, debug build, trunk@216673.

https://play.google.com/
https://www.sony.co.jp/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307761</commentid>
    <comment_count>1</comment_count>
      <attachid>309864</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-11 21:43:09 -0700</bug_when>
    <thetext>Created attachment 309864
WIP patch

I think this patch solves the problem. How do you think, Said?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307907</commentid>
    <comment_count>2</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-05-12 09:46:44 -0700</bug_when>
    <thetext>I am not sure how you verified your patch. The async image decoding for large images has been disabled for almost two weeks now and the animated images does not start decoding until all the data is received.

The change &lt;http://trac.webkit.org/changeset/216471&gt; caused another regression which is being addressed in https://bugs.webkit.org/show_bug.cgi?id=171900. I suggested in the attached patch removing this particular assertion for now. I suggested also changing function ImageFrameCache::requestFrameAsyncDecodingAtIndex() to let the caller decide whether async image decoding is needed or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308943</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-15 19:43:40 -0700</bug_when>
    <thetext>I don&apos;t see this assertion failure after fixing bug 171900. Thank you.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309864</attachid>
            <date>2017-05-11 21:43:09 -0700</date>
            <delta_ts>2017-05-11 21:43:09 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>Bug172009.patch</filename>
            <type>text/plain</type>
            <size>1446</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRnJhbWVD
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1lQ2Fj
aGUuY3BwCmluZGV4IGI0YjI4ZDQ0MDc4Li5iODVmMDM0MDExNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VGcmFtZUNhY2hlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1lQ2FjaGUuY3BwCkBAIC0zMTIs
MTMgKzMxMiwxMyBAQCBib29sIEltYWdlRnJhbWVDYWNoZTo6cmVxdWVzdEZyYW1lQXN5bmNEZWNv
ZGluZ0F0SW5kZXgoc2l6ZV90IGluZGV4LCBTdWJzYW1wbGluZwogCiAgICAgLy8gQWxsb3cgbmV3
IHJlcXVlc3RzIGZvciB0aGUgc2FtZSBmcmFtZSBpZiB0aGUgZnJhbWUgaXMgaW5jb21wbGV0ZS4K
ICAgICBBU1NFUlQoaW5kZXggPCBtX2ZyYW1lcy5zaXplKCkpOwotICAgIGlmIChmcmFtZUlzQ29t
cGxldGVBdEluZGV4KGluZGV4KSkgewotICAgICAgICAvLyBXZSBuZWVkIHRvIGNvYWxlc2NlIG11
bHRpcGxlIHJlcXVlc3RzIGZvciBkZWNvZGluZyB0aGUgc2FtZSBJbWFnZUZyYW1lIHdoaWxlIGl0
Ci0gICAgICAgIC8vIGlzIHN0aWxsIGJlaW5nIGRlY29kZWQuIFRoaXMgbWF5IGhhcHBlbiBpZiB0
aGUgaW1hZ2UgcmVjdGFuZ2xlIGlzIHJlcGFpbnRlZAotICAgICAgICAvLyBtdWx0aXBsZSB0aW1l
cyB3aGlsZSB0aGUgSW1hZ2VGcmFtZSBoYXMgbm90IGZpbmlzaGVkIGRlY29kaW5nLgotICAgICAg
ICBpZiAoZnJhbWVJc0JlaW5nRGVjb2RlZEFuZElzQ29tcGF0aWJsZVdpdGhPcHRpb25zQXRJbmRl
eChpbmRleCwgc2l6ZUZvckRyYXdpbmcpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
Ly8gV2UgbmVlZCB0byBjb2FsZXNjZSBtdWx0aXBsZSByZXF1ZXN0cyBmb3IgZGVjb2RpbmcgdGhl
IHNhbWUgSW1hZ2VGcmFtZSB3aGlsZSBpdAorICAgIC8vIGlzIHN0aWxsIGJlaW5nIGRlY29kZWQu
IFRoaXMgbWF5IGhhcHBlbiBpZiB0aGUgaW1hZ2UgcmVjdGFuZ2xlIGlzIHJlcGFpbnRlZAorICAg
IC8vIG11bHRpcGxlIHRpbWVzIHdoaWxlIHRoZSBJbWFnZUZyYW1lIGhhcyBub3QgZmluaXNoZWQg
ZGVjb2RpbmcuCisgICAgaWYgKGZyYW1lSXNCZWluZ0RlY29kZWRBbmRJc0NvbXBhdGlibGVXaXRo
T3B0aW9uc0F0SW5kZXgoaW5kZXgsIHNpemVGb3JEcmF3aW5nKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CiAKKyAgICBpZiAoZnJhbWVJc0NvbXBsZXRlQXRJbmRleChpbmRleCkpIHsKICAgICAgICAg
aWYgKGZyYW1lSGFzRGVjb2RlZE5hdGl2ZUltYWdlQ29tcGF0aWJsZVdpdGhPcHRpb25zQXRJbmRl
eChpbmRleCwgc3Vic2FtcGxpbmdMZXZlbCwgc2l6ZUZvckRyYXdpbmcpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>