<?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>74623</bug_id>
          
          <creation_ts>2011-12-15 10:26:40 -0800</creation_ts>
          <short_desc>[chromium] Multithreaded compositor unit tests intermittently failing</short_desc>
          <delta_ts>2012-05-18 11:10:34 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to>vollick</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>522024</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-15 10:26:40 -0800</bug_when>
    <thetext>See:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/10716
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/10716/steps/webkit_unit_tests/logs/runMultiThread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522091</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-15 11:17:38 -0800</bug_when>
    <thetext>More of the multithreaded compositor tests than just this one are failing, for example CCLayerTreeHostTestScrollMultipleRedraw. See:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6%20%28CG%29/builds/3459/steps/webkit_unit_tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522095</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-15 11:26:13 -0800</bug_when>
    <thetext>Marking CCLayerTreeHostTestScrollSimple and CCLayerTreeHostTestScrollMultipleRedraw disabled until this is diagnosed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522100</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-15 11:34:31 -0800</bug_when>
    <thetext>Committed r102970: &lt;http://trac.webkit.org/changeset/102970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522185</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 13:15:37 -0800</bug_when>
    <thetext>When did these failures start?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522195</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-15 13:23:49 -0800</bug_when>
    <thetext>Here&apos;s the first build where they were seen on this particular bot:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/10706

No suspect changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522335</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 16:48:34 -0800</bug_when>
    <thetext>I can repro on my mac locally. Investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522410</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 18:08:18 -0800</bug_when>
    <thetext>With --gtest_repeat=1000 this fails at 102875 (just before Nat&apos;s inhibitDraw patch) and passes at 102863 (just after Sami&apos;s CCScopedThreadProxy patch). I don&apos;t see any other patches in that interval that have anything to do with the compositor specifically.  Will try bisecting...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522432</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 18:34:59 -0800</bug_when>
    <thetext>I take that back, now I&apos;m seeing zero failures just before Nat&apos;s patch and a consistent failure with it (with --gtest_repeat=1000).  It hangs even if I neuter most of the patch (make CCThreadProxy::canDraw() unconditionally return true, remove the CCLayerTreeHost changes, etc).

Nat could you take over? I&apos;ve got a few things to juggle. The command line I&apos;m using is:

./out/Debug/webkit_unit_tests --gtest_filter=CCLayer* --gtest_repeat=1000 --gtest_break_on_failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522899</commentid>
    <comment_count>9</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-16 12:04:16 -0800</bug_when>
    <thetext>Committed r103089: &lt;http://trac.webkit.org/changeset/103089&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522902</commentid>
    <comment_count>10</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-12-16 12:07:17 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Committed r103089: &lt;http://trac.webkit.org/changeset/103089&gt;

The setNeedsCommit1 test has also been intermittently timing out on mac, see: http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5%20%28CG%29/builds/1787/steps/webkit_unit_tests/logs/runMultiThread

I am not totally convinced that it is related to these other failures, but it seems possible, so please file it as a separate bug if not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619235</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-09 00:36:29 -0700</bug_when>
    <thetext>CCLayerTreeHostTestAddAnimationWithTimingFunction.runMultiThread is also flaky only on Windows. I&apos;ll mark FLAKY_.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619535</commentid>
    <comment_count>12</comment_count>
    <who name="">vollick</who>
    <bug_when>2012-05-09 08:56:56 -0700</bug_when>
    <thetext>Looking into a failure in CCLayerTreeHostTestWriteLayersRedraw.runMultiThread, I noticed something about how the tests shut down.

The test failed because there were more commits than expected. The commit counter is only incremented in a function which calls endTest(). So we&apos;re processing more tasks after endTest(). Looking at how endTest is implemented, this seems very possible -- if we&apos;re on the impl thread, we post a task to the main thread&apos;s message loop to actually get the test ended. Before that task is processed, we could process a bunch of tasks on either the main thread or the impl thread message loop. Also, we shut down the message loop by calling Quit, which IIRC processes any remaining tasks.

It seems like the ideal behaviour is that upon calling endTest(), any existing tasks scheduled for the message loops get dropped on the floor, and then we post any tasks required for test shutdown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619555</commentid>
    <comment_count>13</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-05-09 09:14:43 -0700</bug_when>
    <thetext>Kk. We&apos;ll need to find an owner for this. I&apos;m swampified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627783</commentid>
    <comment_count>14</comment_count>
      <attachid>142731</attachid>
    <who name="">vollick</who>
    <bug_when>2012-05-18 10:13:07 -0700</bug_when>
    <thetext>Created attachment 142731
