<?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>101416</bug_id>
          
          <creation_ts>2012-11-06 17:54:53 -0800</creation_ts>
          <short_desc>Assertion failure in SubresourceLoader::didFail when reloading</short_desc>
          <delta_ts>2013-01-09 12:55:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="KyungTae Kim">ktf.kim</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>760254</commentid>
    <comment_count>0</comment_count>
    <who name="KyungTae Kim">ktf.kim</who>
    <bug_when>2012-11-06 17:54:53 -0800</bug_when>
    <thetext>Crash occurred when SubresourceLoader::didFail called during reload by ASSERT(!m_resource-&gt;resourceToRevalidate())
The m_resource-&gt;m_resourceToRevalidate was set by CachedResource::setResourceToRevalidate on request,
and was expected to clear by CachedResource::clearResourceToRevalidate when responce received.

CachedResourceLoader::requestResource
 CachedResourceLoader::revalidateResource
  CachedResource::setResourceToRevalidate

SubresourceLoader::didReceiveResponse
 MemoryCache::revalidationSucceeded  (or MemoryCache::revalidationFailed)
  CachedResource::clearResourceToRevalidate

But, when  SubresourceLoader::didFail called by ResourceLoader::didFail, there was no chance to clear before that.
sendRequestCallback
 ResourceLoader::didFail
  SubresourceLoader::didFail

So, in this case, clear the resourceToRevalidate on there would be more suitable than ASSERT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760257</commentid>
    <comment_count>1</comment_count>
      <attachid>172688</attachid>
    <who name="KyungTae Kim">ktf.kim</who>
    <bug_when>2012-11-06 18:03:02 -0800</bug_when>
    <thetext>Created attachment 172688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760808</commentid>
    <comment_count>2</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-11-07 09:58:28 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Crash occurred when SubresourceLoader::didFail called during reload by ASSERT(!m_resource-&gt;resourceToRevalidate())
&gt; The m_resource-&gt;m_resourceToRevalidate was set by CachedResource::setResourceToRevalidate on request,
&gt; and was expected to clear by CachedResource::clearResourceToRevalidate when responce received.
&gt; 
&gt; CachedResourceLoader::requestResource
&gt;  CachedResourceLoader::revalidateResource
&gt;   CachedResource::setResourceToRevalidate
&gt; 
&gt; SubresourceLoader::didReceiveResponse
&gt;  MemoryCache::revalidationSucceeded  (or MemoryCache::revalidationFailed)
&gt;   CachedResource::clearResourceToRevalidate
&gt; 
&gt; But, when  SubresourceLoader::didFail called by ResourceLoader::didFail, there was no chance to clear before that.
&gt; sendRequestCallback
&gt;  ResourceLoader::didFail
&gt;   SubresourceLoader::didFail
&gt; 
&gt; So, in this case, clear the resourceToRevalidate on there would be more suitable than ASSERT.

Please provide a complete stack trace, and a test case if possible. I don&apos;t have enough context from this description to be sure that this is the correct fix.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761101</commentid>
    <comment_count>3</comment_count>
    <who name="KyungTae Kim">ktf.kim</who>
    <bug_when>2012-11-07 15:26:24 -0800</bug_when>
    <thetext>I found it on Webkit2 EFL MiniBrowser.
The test case was.. 
1) enter some site - and all the subresource downloaded successfully
2) reload  - and  one of the subresource downloaded failed
3) WebProcess crash occurred by the ASSERT fail

This is rare case, and I couldn&apos;t make layout test for that.

The site I found it is :
 http://media.daum.net/photo/5662#20121107080810714
The below subresource didFail when reload :
http://s1.daumcdn.net/photo-media/static/media/3.6.3/dist/media/news_photo.min.css

The backtrace was like the below :

