<?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>100686</bug_id>
          
          <creation_ts>2012-10-29 10:11:42 -0700</creation_ts>
          <short_desc>WebKitTestRunner flakily hangs when running pixel tests on Qt</short_desc>
          <delta_ts>2013-04-29 17:20:18 -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>Tools / Tests</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>
          <dependson>100676</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Balazs Kelemen">kbalazs</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>jturcotte</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>753565</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-29 10:11:42 -0700</bug_when>
    <thetext>Well, this is really just a try to catch the issue that makes the pixel tests timing out on the bot sometimes. My theory is that if a forced repaint times out, than it can trigger later when we expect it for a new test and it can confuse our machinery. Actually I could not prove that this is happening becase I could not reproduce the problem locally, but it cannot hurt if we add a check for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753572</commentid>
    <comment_count>1</comment_count>
      <attachid>171276</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-29 10:18:58 -0700</bug_when>
    <thetext>Created attachment 171276
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753574</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-29 10:20:36 -0700</bug_when>
    <thetext>Attachment 171276 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/WebKitTestRunner...&quot; exit_code: 1
Tools/WebKitTestRunner/qt/TestInvocationQt.cpp:75:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753580</commentid>
    <comment_count>3</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-29 10:23:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 171276 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/WebKitTestRunner...&quot; exit_code: 1
&gt; Tools/WebKitTestRunner/qt/TestInvocationQt.cpp:75:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; Total errors found: 1 in 2 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

check-webkit-style is complaining here:

fputs(&quot;ERROR: unexpected forceRepaintDone callback triggered.\n&quot;
      &quot;       It is likely the result of a timeouted repaint form a previous test.\n&quot;, stderr);

So it expects the second line to be indented one space less, but I think it would be ugly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755091</commentid>
    <comment_count>4</comment_count>
      <attachid>171276</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-31 02:51:25 -0700</bug_when>
    <thetext>Comment on attachment 171276
Patch

According to my testing it will not be enough to eliminate the flakiness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755111</commentid>
    <comment_count>5</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-31 03:13:51 -0700</bug_when>
    <thetext>Let&apos;s concentrate on the real bug! As one can see from the history of the bot (http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Pixel%20Tests%29) our pixel tests are sometimes start to fail at a given point and than every test is failing, i.e. we timeout waiting for the callback of forceRepaint. It&apos;s very bad since in this case the bot have to be stopped manually, otherwise it can run for a whole day. I don&apos;t know the exact reason, but what I can tell is that for some reason we don&apos;t get the didrenderframe from the web process although it does send it, so we will never push a flushLayerChange operation in the queue of LayerTreeRenderer and never send rendernextframe again and the web process will wait for it forever without rendering a single frame.

As I am not too sure how difficult it would be to find the reason behind not getting the message (note that you need to run all tests about 10 times in average even to reproduce it), currently I am thinking about adding yet another private API for the time being for forcing a flushLayerChange. At the first time we timeout we can use it and I believe it would move us towards for the next test. Now I am going to test whether it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755199</commentid>
    <comment_count>6</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-31 05:59:01 -0700</bug_when>
    <thetext>It&apos;s best if we can fix this without blindly pushing fixes that add unneeded complexity until it works. If you can reproduce the problem somehow locally or on a bot without having to push changes, you could try to see if this is a result of Qt triggering a cleanup of the nodes, i.e. if ~ContentsSGNode gets called.

There could be issues around there where the web and UI processes would be waiting for each other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758319</commentid>
    <comment_count>7</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-05 01:16:08 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; It&apos;s best if we can fix this without blindly pushing fixes that add unneeded complexity until it works. If you can reproduce the problem somehow locally or on a bot without having to push changes, you could try to see if this is a result of Qt triggering a cleanup of the nodes, i.e. if ~ContentsSGNode gets called.
&gt; 

