<?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>138394</bug_id>
          
          <creation_ts>2014-11-04 18:04:41 -0800</creation_ts>
          <short_desc>[Mac] media/track/audio-track.html is flakey</short_desc>
          <delta_ts>2014-11-12 10:40:49 -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>Media</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1046327</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-04 18:04:41 -0800</bug_when>
    <thetext>[Mac] media/track/audio-track.html is flakey</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046409</commentid>
    <comment_count>1</comment_count>
      <attachid>241010</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 01:10:07 -0800</bug_when>
    <thetext>Created attachment 241010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046505</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-11-05 09:42:18 -0800</bug_when>
    <thetext>Anders, is there an existing message queue class that should be used instead? I feel like we have too many. MessageQueue? Document::postTask?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046519</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 10:24:27 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Anders, is there an existing message queue class that should be used
&gt; instead? I feel like we have too many. MessageQueue?

MessageQueue isn&apos;t really for Events, but more for cross-thread messaging.

&gt; Document::postTask?

I don&apos;t think we should re-use Document::postTask() for this. It does not guarantee ordering across ScriptExecutionContexts.

Ideally, Sam&apos;s work to add official task queues &lt;http://www.w3.org/TR/html5/webappapis.html#task-queue&gt; would add a specific Event task queue, which would replace GenericEventQueue, and would be tied to a Browsing Context.

I can add a FIXME to this effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046522</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 10:26:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Ideally, Sam&apos;s work to add official task queues
&gt; &lt;http://www.w3.org/TR/html5/webappapis.html#task-queue&gt; would add a specific
&gt; Event task queue, which would replace GenericEventQueue, and would be tied
&gt; to a Browsing Context.

In fact, GenericEventQueue could become the basis for the Event Task Queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046527</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-11-05 10:37:41 -0800</bug_when>
    <thetext>&gt; I don&apos;t think we should re-use Document::postTask() for this. It does not guarantee ordering across ScriptExecutionContexts.

This actually sounds like a good thing - documents are isolated, and adding a shared event queue would be a side channel for XSS. It obviously wouldn&apos;t be the biggest one, so it&apos;s not a show stopper in any way, however it surprises me if that&apos;s a desirable behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046535</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 10:47:45 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; I don&apos;t think we should re-use Document::postTask() for this. It does not guarantee ordering across ScriptExecutionContexts.
&gt; 
&gt; This actually sounds like a good thing - documents are isolated, and adding
&gt; a shared event queue would be a side channel for XSS. It obviously wouldn&apos;t
&gt; be the biggest one, so it&apos;s not a show stopper in any way, however it
&gt; surprises me if that&apos;s a desirable behavior.

Hm, maybe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046537</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 10:51:17 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; &gt; I don&apos;t think we should re-use Document::postTask() for this. It does not guarantee ordering across ScriptExecutionContexts.
&gt; &gt; 
&gt; &gt; This actually sounds like a good thing - documents are isolated, and adding
&gt; &gt; a shared event queue would be a side channel for XSS. It obviously wouldn&apos;t
&gt; &gt; be the biggest one, so it&apos;s not a show stopper in any way, however it
&gt; &gt; surprises me if that&apos;s a desirable behavior.
&gt; 
&gt; Hm, maybe.

Actually, the spec specifies a minimum of one event loop (and Event task queue) per User Agent, and _allows_ for one event loop per Browsing Context, but does not require it.

So it may be a good idea to segregate event loops on a Browsing Context (i.e. Document) basis, it&apos;s not necessary according to the spec.

&lt;http://www.w3.org/TR/html5/webappapis.html#event-loops&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046546</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-05 11:20:50 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; I don&apos;t think we should re-use Document::postTask() for this. It does not guarantee ordering across ScriptExecutionContexts.
&gt; &gt; &gt; 
&gt; &gt; &gt; This actually sounds like a good thing - documents are isolated, and adding
&gt; &gt; &gt; a shared event queue would be a side channel for XSS. It obviously wouldn&apos;t
&gt; &gt; &gt; be the biggest one, so it&apos;s not a show stopper in any way, however it
&gt; &gt; &gt; surprises me if that&apos;s a desirable behavior.
&gt; &gt; 
&gt; &gt; Hm, maybe.
&gt; 
&gt; Actually, the spec specifies a minimum of one event loop (and Event task
&gt; queue) per User Agent, and _allows_ for one event loop per Browsing Context,
&gt; but does not require it.
&gt; 
&gt; So it may be a good idea to segregate event loops on a Browsing Context
&gt; (i.e. Document) basis, it&apos;s not necessary according to the spec.
&gt; 
&gt; &lt;http://www.w3.org/TR/html5/webappapis.html#event-loops&gt;

And, under a close reading of the spec, at a minimum Events must be dispatched in enqueued order across same-origin Browsing Contexts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047640</commentid>
    <comment_count>9</comment_count>
      <attachid>241308</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-10 14:44:48 -0800</bug_when>
    <thetext>Created attachment 241308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048182</commentid>
    <comment_count>10</comment_count>
      <attachid>241308</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-11-12 10:10:38 -0800</bug_when>
    <thetext>Comment on attachment 241308
Patch

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