#0  0x00007f82a6ab4485 in WebCore::SubresourceLoader::didFail (this=0x198e870, error=...) at Source/WebCore/loader/SubresourceLoader.cpp:285
#1  0x00007f82a6aaf7bb in WebCore::ResourceLoader::didFail (this=0x198e870, error=...) at Source/WebCore/loader/ResourceLoader.cpp:460
#2  0x00007f82a75f99cc in WebCore::sendRequestCallback (res=0x1cb5420, data=0x1b315b0) at Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:437
#3  0x00007f82a28aea8d in g_simple_async_result_complete (simple=0x1cb5420) at gsimpleasyncresult.c:767
#4  0x00007f82a23a0676 in http_input_stream_ready_cb (source=0x163c010, result=0x20462e0, user_data=0x17740c0) at soup-request-http.c:139
#5  0x00007f82a28aea8d in g_simple_async_result_complete (simple=0x20462e0) at gsimpleasyncresult.c:767
#6  0x00007f82a23a7fbb in send_request_return_result (stream=&lt;optimized out&gt;, error=&lt;optimized out&gt;, item=&lt;optimized out&gt;) at soup-session-async.c:522
#7  0x00007f82a23a8256 in try_run_until_read (item=0x7f8244003190) at soup-session-async.c:670
#8  0x00007f82a23a826c in read_ready_cb (msg=&lt;optimized out&gt;, user_data=&lt;optimized out&gt;) at soup-session-async.c:644
#9  0x00007f82a2be0e53 in g_main_dispatch (context=0x1780340) at gmain.c:2539
#10 g_main_context_dispatch (context=0x1780340) at gmain.c:3075
#11 0x00007f82a3b3016e in _ecore_glib_select__locked (ecore_timeout=0x1780340, efds=&lt;optimized out&gt;, wfds=&lt;optimized out&gt;, rfds=&lt;optimized out&gt;, ecore_fds=5, ctx=&lt;optimized out&gt;) at ecore_glib.c:171
#12 _ecore_glib_select (ecore_fds=5, rfds=&lt;optimized out&gt;, wfds=&lt;optimized out&gt;, efds=&lt;optimized out&gt;, ecore_timeout=0x1780340) at ecore_glib.c:205
#13 0x00007f82a3b29dc9 in _ecore_main_select (timeout=&lt;optimized out&gt;) at ecore_main.c:1444
#14 0x00007f82a3b2a955 in _ecore_main_loop_iterate_internal (once_only=0) at ecore_main.c:1872
#15 0x00007f82a3b2ac57 in ecore_main_loop_begin () at ecore_main.c:934
#16 0x00007f82a75de5b1 in WebCore::RunLoop::run () at Source/WebCore/platform/efl/RunLoopEfl.cpp:90
#17 0x00007f82aa7cb8b6 in WebKit::WebProcessMainEfl (argc=2, argv=0x7fff9502acf8) at Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:126
#18 0x0000000000400794 in main (argc=2, argv=0x7fff9502acf8) at Source/WebKit2/efl/MainEfl.cpp:30</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761130</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-11-07 16:03:34 -0800</bug_when>
    <thetext>Hmm, it is pretty rare to have a revalidation attempt trigger didFail() when the original request didn&apos;t.

For a reproducible layout test, my first thought is:

Request a subresource, which includes a &quot;Cache-Control: no-store, no-cache, must-revalidate&quot; header.

Request it again, but this time it redirects to http://localhost:7, which should reliably trigger a didFail().

I&apos;m especially curious to know whether this crashes happens on all ports. I can&apos;t tell from inspection whether sendRequestCallback() is calling didFail() at the correct time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761133</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-07 16:05:36 -0800</bug_when>
    <thetext>&gt; Hmm, it is pretty rare to have a revalidation attempt trigger didFail() when the original request didn&apos;t.

Probably occurs when network is down. We have a &quot;network down&quot; simulating script somewhere in http/tests for testing applications cache. It might help here, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>761134</commentid>
    <comment_count>6</comment_count>
      <attachid>172688</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-07 16:06:19 -0800</bug_when>
    <thetext>Comment on attachment 172688
Patch

r- for the lack of a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803571</commentid>
    <comment_count>7</comment_count>
      <attachid>181966</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-09 12:16:00 -0800</bug_when>
    <thetext>Created attachment 181966
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803629</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-09 12:55:16 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/139230&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172688</attachid>
            <date>2012-11-06 18:03:02 -0800</date>
            <delta_ts>2013-01-09 12:16:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101416-20121107110116.patch</filename>
            <type>text/plain</type>
            <size>1735</size>
            <attacher name="KyungTae Kim">ktf.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE2YWU5MzQ5NmQzNjA0