I can reproduce it, about once a day :/
Actually the only thing I can do is to add fprintf(stderr,...)&apos;s here and there and watch the output at of the test that timed out and some previous one.

&gt; There could be issues around there where the web and UI processes would be waiting for each other.

As I understand, ~ContentsSGNode is handled fine, i.e. we throw away all queued update from the LayerTreeRenderer queue, and when we attached to a new node we send a rendernextframe (unconditionally). Ownerships are also seems ok. So I don&apos;t see anything that could stop the rendering and syncing loop. First we do an update upon window-&gt;show() that makes us send the first rendernextframe, and every didrenderframe triggers a flushLayerChanges in LayerTreeRenderer that also ends in rendernextframe.

Anyway, I&apos;m going to try reproducing digging more info via printf&apos;s further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759651</commentid>
    <comment_count>8</comment_count>
      <attachid>172580</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-06 07:23:45 -0800</bug_when>
    <thetext>Created attachment 172580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759655</commentid>
    <comment_count>9</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-06 07:27:18 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=172580) [details]
&gt; Patch

This is also a workaround, but I believe a more acceptable one :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759911</commentid>
    <comment_count>10</comment_count>
      <attachid>172580</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 11:27:58 -0800</bug_when>
    <thetext>Comment on attachment 172580
Patch

Attachment 172580 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14761048

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760698</commentid>
    <comment_count>11</comment_count>
      <attachid>172580</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-07 07:52:17 -0800</bug_when>
    <thetext>Comment on attachment 172580
Patch

LGTM, r=me. At least the following tests will pass if this flakiness occur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760773</commentid>
    <comment_count>12</comment_count>
      <attachid>172580</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-07 09:33:36 -0800</bug_when>
    <thetext>Comment on attachment 172580
Patch

Clearing flags on attachment: 172580

Committed r133768: &lt;http://trac.webkit.org/changeset/133768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760774</commentid>
    <comment_count>13</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-07 09:33:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882849</commentid>
    <comment_count>14</comment_count>
      <attachid>172580</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-04-29 17:20:18 -0700</bug_when>
    <thetext>Comment on attachment 172580
Patch

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

&gt; Tools/WebKitTestRunner/TestController.cpp:697
&gt; -        TestInvocation::dumpWebProcessUnresponsiveness(&quot;Failed to reset to consistent state before the first test&quot;);
&gt; +        m_currentInvocation-&gt;dumpWebProcessUnresponsiveness();

This change was not correct - there is no current invocation at this point yet.

So, WebKitTestRunner just crashes when a debugger is attached to WebProcess before the first resetStateToConsistentValues().</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171276</attachid>
            <date>2012-10-29 10:18:58 -0700</date>
            <delta_ts>2012-10-31 02:51:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100686-20121029181708.patch</filename>
            <type>text/plain</type>
            <size>2700</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNzc0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWIwOGY2NGNiMWZlYmZiMDJiZGZlN2UxODgwNDlmZTMx