&gt; Source/WebCore/dom/GenericEventQueue.cpp:33
&gt; +#include &lt;wtf/text/CString.h&gt;

Is this include needed?

&gt; Source/WebCore/dom/GenericEventQueue.cpp:66
&gt; +    static NeverDestroyed&lt;Timer&gt; timer(GenericEventQueue::sharedTimerFired);

Please add an ASSERT(isMainThread()) here. The last thing we need is for this to get used from a secondary thread.

&gt; Source/WebCore/dom/GenericEventQueue.cpp:88
&gt; +    static NeverDestroyed&lt;Deque&lt;WeakPtr&lt;GenericEventQueue&gt;&gt;&gt; queues;

Please add an ASSERT(isMainThread()) here, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048189</commentid>
    <comment_count>11</comment_count>
      <attachid>241308</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-12 10:36:25 -0800</bug_when>
    <thetext>Comment on attachment 241308
Patch

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

&gt;&gt; Source/WebCore/dom/GenericEventQueue.cpp:33
&gt;&gt; +#include &lt;wtf/text/CString.h&gt;
&gt; 
&gt; Is this include needed?

No, it&apos;s not. I had logging in this file previously, but removed it before uploading. I&apos;ll remove this include as well.

&gt;&gt; Source/WebCore/dom/GenericEventQueue.cpp:66
&gt;&gt; +    static NeverDestroyed&lt;Timer&gt; timer(GenericEventQueue::sharedTimerFired);
&gt; 
&gt; Please add an ASSERT(isMainThread()) here. The last thing we need is for this to get used from a secondary thread.

Ok.

&gt;&gt; Source/WebCore/dom/GenericEventQueue.cpp:88
&gt;&gt; +    static NeverDestroyed&lt;Deque&lt;WeakPtr&lt;GenericEventQueue&gt;&gt;&gt; queues;
&gt; 
&gt; Please add an ASSERT(isMainThread()) here, too.

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048191</commentid>
    <comment_count>12</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-12 10:40:49 -0800</bug_when>
    <thetext>Committed r176024: &lt;http://trac.webkit.org/changeset/176024&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241010</attachid>
            <date>2014-11-05 01:10:07 -0800</date>
            <delta_ts>2014-11-10 14:44:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138394-20141105011017.patch</filename>
            <type>text/plain</type>
            <size>7919</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE0NTI5YjZlZjE2YTM0