Patch

The flakiness of the CCLayerTreeHost tests stem from processing tasks after the
tests finish. To fix this, I&apos;ve disabled the dispatch* methods after endTest is
called, effectively preventing any further tasks scheduled by the tests from
being processed. I have also reworked the checks in
CCLayerTreeHostTestWriteLayersRedraw to make the test more robust.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627815</commentid>
    <comment_count>15</comment_count>
      <attachid>142731</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-05-18 10:59:11 -0700</bug_when>
    <thetext>Comment on attachment 142731
Patch

R=me.  Thanks for looking into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627821</commentid>
    <comment_count>16</comment_count>
      <attachid>142731</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-18 11:08:30 -0700</bug_when>
    <thetext>Comment on attachment 142731
Patch

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

Thanks for looking into this!  Patch looks good, but if you can think of a way to fold some of the boilerplate together that&apos;d be even better.  At a bare minimum, I doubt we need completely separate implementations of dispatchSetVisible() and dispatchSetInvisible().

&gt; Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp:381
&gt;      static void dispatchSetNeedsAnimate(void* self)

we have so many nearly-identical copies of this now not-quite-trivial function - is there any way we can fold them together?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627823</commentid>
    <comment_count>17</comment_count>
      <attachid>142731</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 11:10:27 -0700</bug_when>
    <thetext>Comment on attachment 142731
Patch

Clearing flags on attachment: 142731

Committed r117608: &lt;http://trac.webkit.org/changeset/117608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627824</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 11:10:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142731</attachid>
            <date>2012-05-18 10:13:07 -0700</date>
            <delta_ts>2012-05-18 11:10:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74623-20120518131306.patch</filename>
            <type>text/plain</type>
            <size>7504</size>
            <attacher>vollick</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY1MTU3ODYwZDA1OTYxNjM2ZjRjMzNhMDY2ZWY1OWI0ZWJmMjIzNTEuLjczMDg1OTA0NTg0NThm