NmNiYTQ5MS4uMTY5MjgxMmQwMmNlMzIxYjYxNmE5M2E3ZjA4YTdjN2JlYzNiNjNiNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIz
IEBACiAyMDEyLTEwLTI5ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAor
ICAgICAgICBbUXRdW1dUUl0gSGFyZGVuIGFnYWluc3QgdGltZWQgb3V0IGZvcmNlZCByZXBhaW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA2ODYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNh
bGxlZCBiYWNrIGZyb20gV0tQYWdlRm9yY2VSZXBhaW50LCBjaGVjayB0aGF0IGl0IGlzIHRoZQor
ICAgICAgICBjYWxsYmFjayB0aGF0IHdlIGV4cGVjdCBhbmQgbm90IGEgcmVzdWx0IG9mIGEgcHJl
dmlvdXMgdGVzdCB3aGVyZQorICAgICAgICB3ZSB0aW1lZCBvdXQgd2FpdGluZyBmb3IgaXQuIEkg
YWRkIHRoaXMgY2hlY2sgaW4gdGhlIGhvcGUgdGhhdCBpdAorICAgICAgICB3aWxsIGhlbHAgY2F0
Y2hpbmcgZmxha3kgYnVnIHRoYXQgb2NjdXJzIG9uIHRoZSBib3QgYW5kIG1ha2VzIGFsbAorICAg
ICAgICB0ZXN0cyBmYWlsIGZyb20gYSBnaXZlbiBwb2ludC4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvcXQvVGVzdEludm9jYXRpb25RdC5jcHA6CisgICAgICAgIChXVFIpOgorICAgICAg
ICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6Zm9yY2VSZXBhaW50RG9uZUNhbGxiYWNrKToKKyAgICAg
ICAgKFdUUjo6VGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVk
KToKKworMjAxMi0xMC0yOSAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CisK
ICAgICAgICAgW1dUUl0gTm90IHBvc3NpYmxlIHRvIHJlcG9ydCBlcnJvcnMgb24gc3RkZXJyIGFm
dGVyIHRleHQgZHVtcAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwNjc2CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVz
dEludm9jYXRpb25RdC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RJbnZvY2F0
aW9uUXQuY3BwCmluZGV4IDBjMjMxNTA4ZThjZTQyZDQwZTgzM2NhMjI0MmE5YjAxMGIwMzQ3YmMu
LmFkODMwODgwYjRjNDVhMDUyZTE5ZmY0NTQ1NWE5OWFlZDRiNGE5NmIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdEludm9jYXRpb25RdC5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0SW52b2NhdGlvblF0LmNwcApAQCAtNjUsOSArNjUsMTgg
QEAgc3RhdGljIHZvaWQgZHVtcEltYWdlKGNvbnN0IFFJbWFnZSYgaW1hZ2UpCiAgICAgZmZsdXNo
KHN0ZG91dCk7CiB9CiAKK3N0YXRpYyBUZXN0SW52b2NhdGlvbiogc19jdXJyZW50SW52b2NhdGlv
biA9IDA7CisKIHZvaWQgVGVzdEludm9jYXRpb246OmZvcmNlUmVwYWludERvbmVDYWxsYmFjayhX
S0Vycm9yUmVmLCB2b2lkICpjb250ZXh0KQogewotICAgIHN0YXRpY19jYXN0PFRlc3RJbnZvY2F0
aW9uKj4oY29udGV4dCktPm1fZ290UmVwYWludCA9IHRydWU7CisgICAgVGVzdEludm9jYXRpb24q
IGludm9jYXRpb24gPSBzdGF0aWNfY2FzdDxUZXN0SW52b2NhdGlvbio+KGNvbnRleHQpOworICAg
IGlmIChpbnZvY2F0aW9uICE9IHNfY3VycmVudEludm9jYXRpb24pIHsKKyAgICAgICAgZnB1dHMo
IkVSUk9SOiB1bmV4cGVjdGVkIGZvcmNlUmVwYWludERvbmUgY2FsbGJhY2sgdHJpZ2dlcmVkLlxu
IgorICAgICAgICAgICAgICAiICAgICAgIEl0IGlzIGxpa2VseSB0aGUgcmVzdWx0IG9mIGEgdGlt
ZW91dGVkIHJlcGFpbnQgZm9ybSBhIHByZXZpb3VzIHRlc3QuXG4iLCBzdGRlcnIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgaW52b2NhdGlvbi0+bV9nb3RSZXBhaW50ID0gdHJ1ZTsK
ICAgICBUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubm90aWZ5RG9uZSgpOwogfQogCkBAIC03OCw3
ICs4Nyw5IEBAIHZvaWQgVGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4
cGVjdGVkKFdLSW1hZ2VSZWYgaW1hZ2VSZWYsIFdLQXJyCiAgICAgICAgIFdLUGFnZVJlZiBwYWdl
ID0gVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm1haW5XZWJWaWV3KCktPnBhZ2UoKTsKICAgICAg
ICAgV0tQYWdlRm9yY2VSZXBhaW50KHBhZ2UsIHRoaXMsICZmb3JjZVJlcGFpbnREb25lQ2FsbGJh
Y2spOwogCisgICAgICAgIHNfY3VycmVudEludm9jYXRpb24gPSB0aGlzOwogICAgICAgICBUZXN0
Q29udHJvbGxlcjo6c2hhcmVkKCkucnVuVW50aWwobV9nb3RSZXBhaW50LCBUZXN0Q29udHJvbGxl
cjo6U2hvcnRUaW1lb3V0KTsKKyAgICAgICAgc19jdXJyZW50SW52b2NhdGlvbiA9IDA7CiAKICAg
ICAgICAgaWYgKG1fZ290UmVwYWludCkKICAgICAgICAgICAgIGltYWdlID0gV0tJbWFnZUNyZWF0
ZVFJbWFnZShUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+d2luZG93U25h
cHNob3RJbWFnZSgpLmdldCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172580</attachid>
            <date>2012-11-06 07:23:45 -0800</date>
            <delta_ts>2013-04-29 17:20:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100686-20121106162149.patch</filename>
            <type>text/plain</type>
            <size>8188</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGU1MDljMDM3ZmI0MmRhMjdkNDFhN2M4ZmVjMmZjNzg2