NTg5YjgyMDQxODQ5M2ViOTFhZTQ0MWRiOS4uMWNhYmNjMmQwMjg3MGMzYTY3MDBhYjg4NTlkNTc5
YmJiZWViOGY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTExLTA1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIG1lZGlhL3RyYWNr
L2F1ZGlvLXRyYWNrLmh0bWwgaXMgZmxha2V5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgzOTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgYWJvdmUgdGVzdCBmYWlscyBpZiB0aGUgSFRNTE1lZGlh
RWxlbWVudCdzICJjYW5wbGF5dGhyb3VnaCIgZXZlbnQgZmlyZXMgYmVmb3JlIHRoZSBBdWRpb1Ry
YWNrTGlzdCdzCisgICAgICAgICJhZGR0cmFjayIgZXZlbnQgZmlyZXMuIFRoaXMgY2FuIGhhcHBl
biBiZWNhdXNlIGVhY2ggb2JqZWN0IGtlZXBzIGl0cyBvd24gR2VuZXJpY0V2ZW50UXVldWUsIHdo
aWNoCisgICAgICAgIGVtcHRpZXMgd2hlbiB0aGF0IGluZGl2aWR1YWwgcXVldWUncyB0aW1lciBm
aXJlcy4gU28gZXZlbnRzIGNhbiBiZSBlbnF1ZXVlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgor
ICAgICAgICAxLCBBLCAyLCBCLCAzLCBDOyBidXQgZmlyZWQgaW4gYSBkaWZmZXJlbnQgb3JkZXI6
IDEsIDIsIDMsIEEsIEIsIEMuCisKKyAgICAgICAgTWFrZSBldmVudHMgZW5xdWV1ZWQgaW4gR2Vu
ZXJpY0V2ZW50UXVldWVzIGdsb2JhbGx5IG9yZGVyZWQsIHNvIHRoYXQgZXZlbnRzIGFyZSBmaXJl
ZCBpbiB0aGUgb3JkZXIKKyAgICAgICAgd2hpY2ggdGhleSBhcmUgZW5xdWV1ZWQsIHJlZ2FyZGxl
c3Mgb2Ygd2hpY2ggb2JqZWN0IG93bnMgdGhlIHF1ZXVlLiBVc2UgYSBNZXRhUXVldWUgKGEgcXVl
dWUgb2YKKyAgICAgICAgR2VuZXJpY0V2ZW50UXVldWVzKSB0byBtYW5hZ2Ugd2hpY2ggR2VuZXJp
Y0V2ZW50UXVldWUgZmlyZXMgYW5kIGluIHdoYXQgb3JkZXIuCisKKyAgICAgICAgR2VuZXJpY0V2
ZW50UXVldWVzIHdpbGwgdXNlIGEgV2Vha1B0ckZhY3RvcnkgdG8gY2FuY2VsIHBlbmRpbmcgZXZl
bnRzLiBSZXZva2luZyBhIEdlbmVyaWNFdmVudFF1ZXVlJ3MKKyAgICAgICAgd2VhayBwb2ludGVy
cyBtZWFucyB0aG9zZSBxdWV1ZSdzIGVudHJpZXMgd2lsbCBiZSBza2lwcGVkIHRoZSBuZXh0IHRp
bWUgdGhlIE1ldGFRdWV1ZSBpcyBwcm9jZXNzZWQuCisKKyAgICAgICAgKiBkb20vR2VuZXJpY0V2
ZW50UXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWV0YVF1ZXVlOjpNZXRhUXVldWUpOiBT
aW1wbGUgY29uc3RydWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpNZXRhUXVldWU6OnNoYXJlZCk6
IFNpbXBsZSBzdGF0aWMgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNZXRhUXVldWU6OmVu
cXVldWVRdWV1ZSk6IEFkZCB0aGUgcXVldWUsIGFuZCBzdGFydCB0aGUgdGltZXIuCisgICAgICAg
IChXZWJDb3JlOjpNZXRhUXVldWU6OnRpbWVyRmlyZWQpOiBBc2sgZWFjaCBxdWV1ZSB0byBkaXNw
YXRjaCBvbmUgZXZlbnQuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljRXZlbnRRdWV1ZTo6R2Vu
ZXJpY0V2ZW50UXVldWUpOiBDcmVhdGUgYSBXZWFrUHRyRmFjdG9yeSBpbnN0ZWFkIG9mIGEgVGlt
ZXIuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KTog
RW5xdWV1ZSB0aGlzIHF1ZXVlIHdpdGggdGhlIE1ldGFRdWV1ZS4KKyAgICAgICAgKFdlYkNvcmU6
OkdlbmVyaWNFdmVudFF1ZXVlOjpkaXNwYXRjaE9uZUV2ZW50KTogUmVuYW1lZCBmcm9tIHRpbWVy
RmlyZWQuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljRXZlbnRRdWV1ZTo6Y2xvc2UpOiBSZXZv
a2UgYWxsIFdlYWtQdHJzLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVldWU6OmNh
bmNlbEFsbEV2ZW50cyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVl
dWU6Omhhc1BlbmRpbmdFdmVudHMpOiBVc2UgIWlzRW1wdHkoKS4KKyAgICAgICAgKFdlYkNvcmU6
OkdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20v
R2VuZXJpY0V2ZW50UXVldWUuaDoKKwogMjAxNC0xMS0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNzQ4MjMpOiBTZXZlcmFsIHRlc3Rz
IGZhaWwgZHVlIHRvIGNhbnBsYXl0aHJvdWdoIGZpcmluZyBiZWZvcmUgdHJhY2tzIGFyZSBhdmFp
bGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCmluZGV4IGNmNjc4
MWQ2YWUzZjkzNmM0ZDNkYzJkYTg3MWFlNGFkYWU2NzYxZGUuLjdhZTcyMjdiNDA5MGMxM2VhZmYz
MzEwY2FhMWJmYThhYzMzYTk3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5l
cmljRXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1
ZXVlLmNwcApAQCAtMjgsMTIgKzI4LDYzIEBACiAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgTWV0YVF1ZXVlIHsKK3B1YmxpYzoKKyAgICBNZXRhUXVldWUo
KTsKKyAgICBzdGF0aWMgTWV0YVF1ZXVlJiBzaGFyZWQoKTsKKyAgICB2b2lkIGVucXVldWVRdWV1
ZShXZWFrUHRyPEdlbmVyaWNFdmVudFF1ZXVlPiYmKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHRp
bWVyRmlyZWQoVGltZXI8TWV0YVF1ZXVlPiYpOworCisgICAgVGltZXI8TWV0YVF1ZXVlPiBtX3Rp
bWVyOworICAgIERlcXVlPFdlYWtQdHI8R2VuZXJpY0V2ZW50UXVldWU+PiBtX3BlbmRpbmdRdWV1
ZXM7Cit9OworCitNZXRhUXVldWU6Ok1ldGFRdWV1ZSgpCisgICAgOiBtX3RpbWVyKHRoaXMsICZN
ZXRhUXVldWU6OnRpbWVyRmlyZWQpCit7Cit9CisKK01ldGFRdWV1ZSYgTWV0YVF1ZXVlOjpzaGFy
ZWQoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxNZXRhUXVldWU+IHF1ZXVlOworICAg
IHJldHVybiBxdWV1ZTsKK30KKwordm9pZCBNZXRhUXVldWU6OmVucXVldWVRdWV1ZShXZWFrUHRy
PFdlYkNvcmU6OkdlbmVyaWNFdmVudFF1ZXVlPiYmIHF1ZXVlKQoreworICAgIG1fcGVuZGluZ1F1
ZXVlcy5hcHBlbmQocXVldWUpOworCisgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworfQorCit2b2lkIE1ldGFRdWV1ZTo6dGltZXJG
aXJlZChUaW1lcjxNZXRhUXVldWU+JikKK3sKKyAgICBBU1NFUlQoIW1fdGltZXIuaXNBY3RpdmUo
KSk7CisgICAgQVNTRVJUKCFtX3BlbmRpbmdRdWV1ZXMuaXNFbXB0eSgpKTsKKworICAgIHdoaWxl
ICghbV9wZW5kaW5nUXVldWVzLmlzRW1wdHkoKSkgeworICAgICAgICBXZWFrUHRyPEdlbmVyaWNF
dmVudFF1ZXVlPiBxdWV1ZSA9IG1fcGVuZGluZ1F1ZXVlcy50YWtlRmlyc3QoKTsKKyAgICAgICAg
aWYgKCFxdWV1ZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBxdWV1ZS0+ZGlzcGF0
Y2hPbmVFdmVudCgpOworICAgIH0KKworICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fdGltZXIuc3RvcCgpOworfQorCiBHZW5lcmljRXZlbnRRdWV1ZTo6R2VuZXJpY0V2ZW50
UXVldWUoRXZlbnRUYXJnZXQmIG93bmVyKQogICAgIDogbV9vd25lcihvd25lcikKLSAgICAsIG1f
dGltZXIodGhpcywgJkdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKQorICAgICwgbV93ZWFr
UHRyRmFjdG9yeSh0aGlzKQogICAgICwgbV9pc0Nsb3NlZChmYWxzZSkKIHsKIH0KQEAgLTUxLDQ1
ICsxMDIsMzggQEAgYm9vbCBHZW5lcmljRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQ
dHI8RXZlbnQ+IGV2ZW50KQogICAgICAgICBldmVudC0+c2V0VGFyZ2V0KDApOwogCiAgICAgbV9w
ZW5kaW5nRXZlbnRzLmFwcGVuZChldmVudCk7Ci0KLSAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgTWV0YVF1ZXVlOjpzaGFy
ZWQoKS5lbnF1ZXVlUXVldWUobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgR2VuZXJpY0V2ZW50UXVldWU6OnRpbWVyRmlyZWQo
VGltZXI8R2VuZXJpY0V2ZW50UXVldWU+JikKK3ZvaWQgR2VuZXJpY0V2ZW50UXVldWU6OmRpc3Bh
dGNoT25lRXZlbnQoKQogewotICAgIEFTU0VSVCghbV90aW1lci5pc0FjdGl2ZSgpKTsKICAgICBB
U1NFUlQoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkpOwogCi0gICAgVmVjdG9yPFJlZlB0cjxF
dmVudD4+IHBlbmRpbmdFdmVudHM7Ci0gICAgbV9wZW5kaW5nRXZlbnRzLnN3YXAocGVuZGluZ0V2
ZW50cyk7Ci0KICAgICBSZWY8RXZlbnRUYXJnZXQ+IHByb3RlY3QobV9vd25lcik7Ci0gICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHBlbmRpbmdFdmVudHMuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgRXZlbnRUYXJnZXQmIHRhcmdldCA9IHBlbmRpbmdFdmVudHNbaV0tPnRhcmdldCgpID8gKnBl
bmRpbmdFdmVudHNbaV0tPnRhcmdldCgpIDogbV9vd25lcjsKLSAgICAgICAgdGFyZ2V0LmRpc3Bh
dGNoRXZlbnQocGVuZGluZ0V2ZW50c1tpXS5yZWxlYXNlKCkpOwotICAgIH0KKyAgICBSZWZQdHI8
RXZlbnQ+IGV2ZW50ID0gbV9wZW5kaW5nRXZlbnRzLnRha2VGaXJzdCgpOworICAgIEV2ZW50VGFy
Z2V0JiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCkgPyAqZXZlbnQtPnRhcmdldCgpIDogbV9vd25l
cjsKKyAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChldmVudC5yZWxlYXNlKCkpOwogfQogCiB2b2lk
IEdlbmVyaWNFdmVudFF1ZXVlOjpjbG9zZSgpCiB7CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7CiAK
LSAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICBtX3dlYWtQdHJGYWN0b3J5LnJldm9rZUFsbCgpOwog
ICAgIG1fcGVuZGluZ0V2ZW50cy5jbGVhcigpOwogfQogCiB2b2lkIEdlbmVyaWNFdmVudFF1ZXVl
OjpjYW5jZWxBbGxFdmVudHMoKQogewotICAgIG1fdGltZXIuc3RvcCgpOworICAgIG1fd2Vha1B0
ckZhY3RvcnkucmV2b2tlQWxsKCk7CiAgICAgbV9wZW5kaW5nRXZlbnRzLmNsZWFyKCk7CiB9CiAK
IGJvb2wgR2VuZXJpY0V2ZW50UXVldWU6Omhhc1BlbmRpbmdFdmVudHMoKSBjb25zdAogewotICAg
IHJldHVybiBtX3BlbmRpbmdFdmVudHMuc2l6ZSgpOworICAgIHJldHVybiAhbV9wZW5kaW5nRXZl
bnRzLmlzRW1wdHkoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dl
bmVyaWNFdmVudFF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUu
aAppbmRleCA5ZmMyMDY2ZDM3YTJlNDIzNTQwNDVlNWNiYWQzODE3YTkwZWU1MTIwLi5lYzRjMGNk
MWE5MTFhZGRhY2IwMjZlNmJjMTQyNTBkZDJlMWE3ZTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2Vu
ZXJpY0V2ZW50UXVldWUuaApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaWZuZGVmIEdlbmVyaWNFdmVu
dFF1ZXVlX2gKICNkZWZpbmUgR2VuZXJpY0V2ZW50UXVldWVfaAogCi0jaW5jbHVkZSAiVGltZXIu
aCIKKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCwxMSArNDgsMTIg
QEAgcHVibGljOgogICAgIGJvb2wgaGFzUGVuZGluZ0V2ZW50cygpIGNvbnN0OwogCiBwcml2YXRl
OgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxHZW5lcmljRXZlbnRRdWV1ZT4mKTsKKyAgICBm
cmllbmQgY2xhc3MgTWV0YVF1ZXVlOworICAgIHZvaWQgZGlzcGF0Y2hPbmVFdmVudCgpOwogCiAg
ICAgRXZlbnRUYXJnZXQmIG1fb3duZXI7Ci0gICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fcGVu
ZGluZ0V2ZW50czsKLSAgICBUaW1lcjxHZW5lcmljRXZlbnRRdWV1ZT4gbV90aW1lcjsKKyAgICBE
ZXF1ZTxSZWZQdHI8RXZlbnQ+PiBtX3BlbmRpbmdFdmVudHM7CisgICAgV2Vha1B0ckZhY3Rvcnk8
R2VuZXJpY0V2ZW50UXVldWU+IG1fd2Vha1B0ckZhY3Rvcnk7CiAgICAgYm9vbCBtX2lzQ2xvc2Vk
OwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGI1MGE2NzJlYzEzOTRlMGZiMDg3YzdhMzc1MDYwMWQ4NjMxNDRhZjcu
LjNkNWJkZWU0NjcxZDM4ZDMzZjdiZjg3ZmU5NzlhNjg0NmEyODI0MzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNCBAQAogMjAxNC0xMS0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAor
ICAgICAgICBbTWFjXSBtZWRpYS90cmFjay9hdWRpby10cmFjay5odG1sIGlzIGZsYWtleQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4Mzk0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9uczoKKworMjAxNC0xMS0wNCAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OKHIxNzQ4MjMpOiBTZXZlcmFsIHRlc3Rz
IGZhaWwgZHVlIHRvIGNhbnBsYXl0aHJvdWdoIGZpcmluZyBiZWZvcmUgdHJhY2tzIGFyZSBhdmFp
bGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
Nzg4MgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg1
YzU3NTcyNzZjODhiY2I5M2FiMzQ5NGRlYjU1MTU3OWJjMGZmNzMuLjkzYTgyZTM0Njg4ZDIyMmIy
ODE0MDBjMzRmMmRkZGVmYWRiMWFkOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xNDk5LDUgKzE0OTksMyBAQCB3ZWJraXQub3JnL2IvMTM2MTA5IFsg
WW9zZW1pdGUgXSBmYXN0L211bHRpY29sL21peGVkLW9wYWNpdHktZml4ZWQtdGVzdC5odG1sICBb
CiBbIFlvc2VtaXRlIF0gaW5zcGVjdG9yL2V2ZW50LWxpc3RlbmVyLmh0bWwgWyBGYWlsdXJlIENy
YXNoIF0KIFsgWW9zZW1pdGUgXSBpbnNwZWN0b3IvbW9kZWwvcGFyc2Utc2NyaXB0LXN5bnRheC10
cmVlLmh0bWwgWyBGYWlsdXJlIENyYXNoIF0KIFsgWW9zZW1pdGUgXSBpbnNwZWN0b3IvcHJvdG9j
b2wtcHJvbWlzZS1yZXN1bHQuaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggXQotCi13ZWJraXQub3JnL2Iv
MTM3ODgyIG1lZGlhL3RyYWNrL2F1ZGlvLXRyYWNrLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241308</attachid>
            <date>2014-11-10 14:44:48 -0800</date>
            <delta_ts>2014-11-12 10:10:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138394-20141110144450.patch</filename>
            <type>text/plain</type>
            <size>7855</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJlNTA4NDY3N2VkM2Jm