YmVkMGNmYjEwNTBhNzk2ZDk5OTNhYzExMi4uMzQyMGQ0NTU0ZjlhMDljZTM0YTg4YmJjMjhlMDU1
YjcwMGYzYTgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTA2ICBLeXVu
Z1RhZSBLaW0gIDxrdGYua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIENyYXNoIGluIFN1YnJl
c291cmNlTG9hZGVyOjpkaWRGYWlsIHdoZW4gcmVsb2FkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIFN1YnJlc291cmNlTG9hZGVyOjpkaWRGYWls
IGNhbGxlZCBieSBSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbCBiZWZvcmUgcmVzcG9uc2UgcmVjZWl2
ZWQsCisgICAgICAgIHRoZSByZXNvdXJjZVRvUmV2YWxpZGF0ZSBjb3VsZCBub3QgYmUgY2xlYXJl
ZCB5ZXQuCisgICAgICAgIEluIHRoaXMgY2FzZSwgY2xlYXJpbmcgaXQgaXMgbW9yZSBzdWl0YWJs
ZSB0aGFuIEFTU0VSVC4KKworICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbCk6CisKIDIwMTIt
MTEtMDYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xl
YW4gdXAgd2hpY2ggc3RvcmFnZSBjb29raWUgamFyIGZ1bmN0aW9ucyB1c2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGU2N2YxMDI3YTk2MWE0Y2E2
MjJiZTBjNDlhZjkyYTk4MzEzNTY2OGQuLmJiZjMxYmU2NjYxYzg3NTZkMmU3MmJhODcyM2NiZWJi
MWJjMTQxNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cApAQCAtMjgyLDggKzI4MiwxMCBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRGYWlsKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIGlmIChtX3N0YXRlICE9IEluaXRpYWxpemVk
KQogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJUKCFyZWFjaGVkVGVybWluYWxTdGF0ZSgpKTsK
LSAgICBBU1NFUlQoIW1fcmVzb3VyY2UtPnJlc291cmNlVG9SZXZhbGlkYXRlKCkpOwogICAgIExP
RyhSZXNvdXJjZUxvYWRpbmcsICJGYWlsZWQgdG8gbG9hZCAnJXMnLlxuIiwgbV9yZXNvdXJjZS0+
dXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKKyAgICAKKyAgICBpZiAobV9yZXNvdXJj
ZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSkKKyAgICAgICAgbV9yZXNvdXJjZS0+Y2xlYXJSZXNv
dXJjZVRvUmV2YWxpZGF0ZSgpOwogCiAgICAgUmVmUHRyPFN1YnJlc291cmNlTG9hZGVyPiBwcm90
ZWN0KHRoaXMpOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBwcm90
ZWN0UmVzb3VyY2UobV9yZXNvdXJjZSk7Cg==
</data>
<flag name="review"
          id="187098"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181966</attachid>
            <date>2013-01-09 12:16:00 -0800</date>
            <delta_ts>2013-01-09 12:19:36 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>RevalidationAssertion.txt</filename>
            <type>text/plain</type>
            <size>6732</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzOTIxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAxLTA5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJl
IGluIFN1YnJlc291cmNlTG9hZGVyOjpkaWRGYWlsIHdoZW4gcmVsb2FkaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE0MTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL2Nh
Y2hlL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOiAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6
OmRpZEZhaWwpOiBIYW5kbGUgcmV2YWxpZGF0aW9uLgorCiAyMDEzLTAxLTA5ICBBbnR0aSBLb2l2
aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWxlYXNlIEZhc3RNYWxsb2MgdGhy
ZWFkIGNhY2hlcyBvbiBtZW1vcnkgd2FybmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxMzkwODIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODMs
MTIgKzI4MywxMyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRGYWlsKGNvbnN0IFJlCiAg
ICAgaWYgKG1fc3RhdGUgIT0gSW5pdGlhbGl6ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBBU1NF
UlQoIXJlYWNoZWRUZXJtaW5hbFN0YXRlKCkpOwotICAgIEFTU0VSVCghbV9yZXNvdXJjZS0+cmVz
b3VyY2VUb1JldmFsaWRhdGUoKSk7CiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkZhaWxlZCB0
byBsb2FkICclcycuXG4iLCBtX3Jlc291cmNlLT51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRh
KCkpOwogCiAgICAgUmVmUHRyPFN1YnJlc291cmNlTG9hZGVyPiBwcm90ZWN0KHRoaXMpOwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBwcm90ZWN0UmVzb3VyY2UobV9y
ZXNvdXJjZSk7CiAgICAgbV9zdGF0ZSA9IEZpbmlzaGluZzsKKyAgICBpZiAobV9yZXNvdXJjZS0+
cmVzb3VyY2VUb1JldmFsaWRhdGUoKSkKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0
aW9uRmFpbGVkKG1fcmVzb3VyY2UpOwogICAgIG1fcmVzb3VyY2UtPnNldFJlc291cmNlRXJyb3Io
ZXJyb3IpOwogICAgIG1fcmVzb3VyY2UtPmVycm9yKENhY2hlZFJlc291cmNlOjpMb2FkRXJyb3Ip
OwogICAgIGlmICghbV9yZXNvdXJjZS0+aXNQcmVsb2FkZWQoKSkKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDEzOTIxOSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEzLTAxLTA5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIGluIFN1YnJlc291cmNlTG9hZGVyOjpkaWRG
YWlsIHdoZW4gcmVsb2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDE0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvbmV0d29yay1lcnJvci1kdXJpbmctcmV2YWxp
ZGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9u
ZXR3b3JrLWVycm9yLWR1cmluZy1yZXZhbGlkYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jYWNoZS9yZXNvdXJjZXMvbmV0d29yay1lcnJvci1kdXJpbmctcmV2YWxpZGF0
aW9uLWZyYW1lLmh0bWw6IEFkZGVkLgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMv
bmV0d29yay1zaW11bGF0b3IucGhwOiBBZGRlZCBhIHdheSB0byBzZXJ2ZSByZXNvdXJjZXMKKyAg
ICAgICAgd2l0aG91dCBuby1jYWNoZSBuby1zdG9yZSBkaXJlY3RpdmVzLgorCiAyMDEzLTAxLTA5
ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6
IFJlbW92ZSB1bm5lY2Vzc2FyeSB0ZXN0cyBmcm9tIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvbmV0d29yay1l
cnJvci1kdXJpbmctcmV2YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nh
Y2hlL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0IGZhaWxpbmcgcmV2YWxpZGF0aW9uIHdp
dGggYSBuZXR3b3JrIGVycm9yIGRvZXMgbm90IGNhdXNlIGEgY3Jhc2guCisKK0VuYWJsaW5nIG5l
dHdvcmsKK0xvYWRpbmcgYW4gaW1hZ2Ugb25jZSB0byBjYWNoZSBpdAorRGlzYWJsaW5nIG5ldHdv
cmsKK1JlbG9hZGluZyB0byByZXZhbGlkYXRlIHRoZSBpbWFnZQorRW5hYmxpbmcgbmV0d29yawor
RG9uZQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi1leHBlY3RlZC50eHQKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4KQWRkZWQ6IHN2bjplb2wtc3R5
bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL25ldHdv
cmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUvbmV0d29yay1lcnJvci1kdXJpbmctcmV2YWxpZGF0aW9uLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL25ldHdvcmst
ZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYx
IEBACis8Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KKzxwPlRlc3QgdGhhdCBmYWlsaW5nIHJl
dmFsaWRhdGlvbiB3aXRoIGEgbmV0d29yayBlcnJvciBkb2VzIG5vdCBjYXVzZSBhIGNyYXNoLjwv
cD4KKzxwcmUgaWQ9bG9nPjwvcHJlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiXG4iOworfQorCitmdW5j
dGlvbiBzZXROZXR3b3JrRW5hYmxlZChzdGF0ZSkKK3sKKyAgICBsb2coc3RhdGUgPyAiRW5hYmxp
bmcgbmV0d29yayIgOiAiRGlzYWJsaW5nIG5ldHdvcmsiKTsKKyAgICB2YXIgcmVxID0gbmV3IFhN
TEh0dHBSZXF1ZXN0OworICAgIHJlcS5vcGVuKCJHRVQiLCAiL3Jlc291cmNlcy9uZXR3b3JrLXNp
bXVsYXRvci5waHA/Y29tbWFuZD0iICsgKHN0YXRlID8gImNvbm5lY3QiIDogImRpc2Nvbm5lY3Qi
KSwgZmFsc2UpOworICAgIHJlcS5zZW5kKCIiKTsKK30KKworZnVuY3Rpb24gc3RhcnRUZXN0KCkK
K3sKKyAgICBzZXROZXR3b3JrRW5hYmxlZCh0cnVlKTsKKyAgICBsb2coIkxvYWRpbmcgYW4gaW1h
Z2Ugb25jZSB0byBjYWNoZSBpdCIpOworICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9uZXR3b3JrLWVy
cm9yLWR1cmluZy1yZXZhbGlkYXRpb24tZnJhbWUuaHRtbCI7CisgICAgaWZyYW1lLm9ubG9hZCA9
IGltYWdlTG9hZGVkOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30K
KworZnVuY3Rpb24gaW1hZ2VMb2FkZWQoKQoreworICAgIHNldE5ldHdvcmtFbmFibGVkKGZhbHNl
KTsKKyAgICBsb2coIlJlbG9hZGluZyB0byByZXZhbGlkYXRlIHRoZSBpbWFnZSIpOworICAgIHZh
ciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07Cisg
ICAgaWZyYW1lLm9ubG9hZCA9IGNhY2hlZExvYWRDb21wbGV0ZTsKKyAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKK30KKworZnVuY3Rpb24gY2FjaGVkTG9hZENvbXBs
ZXRlKCkKK3sKKyAgICBzZXROZXR3b3JrRW5hYmxlZCh0cnVlKTsKKyAgICBsb2coIkRvbmUiKTsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworfQorCitmdW5jdGlvbiB1bmV4cGVjdGVkRXJyb3IoKQoreworICAgIGxvZygiVW5leHBl
Y3RlZCBlcnJvciIpOworICAgIHNldE5ldHdvcmtFbmFibGVkKHRydWUpOworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKKzwv
c2NyaXB0PgorCis8L2hlYWQ+Cis8L2JvZHk+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi5o
dG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uZXR3b3JrLWVycm9yLWR1
cmluZy1yZXZhbGlkYXRpb24tZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL3Jlc291cmNlcy9uZXR3b3JrLWVycm9yLWR1cmluZy1yZXZhbGlkYXRp
b24tZnJhbWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi1mcmFtZS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis8aW1nIHNyYz0iL3Jlc291cmNlcy9uZXR3b3Jr
LXNpbXVsYXRvci5waHA/cGF0aD0vbWlzYy9yZXNvdXJjZXMvY29tcGFzcy5qcGcmYWxsb3ctY2Fj
aGluZz0xIj4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY2Fj
aGUvcmVzb3VyY2VzL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRhdGlvbi1mcmFtZS5odG1s
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9uZXR3b3JrLXNpbXVsYXRvci5waHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvbmV0d29yay1zaW11
bGF0b3IucGhwCShyZXZpc2lvbiAxMzkwODIpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlcy9uZXR3b3JrLXNpbXVsYXRvci5waHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzcz
LDggQEAgZnVuY3Rpb24gZ2VuZXJhdGVSZXNwb25zZSgkcGF0aCkKICAgICAgICAgaWYgKCRwYXRo
WzBdID09ICcvJykKICAgICAgICAgICAgICRwYXRoID0gJy4uJyAuICRwYXRoOwogCi0gICAgICAg
IGdlbmVyYXRlTm9DYWNoZUhUVFBIZWFkZXIoKTsKKyAgICAgICAgaWYgKCEkX0dFVFsnYWxsb3ct
Y2FjaGluZyddKQorICAgICAgICAgICAgZ2VuZXJhdGVOb0NhY2hlSFRUUEhlYWRlcigpOwogCiAg
ICAgICAgIGlmIChmaWxlX2V4aXN0cygkcGF0aCkpIHsKICAgICAgICAgICAgIGhlYWRlcigiTGFz
dC1Nb2RpZmllZDogIiAuIGdtZGF0ZSgiRCwgZCBNIFkgSDppOnMgVCIsIGZpbGVtdGltZSgkcGF0
aCkpKTsK
</data>
<flag name="review"
          id="199792"
          type_id="1"
          status="+"
          setter="japhet"
    />
          </attachment>
      

    </bug>

</bugzilla>