ODRlMGM0Zi4uMTU0NTkyMDMwZWUzZjAzOWZkMmEwOTQ0MWNmZDk0ODlkZWNlZjlhNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0
IEBACiAyMDEyLTExLTA2ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAor
ICAgICAgICBXZWJLaXRUZXN0UnVubmVyIGZsYWtpbHkgaGFuZ3Mgd2hlbiBydW5uaW5nIHBpeGVs
IHRlc3RzIG9uIFF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA2ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNYWtlIFdlYktpdFRlc3RSdW5uZXIgaGFyZGVuIGFnYWluc3QgdGhlIHNpdHVhdGlvbiB3
aGVuIHRoZSBjb29yZGluYXRlZAorICAgICAgICBncmFwaGljcyByZW5kZXJpbmcgc3luY2hyb25p
c2F0aW9uIGZhaWxzLiBJZiB3ZSB0aW1lIG91dCB3aGVuIHdhaXRpbmcKKyAgICAgICAgZm9yIHRo
ZSBmb3JjZWQgcmVwYWludCB0byBmaW5pc2ggaXQgdXN1YWxseSBhIHN5bXB0b20gb2YgdGhlIHN5
bmNocm9uaXNhdGlvbgorICAgICAgICBoYXMgYmVlbiBicm9rZW4uIEluIHRoaXMgY2FzZSBhbGwg
b3RoZXIgdGVzdHMgd2lsbCBmYWlsIHdpdGggdGhlIHNhbWUgZXJyb3IuCisgICAgICAgIFRoZSB1
bmRlcmx5aW5nIHByb2JsZW0gaXMgbm90IHlldCBrbm93bi4gVGhzIHBhdGNoIG1ha2UgdXMgcmVw
b3J0IHRoaXMgc2l0dWF0aW9uCisgICAgICAgIGFzIHdlYiBwcm9jZXNzIHVucmVzcG9uc2l2ZW5l
c3MsIHNvIHRoZSB0ZXN0IGhhcm5lc3Mgd2lsbCBraWxsIHVzIGFuZCBsYXVuY2gKKyAgICAgICAg
YSBuZXcgaW5zdGFuY2UuIFRoaXMgd2lsbCBtYWtlIG91ciBwaXhlbCB0ZXN0IGJvdCB1c2FibGUg
d2hpbGUgaXQgc2hvdWxkIG5vdCBsaW1pdAorICAgICAgICB1cyBkZWJ1Z2dpbmcgdGhlIHVuZGVy
bHlpbmcgYnVnLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpydW4pOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2Nh
dGlvbjo6VGVzdEludm9jYXRpb24pOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6aW52
b2tlKToKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmR1bXBXZWJQcm9jZXNzVW5yZXNw
b25zaXZlbmVzcyk6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlTWVz
c2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5oOgorICAgICAgICAoVGVzdEludm9jYXRpb24pOiBJbnRyb2R1Y2UgbmV3IG1l
bWJlcnMgdG8gaG9sZCBvdXIgc3RhdGUKKyAgICAgICAgdGhhdCB3YXMgbG9jYWwgdG8gaW52b2tl
KCkgc28gZmFyLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvVGVzdEludm9jYXRpb25R
dC5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkdW1wUGl4ZWxzQW5kQ29tcGFy
ZVdpdGhFeHBlY3RlZCk6CisKKzIwMTItMTEtMDYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3
ZWJraXQub3JnPgorCiAgICAgICAgIFtRdF1bV1RSXSBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1S
dW5VbnRpbCBzaG91bGQgbm90IGRvIGJ1c3kgd2FpdGluZwogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMzI3CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZGNiYmFkMGJjMzgwZTc1MDNmMWMzOWJkZDhiMGI1
MzljM2EyNmIyMi4uMzE3Y2E4ZjhkMzBjMmMzYzIzMjBlMjFiMDA3NGRlMzg3Y2U1ZGY5OSAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTY5NCw3ICs2OTQs
NyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpydW5UZXN0aW5nU2VydmVyTG9vcCgpCiB2b2lkIFRl
c3RDb250cm9sbGVyOjpydW4oKQogewogICAgIGlmICghcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZh
bHVlcygpKSB7Ci0gICAgICAgIFRlc3RJbnZvY2F0aW9uOjpkdW1wV2ViUHJvY2Vzc1VucmVzcG9u
c2l2ZW5lc3MoIkZhaWxlZCB0byByZXNldCB0byBjb25zaXN0ZW50IHN0YXRlIGJlZm9yZSB0aGUg
Zmlyc3QgdGVzdCIpOworICAgICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5kdW1wV2ViUHJvY2Vz
c1VucmVzcG9uc2l2ZW5lc3MoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCAxY2I1NmJiNzFmMTNiYTkzZTM5
Njk3MzY5ZTA5ZjU0ODVhNDEzMDZjLi5lZjE3NDM3ZTQ1YmE1Y2M3MmE4MTU5Y2NkYTIxMWI2MWYx
Y2Q5NDVhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAt
MTA0LDYgKzEwNCw3IEBAIFRlc3RJbnZvY2F0aW9uOjpUZXN0SW52b2NhdGlvbihjb25zdCBzdGQ6
OnN0cmluZyYgcGF0aE9yVVJMKQogICAgICwgbV9nb3RGaW5hbE1lc3NhZ2UoZmFsc2UpCiAgICAg
LCBtX2dvdFJlcGFpbnQoZmFsc2UpCiAgICAgLCBtX2Vycm9yKGZhbHNlKQorICAgICwgbV93ZWJQ
cm9jZXNzSXNVbnJlbnNwb25zaXZlKGZhbHNlKQogewogfQogCkBAIC0xODYsMTYgKzE4NywxNCBA
QCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQogCiAgICAgV0tDb250ZXh0UG9zdE1lc3Nh
Z2VUb0luamVjdGVkQnVuZGxlKFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5jb250ZXh0KCksIG1l
c3NhZ2VOYW1lLmdldCgpLCBiZWdpblRlc3RNZXNzYWdlQm9keS5nZXQoKSk7CiAKLSAgICBjb25z
dCBjaGFyKiBlcnJvck1lc3NhZ2UgPSAwOwogICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5y
dW5VbnRpbChtX2dvdEluaXRpYWxSZXNwb25zZSwgVGVzdENvbnRyb2xsZXI6OlNob3J0VGltZW91
dCk7CiAgICAgaWYgKCFtX2dvdEluaXRpYWxSZXNwb25zZSkgewotICAgICAgICBlcnJvck1lc3Nh
Z2UgPSAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIGluaXRpYWwgcmVzcG9uc2UgZnJvbSB3ZWIgcHJv
Y2Vzc1xuIjsKKyAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSAiVGltZWQgb3V0IHdhaXRpbmcgZm9y
IGluaXRpYWwgcmVzcG9uc2UgZnJvbSB3ZWIgcHJvY2Vzc1xuIjsKKyAgICAgICAgbV93ZWJQcm9j
ZXNzSXNVbnJlbnNwb25zaXZlID0gdHJ1ZTsKICAgICAgICAgZ290byBlbmQ7CiAgICAgfQotICAg
IGlmIChtX2Vycm9yKSB7Ci0gICAgICAgIGVycm9yTWVzc2FnZSA9ICJGQUlMXG4iOworICAgIGlm
IChtX2Vycm9yKQogICAgICAgICBnb3RvIGVuZDsKLSAgICB9CiAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKG1fcGF0aE9yVVJMLmNfc3RyKCkp
KQpAQCAtMjA2LDEzICsyMDUsMTIgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6aW52b2tlKCkKIAog
ICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5VbnRpbChtX2dvdEZpbmFsTWVzc2FnZSwg
VGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLnVzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyKCkgPyBU
ZXN0Q29udHJvbGxlcjo6TG9uZ1RpbWVvdXQgOiBUZXN0Q29udHJvbGxlcjo6Tm9UaW1lb3V0KTsK
ICAgICBpZiAoIW1fZ290RmluYWxNZXNzYWdlKSB7Ci0gICAgICAgIGVycm9yTWVzc2FnZSA9ICJU
aW1lZCBvdXQgd2FpdGluZyBmb3IgZmluYWwgbWVzc2FnZSBmcm9tIHdlYiBwcm9jZXNzXG4iOwor
ICAgICAgICBtX2Vycm9yTWVzc2FnZSA9ICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgZmluYWwgbWVz
c2FnZSBmcm9tIHdlYiBwcm9jZXNzXG4iOworICAgICAgICBtX3dlYlByb2Nlc3NJc1VucmVuc3Bv
bnNpdmUgPSB0cnVlOwogICAgICAgICBnb3RvIGVuZDsKICAgICB9Ci0gICAgaWYgKG1fZXJyb3Ip
IHsKLSAgICAgICAgZXJyb3JNZXNzYWdlID0gIkZBSUxcbiI7CisgICAgaWYgKG1fZXJyb3IpCiAg
ICAgICAgIGdvdG8gZW5kOwotICAgIH0KIAogICAgIGR1bXBSZXN1bHRzKCk7CiAKQEAgLTIyMiwx
MyArMjIwLDE1IEBAIGVuZDoKICAgICAgICAgV0tJbnNwZWN0b3JDbG9zZShXS1BhZ2VHZXRJbnNw
ZWN0b3IoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSkpOwog
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAKLSAgICBpZiAoZXJyb3JNZXNzYWdlKQotICAg
ICAgICBkdW1wV2ViUHJvY2Vzc1VucmVzcG9uc2l2ZW5lc3MoZXJyb3JNZXNzYWdlKTsKLSAgICBl
bHNlIGlmICghVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRW
YWx1ZXMoKSkKLSAgICAgICAgZHVtcFdlYlByb2Nlc3NVbnJlc3BvbnNpdmVuZXNzKCJUaW1lZCBv
dXQgbG9hZGluZyBhYm91dDpibGFuayBiZWZvcmUgdGhlIG5leHQgdGVzdCIpOworICAgIGlmICht
X3dlYlByb2Nlc3NJc1VucmVuc3BvbnNpdmUpCisgICAgICAgIGR1bXBXZWJQcm9jZXNzVW5yZXNw
b25zaXZlbmVzcygpOworICAgIGVsc2UgaWYgKCFUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkucmVz
ZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpKSB7CisgICAgICAgIG1fZXJyb3JNZXNzYWdlID0g
IlRpbWVkIG91dCBsb2FkaW5nIGFib3V0OmJsYW5rIGJlZm9yZSB0aGUgbmV4dCB0ZXN0IjsKKyAg
ICAgICAgZHVtcFdlYlByb2Nlc3NVbnJlc3BvbnNpdmVuZXNzKCk7CisgICAgfQogfQogCi12b2lk
IFRlc3RJbnZvY2F0aW9uOjpkdW1wV2ViUHJvY2Vzc1VucmVzcG9uc2l2ZW5lc3MoY29uc3QgY2hh
ciogdGV4dFRvU3Rkb3V0KQordm9pZCBUZXN0SW52b2NhdGlvbjo6ZHVtcFdlYlByb2Nlc3NVbnJl
c3BvbnNpdmVuZXNzKCkKIHsKICAgICBjb25zdCBjaGFyKiBlcnJvck1lc3NhZ2VUb1N0ZGVyciA9
IDA7CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtMjQwLDcgKzI0MCw3IEBAIHZvaWQgVGVzdEludm9j
YXRpb246OmR1bXBXZWJQcm9jZXNzVW5yZXNwb25zaXZlbmVzcyhjb25zdCBjaGFyKiB0ZXh0VG9T
dGRvdXQpCiAgICAgZXJyb3JNZXNzYWdlVG9TdGRlcnIgPSAiI1BST0NFU1MgVU5SRVNQT05TSVZF
IC0gV2ViUHJvY2VzcyI7CiAjZW5kaWYKIAotICAgIGR1bXAodGV4dFRvU3Rkb3V0LCBlcnJvck1l
c3NhZ2VUb1N0ZGVyciwgdHJ1ZSk7CisgICAgZHVtcChtX2Vycm9yTWVzc2FnZS5jX3N0cigpLCBl
cnJvck1lc3NhZ2VUb1N0ZGVyciwgdHJ1ZSk7CiB9CiAKIHZvaWQgVGVzdEludm9jYXRpb246OmR1
bXAoY29uc3QgY2hhciogdGV4dFRvU3Rkb3V0LCBjb25zdCBjaGFyKiB0ZXh0VG9TdGRlcnIsIGJv
b2wgc2VlbkVycm9yKQpAQCAtMjkyLDYgKzI5Miw3IEBAIHZvaWQgVGVzdEludm9jYXRpb246OmRp
ZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1l
CiAgICAgICAgIG1fZ290SW5pdGlhbFJlc3BvbnNlID0gdHJ1ZTsKICAgICAgICAgbV9nb3RGaW5h
bE1lc3NhZ2UgPSB0cnVlOwogICAgICAgICBtX2Vycm9yID0gdHJ1ZTsKKyAgICAgICAgbV9lcnJv
ck1lc3NhZ2UgPSAiRkFJTFxuIjsKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm5v
dGlmeURvbmUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdEludm9jYXRpb24uaAppbmRleCBiNTUwNjU1MWIxOTFlYzY1ZTE1NTE2ODQ2OWM5ZjU3Njcz
ZDFmZWFmLi5jMTRiMDYwYTNkNWM0MDg4ZDQ2ZjQwZGQ0NmM4MGY5OTdhNDFmNzJmIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC00NCw3ICs0NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5n
UmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHkpOwogICAgIFdLUmV0YWluUHRy
PFdLVHlwZVJlZj4gZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRs
ZShXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KTsKIAotICAg
IHN0YXRpYyB2b2lkIGR1bXBXZWJQcm9jZXNzVW5yZXNwb25zaXZlbmVzcyhjb25zdCBjaGFyKiB0
ZXh0VG9TdGRvdXQpOworICAgIHZvaWQgZHVtcFdlYlByb2Nlc3NVbnJlc3BvbnNpdmVuZXNzKCk7
CiBwcml2YXRlOgogICAgIHZvaWQgZHVtcFJlc3VsdHMoKTsKICAgICBzdGF0aWMgdm9pZCBkdW1w
KGNvbnN0IGNoYXIqIHRleHRUb1N0ZG91dCwgY29uc3QgY2hhciogdGV4dFRvU3RkZXJyID0gMCwg
Ym9vbCBzZWVuRXJyb3IgPSBmYWxzZSk7CkBAIC03MSw2ICs3MSw5IEBAIHByaXZhdGU6CiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1fdGV4dE91dHB1dDsKICAgICBXS1JldGFpblB0cjxX
S0ltYWdlUmVmPiBtX3BpeGVsUmVzdWx0OwogICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IG1f
cmVwYWludFJlY3RzOworICAgIHN0ZDo6c3RyaW5nIG1fZXJyb3JNZXNzYWdlOworICAgIGJvb2wg
bV93ZWJQcm9jZXNzSXNVbnJlbnNwb25zaXZlOworCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVFIK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdEludm9jYXRpb25RdC5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RJbnZvY2F0aW9uUXQuY3BwCmluZGV4
IDBjMjMxNTA4ZThjZTQyZDQwZTgzM2NhMjI0MmE5YjAxMGIwMzQ3YmMuLjY4MmE2Mzc3ZmI3ZDVj
Y2JkZmJmMThhMWM2NTI1ZmE4Nzg0ZTAzNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvcXQvVGVzdEludm9jYXRpb25RdC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9UZXN0SW52b2NhdGlvblF0LmNwcApAQCAtODMsMTAgKzgzLDEwIEBAIHZvaWQgVGVzdElu
dm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKFdLSW1hZ2VSZWYgaW1h
Z2VSZWYsIFdLQXJyCiAgICAgICAgIGlmIChtX2dvdFJlcGFpbnQpCiAgICAgICAgICAgICBpbWFn
ZSA9IFdLSW1hZ2VDcmVhdGVRSW1hZ2UoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm1haW5XZWJW
aWV3KCktPndpbmRvd1NuYXBzaG90SW1hZ2UoKS5nZXQoKSk7CiAgICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgLy8gVGhlIHRlc3QgaGFybmVzcyBleHBlY3RzIGFuIGltYWdlIHNvIHdlIG91dHB1
dCBhbiBlbXB0eSBvbmUuCi0gICAgICAgICAgICBXS1JlY3Qgd2luZG93UmVjdCA9IFRlc3RDb250
cm9sbGVyOjpzaGFyZWQoKS5tYWluV2ViVmlldygpLT53aW5kb3dGcmFtZSgpOwotICAgICAgICAg
ICAgaW1hZ2UgPSBRSW1hZ2UoUVNpemUod2luZG93UmVjdC5zaXplLndpZHRoLCB3aW5kb3dSZWN0
LnNpemUuaGVpZ2h0KSwgUUltYWdlOjpGb3JtYXRfQVJHQjMyX1ByZW11bHRpcGxpZWQpOwotICAg
ICAgICAgICAgaW1hZ2UuZmlsbChRdDo6cmVkKTsKKyAgICAgICAgICAgIG1fZXJyb3IgPSB0cnVl
OworICAgICAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHJl
cGFpbnRcbiI7CisgICAgICAgICAgICBtX3dlYlByb2Nlc3NJc1VucmVuc3BvbnNpdmUgPSB0cnVl
OworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfSBlbHNlCiAgICAgICAgIGlt
YWdlID0gV0tJbWFnZUNyZWF0ZVFJbWFnZShpbWFnZVJlZik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>