YThiZjJkNDkwYWU3OWQ5ZTExODIyNmQ5Zi4uMzFkNzJlNjBkNDhhNjRhMjdkZjk1YzZhYjMxMGNm
ZGIxYzQ5YTI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE0LTExLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIG1lZGlhL3RyYWNr
L2F1ZGlvLXRyYWNrLmh0bWwgaXMgZmxha2V5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgzOTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgYWJvdmUgdGVzdCBmYWlscyBpZiB0aGUgSFRNTE1lZGlh
RWxlbWVudCdzICJjYW5wbGF5dGhyb3VnaCIgZXZlbnQgZmlyZXMgYmVmb3JlIHRoZSBBdWRpb1Ry
YWNrTGlzdCdzCisgICAgICAgICJhZGR0cmFjayIgZXZlbnQgZmlyZXMuIFRoaXMgY2FuIGhhcHBl
biBiZWNhdXNlIGVhY2ggb2JqZWN0IGtlZXBzIGl0cyBvd24gR2VuZXJpY0V2ZW50UXVldWUsIHdo
aWNoCisgICAgICAgIGVtcHRpZXMgd2hlbiB0aGF0IGluZGl2aWR1YWwgcXVldWUncyB0aW1lciBm
aXJlcy4gU28gZXZlbnRzIGNhbiBiZSBlbnF1ZXVlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgor
ICAgICAgICAxLCBBLCAyLCBCLCAzLCBDOyBidXQgZmlyZWQgaW4gYSBkaWZmZXJlbnQgb3JkZXI6
IDEsIDIsIDMsIEEsIEIsIEMuCisKKyAgICAgICAgTWFrZSBldmVudHMgZW5xdWV1ZWQgaW4gR2Vu
ZXJpY0V2ZW50UXVldWVzIGdsb2JhbGx5IG9yZGVyZWQsIHNvIHRoYXQgZXZlbnRzIGFyZSBmaXJl
ZCBpbiB0aGUgb3JkZXIKKyAgICAgICAgd2hpY2ggdGhleSBhcmUgZW5xdWV1ZWQsIHJlZ2FyZGxl
c3Mgb2Ygd2hpY2ggb2JqZWN0IG93bnMgdGhlIHF1ZXVlLiBVc2UgYSBzdGF0aWMgcXVldWUgb2YK
KyAgICAgICAgR2VuZXJpY0V2ZW50UXVldWVzIHRvIG1hbmFnZSB3aGljaCBHZW5lcmljRXZlbnRR
dWV1ZSBmaXJlcyBhbmQgaW4gd2hhdCBvcmRlci4KKworICAgICAgICBHZW5lcmljRXZlbnRRdWV1
ZXMgd2lsbCB1c2UgYSBXZWFrUHRyRmFjdG9yeSB0byBjYW5jZWwgcGVuZGluZyBldmVudHMuIFJl
dm9raW5nIGEgR2VuZXJpY0V2ZW50UXVldWUncworICAgICAgICB3ZWFrIHBvaW50ZXJzIG1lYW5z
IHRob3NlIHF1ZXVlJ3MgZW50cmllcyB3aWxsIGJlIHNraXBwZWQgdGhlIG5leHQgdGltZSB0aGUg
bWV0YS1xdWV1ZSBpcyBwcm9jZXNzZWQuCisKKyAgICAgICAgKiBkb20vR2VuZXJpY0V2ZW50UXVl
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVldWU6OkdlbmVyaWNFdmVu
dFF1ZXVlKTogQ3JlYXRlIGEgV2Vha1B0ckZhY3RvcnkgaW5zdGVhZCBvZiBhIFRpbWVyLgorICAg
ICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVldWU6OmVucXVldWVFdmVudCk6IEVucXVldWUg
dGhpcyBxdWV1ZSB3aXRoIHRoZSBNZXRhUXVldWUuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmlj
RXZlbnRRdWV1ZTo6c2hhcmVkVGltZXIpOiBMYXppbHktaW5pdGlhbGl6aW5nIGFjY2Vzc29yLgor
ICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVldWU6OnNoYXJlZFRpbWVyRmlyZWQpOiAg
QXNrIGVhY2ggcXVldWUgdG8gZGlzcGF0Y2ggb25lIGV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6
R2VuZXJpY0V2ZW50UXVldWU6OnBlbmRpbmdRdWV1ZXMpOiBMYXppbHktaW5pdGlhbGl6aW5nIGFj
Y2Vzc29yLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVldWU6OmRpc3BhdGNoT25l
RXZlbnQpOiBSZW5hbWVkIGZyb20gdGltZXJGaXJlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVy
aWNFdmVudFF1ZXVlOjpjbG9zZSk6IFJldm9rZSBhbGwgV2Vha1B0cnMuCisgICAgICAgIChXZWJD
b3JlOjpHZW5lcmljRXZlbnRRdWV1ZTo6Y2FuY2VsQWxsRXZlbnRzKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpHZW5lcmljRXZlbnRRdWV1ZTo6aGFzUGVuZGluZ0V2ZW50cyk6IFVzZSAhaXNF
bXB0eSgpLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVldWU6OnRpbWVyRmlyZWQp
OiBEZWxldGVkLgorICAgICAgICAqIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5oOgorCiAyMDE0LTEx
LTA0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjE3NDgyMyk6IFNldmVyYWwgdGVzdHMgZmFpbCBkdWUgdG8gY2FucGxheXRocm91Z2ggZmly
aW5nIGJlZm9yZSB0cmFja3MgYXJlIGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5jcHAKaW5kZXggYjcyZjdlN2ExY2U2ZTgzMWM2MWUzNTk1MTI1YWQxYTJiZmUx
MmJjNS4uODJmY2RiYmQ1ZTQyYzMxMWIxZmMwOTQxMDg4OTBhZDJmNjEwZWNiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCkBAIC0yOCwxMiArMjgsMTUgQEAKIAog
I2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJU
aW1lci5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHZW5lcmljRXZlbnRRdWV1
ZTo6R2VuZXJpY0V2ZW50UXVldWUoRXZlbnRUYXJnZXQmIG93bmVyKQogICAgIDogbV9vd25lcihv
d25lcikKLSAgICAsIG1fdGltZXIodGhpcywgJkdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVk
KQorICAgICwgbV93ZWFrUHRyRmFjdG9yeSh0aGlzKQogICAgICwgbV9pc0Nsb3NlZChmYWxzZSkK
IHsKIH0KQEAgLTUxLDQ1ICs1NCw2OCBAQCBib29sIEdlbmVyaWNFdmVudFF1ZXVlOjplbnF1ZXVl
RXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCiAgICAgICAgIGV2ZW50LT5zZXRUYXJnZXQo
MCk7CiAKICAgICBtX3BlbmRpbmdFdmVudHMuYXBwZW5kKGV2ZW50KTsKLQotICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBw
ZW5kaW5nUXVldWVzKCkuYXBwZW5kKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKTsK
KyAgICBpZiAoIXNoYXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkKKyAgICAgICAgc2hhcmVkVGltZXIo
KS5zdGFydE9uZVNob3QoMCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBHZW5lcmlj
RXZlbnRRdWV1ZTo6dGltZXJGaXJlZChUaW1lciYpCitUaW1lciYgR2VuZXJpY0V2ZW50UXVldWU6
OnNoYXJlZFRpbWVyKCkKIHsKLSAgICBBU1NFUlQoIW1fdGltZXIuaXNBY3RpdmUoKSk7Ci0gICAg
QVNTRVJUKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8VGltZXI+IHRpbWVyKEdlbmVyaWNFdmVudFF1ZXVlOjpzaGFyZWRUaW1lckZpcmVkKTsK
KyAgICByZXR1cm4gdGltZXIuZ2V0KCk7Cit9CisKK3ZvaWQgR2VuZXJpY0V2ZW50UXVldWU6OnNo
YXJlZFRpbWVyRmlyZWQoKQoreworICAgIEFTU0VSVCghc2hhcmVkVGltZXIoKS5pc0FjdGl2ZSgp
KTsKKyAgICBBU1NFUlQoIXBlbmRpbmdRdWV1ZXMoKS5pc0VtcHR5KCkpOworCisgICAgd2hpbGUg
KCFwZW5kaW5nUXVldWVzKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIFdlYWtQdHI8R2VuZXJpY0V2
ZW50UXVldWU+IHF1ZXVlID0gcGVuZGluZ1F1ZXVlcygpLnRha2VGaXJzdCgpOworICAgICAgICBp
ZiAoIXF1ZXVlKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHF1ZXVlLT5kaXNwYXRj
aE9uZUV2ZW50KCk7CisgICAgfQorCisgICAgaWYgKHNoYXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkK
KyAgICAgICAgc2hhcmVkVGltZXIoKS5zdG9wKCk7Cit9CiAKLSAgICBWZWN0b3I8UmVmUHRyPEV2
ZW50Pj4gcGVuZGluZ0V2ZW50czsKLSAgICBtX3BlbmRpbmdFdmVudHMuc3dhcChwZW5kaW5nRXZl
bnRzKTsKK0RlcXVlPFdlYWtQdHI8R2VuZXJpY0V2ZW50UXVldWU+PiYgR2VuZXJpY0V2ZW50UXVl
dWU6OnBlbmRpbmdRdWV1ZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxEZXF1ZTxX
ZWFrUHRyPEdlbmVyaWNFdmVudFF1ZXVlPj4+IHF1ZXVlczsKKyAgICByZXR1cm4gcXVldWVzLmdl
dCgpOworfQorCit2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjpkaXNwYXRjaE9uZUV2ZW50KCkKK3sK
KyAgICBBU1NFUlQoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkpOwogCiAgICAgUmVmPEV2ZW50
VGFyZ2V0PiBwcm90ZWN0KG1fb3duZXIpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBw
ZW5kaW5nRXZlbnRzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIEV2ZW50VGFyZ2V0JiB0YXJnZXQg
PSBwZW5kaW5nRXZlbnRzW2ldLT50YXJnZXQoKSA/ICpwZW5kaW5nRXZlbnRzW2ldLT50YXJnZXQo
KSA6IG1fb3duZXI7Ci0gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KHBlbmRpbmdFdmVudHNb
aV0ucmVsZWFzZSgpKTsKLSAgICB9CisgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IG1fcGVuZGlu
Z0V2ZW50cy50YWtlRmlyc3QoKTsKKyAgICBFdmVudFRhcmdldCYgdGFyZ2V0ID0gZXZlbnQtPnRh
cmdldCgpID8gKmV2ZW50LT50YXJnZXQoKSA6IG1fb3duZXI7CisgICAgdGFyZ2V0LmRpc3BhdGNo
RXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKIH0KIAogdm9pZCBHZW5lcmljRXZlbnRRdWV1ZTo6Y2xv
c2UoKQogewogICAgIG1faXNDbG9zZWQgPSB0cnVlOwogCi0gICAgbV90aW1lci5zdG9wKCk7Cisg
ICAgbV93ZWFrUHRyRmFjdG9yeS5yZXZva2VBbGwoKTsKICAgICBtX3BlbmRpbmdFdmVudHMuY2xl
YXIoKTsKIH0KIAogdm9pZCBHZW5lcmljRXZlbnRRdWV1ZTo6Y2FuY2VsQWxsRXZlbnRzKCkKIHsK
LSAgICBtX3RpbWVyLnN0b3AoKTsKKyAgICBtX3dlYWtQdHJGYWN0b3J5LnJldm9rZUFsbCgpOwog
ICAgIG1fcGVuZGluZ0V2ZW50cy5jbGVhcigpOwogfQogCiBib29sIEdlbmVyaWNFdmVudFF1ZXVl
OjpoYXNQZW5kaW5nRXZlbnRzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wZW5kaW5nRXZlbnRz
LnNpemUoKTsKKyAgICByZXR1cm4gIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKaW5kZXggMzY1NTg5MDJhYjMwZWRl
MjdjZmU5ZTRjMGY3ZDgzZmQ2ODgxN2VhOC4uNmJhODZlMjI2MGFkYWQ4MTFjNzdlYTk5YWY2Mzdi
NDVmMDBkZmZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1
ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBHZW5lcmljRXZlbnRRdWV1ZV9oCiAjZGVmaW5lIEdlbmVy
aWNFdmVudFF1ZXVlX2gKIAotI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0RlcXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0j
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CiBjbGFzcyBFdmVudFRhcmdldDsKK2NsYXNz
IFRpbWVyOwogCiBjbGFzcyBHZW5lcmljRXZlbnRRdWV1ZSB7CiBwdWJsaWM6CkBAIC00OCwxMSAr
NDksMTUgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUGVuZGluZ0V2ZW50cygpIGNvbnN0OwogCiBw
cml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lciYpOworICAgIHN0YXRpYyBUaW1lciYg
c2hhcmVkVGltZXIoKTsKKyAgICBzdGF0aWMgdm9pZCBzaGFyZWRUaW1lckZpcmVkKCk7CisgICAg
c3RhdGljIERlcXVlPFdlYWtQdHI8R2VuZXJpY0V2ZW50UXVldWU+PiYgcGVuZGluZ1F1ZXVlcygp
OworCisgICAgdm9pZCBkaXNwYXRjaE9uZUV2ZW50KCk7CiAKICAgICBFdmVudFRhcmdldCYgbV9v
d25lcjsKLSAgICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gbV9wZW5kaW5nRXZlbnRzOwotICAgIFRp
bWVyIG1fdGltZXI7CisgICAgRGVxdWU8UmVmUHRyPEV2ZW50Pj4gbV9wZW5kaW5nRXZlbnRzOwor
ICAgIFdlYWtQdHJGYWN0b3J5PEdlbmVyaWNFdmVudFF1ZXVlPiBtX3dlYWtQdHJGYWN0b3J5Owog
ICAgIGJvb2wgbV9pc0Nsb3NlZDsKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMTA2ZmU5Yzc1OGUxZDU4NmEwMWM4
NGYwYmIzYjFhYzRhMTM1Nzc3Li5mMzAyOWUxNmNkZjFkY2ZkYTFhNmMxZmI0MTU3ZTE0ZGE3Mzcx
NzY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMTEtMTAgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gbWVkaWEvdHJhY2svYXVkaW8tdHJhY2su
aHRtbCBpcyBmbGFrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzODM5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTQtMTEtMDQgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTc0
ODIzKTogU2V2ZXJhbCB0ZXN0cyBmYWlsIGR1ZSB0byBjYW5wbGF5dGhyb3VnaCBmaXJpbmcgYmVm
b3JlIHRyYWNrcyBhcmUgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDg1MjVjY2Q2N2UzODBlODM2NDY1MzlkMDMzMGNmMjU3M2ViYWRlMDIu
LjdkOGFkN2EyMDg4NTQ5NDQwZGM5YTEwMzI5OTAzNzNjOGEyM2Q5MjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNTAyLDcgKzE1MDIsNSBAQCB3ZWJr
aXQub3JnL2IvMTM2MTA5IFsgWW9zZW1pdGUgXSBmYXN0L211bHRpY29sL21peGVkLW9wYWNpdHkt
Zml4ZWQtdGVzdC5odG1sICBbCiBbIFlvc2VtaXRlIF0gaW5zcGVjdG9yL21vZGVsL3BhcnNlLXNj
cmlwdC1zeW50YXgtdHJlZS5odG1sIFsgRmFpbHVyZSBDcmFzaCBdCiBbIFlvc2VtaXRlIF0gaW5z
cGVjdG9yL3Byb3RvY29sLXByb21pc2UtcmVzdWx0Lmh0bWwgWyBGYWlsdXJlIENyYXNoIF0KIAot
d2Via2l0Lm9yZy9iLzEzODM5NCBtZWRpYS90cmFjay9hdWRpby10cmFjay5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KLQogIyBTcGVjaWZpYyB0byBZb3NlbWl0ZSdzIGZvbnQgZmFsbGJhY2sKIHdlYmtp
dC5vcmcvYi8xMzgzMjggWyBNYXZlcmlja3MgTW91bnRhaW5MaW9uIF0gcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9mb250LWN1cnNpdmUtaXRhbGljLWNqay5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="review"
          id="266148"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>