Mjg3YjEwYjc5Y2QyNGQ0ZGIyNDViZDlmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTItMDUtMTggIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBNdWx0aXRocmVhZGVkIGNvbXBvc2l0b3IgdW5p
dCB0ZXN0cyBpbnRlcm1pdHRlbnRseSBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBmbGFraW5lc3Mgb2YgdGhlIENDTGF5ZXJUcmVlSG9z
dCB0ZXN0cyBzdGVtIGZyb20gcHJvY2Vzc2luZyB0YXNrcyBhZnRlciB0aGUKKyAgICAgICAgdGVz
dHMgZmluaXNoLiBUbyBmaXggdGhpcywgSSd2ZSBkaXNhYmxlZCB0aGUgZGlzcGF0Y2gqIG1ldGhv
ZHMgYWZ0ZXIgZW5kVGVzdCBpcworICAgICAgICBjYWxsZWQsIGVmZmVjdGl2ZWx5IHByZXZlbnRp
bmcgYW55IGZ1cnRoZXIgdGFza3Mgc2NoZWR1bGVkIGJ5IHRoZSB0ZXN0cyBmcm9tCisgICAgICAg
IGJlaW5nIHByb2Nlc3NlZC4gSSBoYXZlIGFsc28gcmV3b3JrZWQgdGhlIGNoZWNrcyBpbgorICAg
ICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0V3JpdGVMYXllcnNSZWRyYXcgdG8gbWFrZSB0aGUgdGVz
dCBtb3JlIHJvYnVzdC4KKworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3Bw
OgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0OjpDQ0xheWVyVHJlZUhvc3RUZXN0
KToKKyAgICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdDo6ZGlzcGF0Y2hTZXROZWVkc0Fu
aW1hdGUpOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0OjpkaXNwYXRjaEFkZElu
c3RhbnRBbmltYXRpb24pOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0OjpkaXNw
YXRjaEFkZEFuaW1hdGlvbik6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3Q6OmRp
c3BhdGNoU2V0TmVlZHNBbmltYXRlQW5kQ29tbWl0KToKKyAgICAgICAgKFdURjo6Q0NMYXllclRy
ZWVIb3N0VGVzdDo6ZGlzcGF0Y2hTZXROZWVkc0NvbW1pdCk6CisgICAgICAgIChXVEY6OkNDTGF5
ZXJUcmVlSG9zdFRlc3Q6OmRpc3BhdGNoQWNxdWlyZUxheWVyVGV4dHVyZXMpOgorICAgICAgICAo
V1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0OjpkaXNwYXRjaFNldE5lZWRzUmVkcmF3KToKKyAgICAg
ICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdDo6ZGlzcGF0Y2hTZXRWaXNpYmxlKToKKyAgICAg
ICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdDo6ZGlzcGF0Y2hTZXRJbnZpc2libGUpOgorICAg
ICAgICAoQ0NMYXllclRyZWVIb3N0VGVzdCk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9z
dFRlc3Q6OmVuZFRlc3QpOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0V3JpdGVM
YXllcnNSZWRyYXc6OmRyYXdMYXllcnNPbkNDVGhyZWFkKToKKyAgICAgICAgKFdURjo6Q0NMYXll
clRyZWVIb3N0VGVzdFdyaXRlTGF5ZXJzUmVkcmF3OjphZnRlclRlc3QpOgorCiAyMDEyLTA1LTE4
ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTUxNQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKaW5kZXggNzdhM2I4
MjY0ZWE5Yzc1YTM1MGZkYWU0YTAxYzU5ZGE2MDJiNWVlNi4uY2IyNzAzZWRlM2ExMDFhYzI2NzVl
YWQzMGI4NWZlM2NiMTM1MTcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0zNjcsNyArMzY3LDggQEAgcHJvdGVj
dGVkOgogICAgIENDTGF5ZXJUcmVlSG9zdFRlc3QoKQogICAgICAgICA6IG1fYmVnaW5uaW5nKGZh
bHNlKQogICAgICAgICAsIG1fZW5kV2hlbkJlZ2luUmV0dXJucyhmYWxzZSkKLSAgICAgICAgLCBt
X3RpbWVkT3V0KGZhbHNlKSB7IH0KKyAgICAgICAgLCBtX3RpbWVkT3V0KGZhbHNlKQorICAgICAg
ICAsIG1fZmluaXNoZWQoZmFsc2UpIHsgfQogCiAgICAgdm9pZCBkb0JlZ2luVGVzdCgpOwogCkBA
IC0zNzksOCArMzgwLDExIEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
U2V0TmVlZHNBbmltYXRlKHZvaWQqIHNlbGYpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0ID0gc3RhdGljX2Nh
c3Q8Q0NMYXllclRyZWVIb3N0VGVzdCo+KHNlbGYpOworICAgICAgICBpZiAodGVzdC0+bV9maW5p
c2hlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgICAgICBBU1NFUlQodGVzdCk7CiAgICAgICAgIGlmICh0ZXN0LT5tX2xheWVyVHJl
ZUhvc3QpCiAgICAgICAgICAgICB0ZXN0LT5tX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQW5pbWF0
ZSgpOwpAQCAtMzg4LDggKzM5MiwxMSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCBk
aXNwYXRjaEFkZEluc3RhbnRBbmltYXRpb24odm9pZCogc2VsZikKICAgICB7Ci0gICAgICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3QqIHRlc3Qg
PSBzdGF0aWNfY2FzdDxDQ0xheWVyVHJlZUhvc3RUZXN0Kj4oc2VsZik7CisgICAgICAgIGlmICh0
ZXN0LT5tX2ZpbmlzaGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAgICAgICAgIEFTU0VSVCh0ZXN0KTsKICAgICAgICAgaWYgKHRlc3Qt
Pm1fbGF5ZXJUcmVlSG9zdCAmJiB0ZXN0LT5tX2xheWVyVHJlZUhvc3QtPnJvb3RMYXllcigpKQog
ICAgICAgICAgICAgYWRkT3BhY2l0eVRyYW5zaXRpb25Ub0xheWVyKCp0ZXN0LT5tX2xheWVyVHJl
ZUhvc3QtPnJvb3RMYXllcigpLCAwLCAwLCAwLjUsIGZhbHNlKTsKQEAgLTM5Nyw4ICs0MDQsMTEg
QEAgcHJvdGVjdGVkOgogCiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hBZGRBbmltYXRpb24odm9p
ZCogc2VsZikKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAg
IENDTGF5ZXJUcmVlSG9zdFRlc3QqIHRlc3QgPSBzdGF0aWNfY2FzdDxDQ0xheWVyVHJlZUhvc3RU
ZXN0Kj4oc2VsZik7CisgICAgICAgIGlmICh0ZXN0LT5tX2ZpbmlzaGVkKQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgIEFTU0VS
VCh0ZXN0KTsKICAgICAgICAgaWYgKHRlc3QtPm1fbGF5ZXJUcmVlSG9zdCAmJiB0ZXN0LT5tX2xh
eWVyVHJlZUhvc3QtPnJvb3RMYXllcigpKQogICAgICAgICAgICAgYWRkT3BhY2l0eVRyYW5zaXRp
b25Ub0xheWVyKCp0ZXN0LT5tX2xheWVyVHJlZUhvc3QtPnJvb3RMYXllcigpLCAxMCwgMCwgMC41
LCB0cnVlKTsKQEAgLTQwNiw4ICs0MTYsMTEgQEAgcHJvdGVjdGVkOgogCiAgICAgc3RhdGljIHZv
aWQgZGlzcGF0Y2hTZXROZWVkc0FuaW1hdGVBbmRDb21taXQodm9pZCogc2VsZikKICAgICB7Ci0g
ICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRl
c3QqIHRlc3QgPSBzdGF0aWNfY2FzdDxDQ0xheWVyVHJlZUhvc3RUZXN0Kj4oc2VsZik7CisgICAg
ICAgIGlmICh0ZXN0LT5tX2ZpbmlzaGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgICAgIEFTU0VSVCh0ZXN0KTsKICAgICAgICAg
aWYgKHRlc3QtPm1fbGF5ZXJUcmVlSG9zdCkgewogICAgICAgICAgICAgdGVzdC0+bV9sYXllclRy
ZWVIb3N0LT5zZXROZWVkc0FuaW1hdGUoKTsKQEAgLTQxNyw4ICs0MzAsMTEgQEAgcHJvdGVjdGVk
OgogCiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hTZXROZWVkc0NvbW1pdCh2b2lkKiBzZWxmKQog
ICAgIHsKLSAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAgICAgQ0NMYXllclRy
ZWVIb3N0VGVzdCogdGVzdCA9IHN0YXRpY19jYXN0PENDTGF5ZXJUcmVlSG9zdFRlc3QqPihzZWxm
KTsKKyAgICAgICAgaWYgKHRlc3QtPm1fZmluaXNoZWQpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAgICAgQVNTRVJUX1RSVUUodGVz
dCk7CiAgICAgICAgIGlmICh0ZXN0LT5tX2xheWVyVHJlZUhvc3QpCiAgICAgICAgICAgICB0ZXN0
LT5tX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQ29tbWl0KCk7CkBAIC00MjYsMTcgKzQ0MiwyMyBA
QCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaEFjcXVpcmVMYXllclRleHR1
cmVzKHZvaWQqIHNlbGYpCiAgICAgewotICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAg
ICAgIENDTGF5ZXJUcmVlSG9zdFRlc3QqIHRlc3QgPSBzdGF0aWNfY2FzdDxDQ0xheWVyVHJlZUhv
c3RUZXN0Kj4oc2VsZik7Ci0gICAgICBBU1NFUlRfVFJVRSh0ZXN0KTsKLSAgICAgIGlmICh0ZXN0
LT5tX2xheWVyVHJlZUhvc3QpCi0gICAgICAgICAgdGVzdC0+bV9sYXllclRyZWVIb3N0LT5hY3F1
aXJlTGF5ZXJUZXh0dXJlcygpOworICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0ID0g
c3RhdGljX2Nhc3Q8Q0NMYXllclRyZWVIb3N0VGVzdCo+KHNlbGYpOworICAgICAgICBpZiAodGVz
dC0+bV9maW5pc2hlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOworICAgICAgICBBU1NFUlRfVFJVRSh0ZXN0KTsKKyAgICAgICAgaWYgKHRl
c3QtPm1fbGF5ZXJUcmVlSG9zdCkKKyAgICAgICAgICAgIHRlc3QtPm1fbGF5ZXJUcmVlSG9zdC0+
YWNxdWlyZUxheWVyVGV4dHVyZXMoKTsKICAgICB9CiAKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRj
aFNldE5lZWRzUmVkcmF3KHZvaWQqIHNlbGYpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0ID0gc3RhdGljX2Nh
c3Q8Q0NMYXllclRyZWVIb3N0VGVzdCo+KHNlbGYpOworICAgICAgICBpZiAodGVzdC0+bV9maW5p
c2hlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgICAgICBBU1NFUlRfVFJVRSh0ZXN0KTsKICAgICAgICAgaWYgKHRlc3QtPm1fbGF5
ZXJUcmVlSG9zdCkKICAgICAgICAgICAgIHRlc3QtPm1fbGF5ZXJUcmVlSG9zdC0+c2V0TmVlZHNS
ZWRyYXcoKTsKQEAgLTQ0NCw4ICs0NjYsMTEgQEAgcHJvdGVjdGVkOgogCiAgICAgc3RhdGljIHZv
aWQgZGlzcGF0Y2hTZXRWaXNpYmxlKHZvaWQqIHNlbGYpCiAgICAgewotICAgICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwogICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0ID0gc3Rh
dGljX2Nhc3Q8Q0NMYXllclRyZWVIb3N0VGVzdCo+KHNlbGYpOworICAgICAgICBpZiAodGVzdC0+
bV9maW5pc2hlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgICAgICBBU1NFUlQodGVzdCk7CiAgICAgICAgIGlmICh0ZXN0LT5tX2xh
eWVyVHJlZUhvc3QpCiAgICAgICAgICAgICB0ZXN0LT5tX2xheWVyVHJlZUhvc3QtPnNldFZpc2li
bGUodHJ1ZSk7CkBAIC00NTMsOCArNDc4LDExIEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRpYyB2
b2lkIGRpc3BhdGNoU2V0SW52aXNpYmxlKHZvaWQqIHNlbGYpCiAgICAgewotICAgICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogICAgICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0ID0g
c3RhdGljX2Nhc3Q8Q0NMYXllclRyZWVIb3N0VGVzdCo+KHNlbGYpOworICAgICAgICBpZiAodGVz
dC0+bV9maW5pc2hlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogICAgICAgICBBU1NFUlQodGVzdCk7CiAgICAgICAgIGlmICh0ZXN0LT5t
X2xheWVyVHJlZUhvc3QpCiAgICAgICAgICAgICB0ZXN0LT5tX2xheWVyVHJlZUhvc3QtPnNldFZp
c2libGUoZmFsc2UpOwpAQCAtNTQ3LDYgKzU3NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Jl
Z2lubmluZzsKICAgICBib29sIG1fZW5kV2hlbkJlZ2luUmV0dXJuczsKICAgICBib29sIG1fdGlt
ZWRPdXQ7CisgICAgYm9vbCBtX2ZpbmlzaGVkOwogCiAgICAgT3duUHRyPFdlYlRocmVhZD4gbV93
ZWJUaHJlYWQ7CiAgICAgUmVmUHRyPENDU2NvcGVkVGhyZWFkUHJveHk+IG1fbWFpblRocmVhZFBy
b3h5OwpAQCAtNTc0LDYgKzYwMyw4IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0VGVzdDo6ZG9CZWdp
blRlc3QoKQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdFRlc3Q6OmVuZFRlc3QoKQogeworICAgIG1f
ZmluaXNoZWQgPSB0cnVlOworCiAgICAgLy8gSWYgd2UgYXJlIGNhbGxlZCBmcm9tIHRoZSBDQ1Ro
cmVhZCwgcmUtY2FsbCBlbmRUZXN0IG9uIHRoZSBtYWluIHRocmVhZC4KICAgICBpZiAoIWlzTWFp
blRocmVhZCgpKQogICAgICAgICBtX21haW5UaHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRlQ0NU
aHJlYWRUYXNrKHRoaXMsICZDQ0xheWVyVHJlZUhvc3RUZXN0OjplbmRUZXN0KSk7CkBAIC05MzAs
OCArOTYxLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkNDVGhy
ZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqIGltcGwpCiAgICAgewotICAgICAgICBFWFBFQ1RfRVEo
MSwgaW1wbC0+c291cmNlRnJhbWVOdW1iZXIoKSk7CiAgICAgICAgIG1fbnVtRHJhd3MrKzsKKyAg
ICAgICAgRVhQRUNUX0VRKG1fbnVtRHJhd3MsIG1fbnVtQ29tbWl0cyk7CiAgICAgfQogCiAgICAg
dmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBs
KikKQEAgLTk0Miw3ICs5NzMsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYWZ0ZXJU
ZXN0KCkKICAgICB7Ci0gICAgICAgIEVYUEVDVF9FUSgwLCBtX251bURyYXdzKTsKICAgICAgICAg
RVhQRUNUX0VRKDEsIG1fbnVtQ29tbWl0cyk7CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>