<?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>195208</bug_id>
          
          <creation_ts>2019-03-01 06:54:35 -0800</creation_ts>
          <short_desc>[ThreadedCompositor] Simplify the compositing run loop worker thread</short_desc>
          <delta_ts>2019-03-04 05:58:19 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=186444</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>fujii</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1511390</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-03-01 06:54:35 -0800</bug_when>
    <thetext>We can remove the WorkQueuePool, since we never really supported more than one thread, and now that single process model non longer exists it doesn&apos;t even make sense. We can simply use a RunLoop instead of a WorkQueue so that the implementation is not specific to the generic WorkQueue implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511393</commentid>
    <comment_count>1</comment_count>
      <attachid>363328</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-03-01 06:57:44 -0800</bug_when>
    <thetext>Created attachment 363328
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511444</commentid>
    <comment_count>2</comment_count>
      <attachid>363328</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-01 10:08:05 -0800</bug_when>
    <thetext>Comment on attachment 363328
Patch

Clearing flags on attachment: 363328

Committed r242266: &lt;https://trac.webkit.org/changeset/242266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511445</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-01 10:08:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511446</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-01 10:09:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/48513504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511455</commentid>
    <comment_count>5</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2019-03-01 10:37:15 -0800</bug_when>
    <thetext>*** Bug 186444 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512058</commentid>
    <comment_count>6</comment_count>
      <attachid>363328</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-03 22:29:00 -0800</bug_when>
    <thetext>Comment on attachment 363328
Patch

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

&gt; Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:76
&gt; +    });

Why do you dispatch twice?
Can this code be simplified like the following?

    m_runLoop-&gt;dispatch([] {
        RunLoop::current().stop();
    });</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512096</commentid>
    <comment_count>7</comment_count>
      <attachid>363328</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-03-04 01:47:43 -0800</bug_when>
    <thetext>Comment on attachment 363328
Patch

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

&gt;&gt; Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:76
&gt;&gt; +    });
&gt; 
&gt; Why do you dispatch twice?
&gt; Can this code be simplified like the following?
&gt; 
&gt;     m_runLoop-&gt;dispatch([] {
&gt;         RunLoop::current().stop();
&gt;     });

No, we used to get a crash if the run loop was stopped before the timer was destroyed. So, we stop the run loop in the next main frame iteration. See bug #167545. Maybe it&apos;s no longer needed now that we don&apos;t use a WorkQueue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512135</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-04 05:58:19 -0800</bug_when>
    <thetext>It seems the original issue of Bug 167545 was a race condition of:
1. Main threaed is deleting the WorkQueue
2. The WorkQueue&apos;s thread is executing a task

I think my change (comment 6) works.
I&apos;m going to file a ticket for the change.

This code is causing a issue for WinCairo (Bug 186364 Comment 11).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363328</attachid>
            <date>2019-03-01 06:57:44 -0800</date>
            <delta_ts>2019-03-01 10:08:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-compositing-runloop.diff</filename>
            <type>text/plain</type>
            <size>7760</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZTY0MTFiYTE0YzYuLmQ4ZjMyNzZjMzJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDE5LTAzLTAxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbVGhyZWFkZWRDb21wb3NpdG9yXSBTaW1wbHkgdGhlIGNvbXBvc2l0
aW5nIHJ1biBsb29wIHdvcmtlciB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NTIwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlIGNhbiByZW1vdmUgdGhlIFdvcmtRdWV1ZVBvb2wsIHNpbmNl
IHdlIG5ldmVyIHJlYWxseSBzdXBwb3J0ZWQgbW9yZSB0aGFuIG9uZSB0aHJlYWQsIGFuZCBub3cg
dGhhdCBzaW5nbGUKKyAgICAgICAgcHJvY2VzcyBtb2RlbCBub24gbG9uZ2VyIGV4aXN0cyBpdCBk
b2Vzbid0IGV2ZW4gbWFrZSBzZW5zZS4gV2UgY2FuIHNpbXBseSB1c2UgYSBSdW5Mb29wIGluc3Rl
YWQgb2YgYSBXb3JrUXVldWUKKyAgICAgICAgc28gdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gaXMg
bm90IHNwZWNpZmljIHRvIHRoZSBnZW5lcmljIFdvcmtRdWV1ZSBpbXBsZW1lbnRhdGlvbi4KKwor
ICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9D
b21wb3NpdGluZ1J1bkxvb3AuY3BwOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVSdW5Mb29wKTog
SGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGUgUnVuTG9vcCBpbiBhIHdvcmtlciB0aHJlYWQg
YmVmb3JlIG1fdXBkYXRlVGltZXIgaXMgaW5pdGlhbGl6ZWQuCisgICAgICAgIChXZWJLaXQ6OkNv
bXBvc2l0aW5nUnVuTG9vcDo6Q29tcG9zaXRpbmdSdW5Mb29wKTogVXNlIGNyZWF0ZVJ1bkxvb3Ao
KS4KKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdSdW5Mb29wOjp+Q29tcG9zaXRpbmdSdW5M
b29wKTogU3RvcCB0aGUgd29ya2VyIHRocmVhZCBydW4gbG9vcCBpbiB0aGUgbmV4dCBtYWluIHJ1
biBsb29wIGl0ZXJhdGlvbi4KKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdSdW5Mb29wOjpw
ZXJmb3JtVGFzayk6IFVzZSBtX3J1bkxvb3AuCisgICAgICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5n
UnVuTG9vcDo6cGVyZm9ybVRhc2tTeW5jKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldvcmtR
dWV1ZVBvb2w6OnNpbmdsZXRvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldvcmtRdWV1
ZVBvb2w6OmRpc3BhdGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V29ya1F1ZXVlUG9v
bDo6cnVuTG9vcCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldvcmtRdWV1ZVBvb2w6Omlu
dmFsaWRhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXb3JrUXVldWVQb29sOjpXb3Jr
UXVldWVQb29sKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V29ya1F1ZXVlUG9vbDo6Z2V0
T3JDcmVhdGVXb3JrUXVldWVGb3JDb250ZXh0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERlbGV0
ZWQuCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5oOgorCiAyMDE5LTAyLTI4ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGlj
c10gVW5pZnkgRHJhd2luZ0FyZWEgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdS
dW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKaW5kZXggZGUwNDA1ZGRmMDku
LmI4ODJlMGIxZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKQEAgLTMwLDggKzMwLDggQEAKIAogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLSNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CisjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9y
ZS5oPgogCiAjaWYgVVNFKEdMSUJfRVZFTlRfTE9PUCkKICNpbmNsdWRlIDx3dGYvZ2xpYi9SdW5M
b29wU291cmNlUHJpb3JpdHkuaD4KQEAgLTM5LDc0ICszOSwyMyBAQAogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotY2xhc3MgV29ya1F1ZXVlUG9vbCB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V29ya1F1ZXVlUG9vbCk7Ci0gICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPFdvcmtRdWV1ZVBvb2w+
OwotcHVibGljOgotICAgIHN0YXRpYyBXb3JrUXVldWVQb29sJiBzaW5nbGV0b24oKQotICAgIHsK
LSAgICAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPFdvcmtRdWV1ZVBvb2w+IHdvcmtRdWV1ZVBvb2w7Ci0gICAgICAgIHJldHVybiB3
b3JrUXVldWVQb29sOwotICAgIH0KLQotICAgIHZvaWQgZGlzcGF0Y2godm9pZCogY29udGV4dCwg
RnVuY3Rpb248dm9pZCAoKT4mJiBmdW5jdGlvbikKLSAgICB7Ci0gICAgICAgIEFTU0VSVChSdW5M
b29wOjppc01haW4oKSk7Ci0gICAgICAgIGdldE9yQ3JlYXRlV29ya1F1ZXVlRm9yQ29udGV4dChj
b250ZXh0KS5kaXNwYXRjaChXVEZNb3ZlKGZ1bmN0aW9uKSk7Ci0gICAgfQotCi0gICAgUnVuTG9v
cCYgcnVuTG9vcCh2b2lkKiBjb250ZXh0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGdldE9yQ3Jl
YXRlV29ya1F1ZXVlRm9yQ29udGV4dChjb250ZXh0KS5ydW5Mb29wKCk7Ci0gICAgfQotCi0gICAg
dm9pZCBpbnZhbGlkYXRlKHZvaWQqIGNvbnRleHQpCi0gICAgewotICAgICAgICBhdXRvIHdvcmtR
dWV1ZSA9IG1fd29ya1F1ZXVlTWFwLnRha2UoY29udGV4dCk7Ci0gICAgICAgIEFTU0VSVCh3b3Jr
UXVldWUpOwotICAgICAgICBpZiAobV93b3JrUXVldWVNYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICBtX3NoYXJlZFdvcmtRdWV1ZSA9IG51bGxwdHI7Ci0gICAgICAgICAgICBtX3RocmVhZENv
dW50ID0gMDsKLSAgICAgICAgfSBlbHNlIGlmICh3b3JrUXVldWUtPmhhc09uZVJlZigpKQotICAg
ICAgICAgICAgbV90aHJlYWRDb3VudC0tOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBXb3JrUXVl
dWVQb29sKCkKLSAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgc2FuZSBkZWZhdWx0
IGxpbWl0LCBidXQgaXQgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZSBzb21laG93LgotICAgICAgICBt
X3RocmVhZENvdW50TGltaXQgPSAxOwotICAgIH0KLQotICAgIFdvcmtRdWV1ZSYgZ2V0T3JDcmVh
dGVXb3JrUXVldWVGb3JDb250ZXh0KHZvaWQqIGNvbnRleHQpCi0gICAgewotICAgICAgICBhdXRv
IGFkZFJlc3VsdCA9IG1fd29ya1F1ZXVlTWFwLmFkZChjb250ZXh0LCBudWxscHRyKTsKLSAgICAg
ICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogVGhp
cyBpcyBPSyBmb3Igbm93LCBhbmQgaXQgd29ya3MgZm9yIGEgc2luZ2xlLXRocmVhZCBsaW1pdC4g
QnV0IGZvciBjb25maWd1cmF0aW9ucyB3aGVyZSBtb3JlIChidXQgbm90IHVubGltaXRlZCkKLSAg
ICAgICAgICAgIC8vIHRocmVhZHMgY291bGQgYmUgdXNlZCwgb25lIG9wdGlvbiB3b3VsZCBiZSB0
byB1c2UgYSBIYXNoU2V0IGhlcmUgYW5kIGRpc3BlcnNlIHRoZSBjb250ZXh0cyBhY3Jvc3MgdGhl
IGF2YWlsYWJsZSB0aHJlYWRzLgotICAgICAgICAgICAgaWYgKG1fdGhyZWFkQ291bnQgPj0gbV90
aHJlYWRDb3VudExpbWl0KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKG1fc2hhcmVkV29ya1F1
ZXVlKTsKLSAgICAgICAgICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gbV9zaGFy
ZWRXb3JrUXVldWU7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGFkZFJl
c3VsdC5pdGVyYXRvci0+dmFsdWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgib3JnLndlYmtpdC5UaHJl
YWRlZENvbXBvc2l0b3JXb3JrUXVldWUiKTsKLSAgICAgICAgICAgICAgICBpZiAoIW1fdGhyZWFk
Q291bnQpCi0gICAgICAgICAgICAgICAgICAgIG1fc2hhcmVkV29ya1F1ZXVlID0gYWRkUmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZTsKLSAgICAgICAgICAgICAgICBtX3RocmVhZENvdW50Kys7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gKmFkZFJlc3VsdC5pdGVyYXRv
ci0+dmFsdWU7Ci0gICAgfQotCi0gICAgSGFzaE1hcDx2b2lkKiwgUmVmUHRyPFdvcmtRdWV1ZT4+
IG1fd29ya1F1ZXVlTWFwOwotICAgIFJlZlB0cjxXb3JrUXVldWU+IG1fc2hhcmVkV29ya1F1ZXVl
OwotICAgIHVuc2lnbmVkIG1fdGhyZWFkQ291bnQgeyAwIH07Ci0gICAgdW5zaWduZWQgbV90aHJl
YWRDb3VudExpbWl0OwotfTsKK3N0YXRpYyBSdW5Mb29wKiBjcmVhdGVSdW5Mb29wKCkKK3sKKyAg
ICBSdW5Mb29wKiBydW5Mb29wID0gbnVsbHB0cjsKKyAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBo
b3JlOworICAgIFRocmVhZDo6Y3JlYXRlKCJvcmcud2Via2l0LlRocmVhZGVkQ29tcG9zaXRvciIs
IFsmXSB7CisgICAgICAgIHJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgpOworICAgICAgICBz
ZW1hcGhvcmUuc2lnbmFsKCk7CisgICAgICAgIHJ1bkxvb3AtPnJ1bigpOworICAgIH0pLT5kZXRh
Y2goKTsKKyAgICBzZW1hcGhvcmUud2FpdCgpOworCisgICAgcmV0dXJuIHJ1bkxvb3A7Cit9CiAK
IENvbXBvc2l0aW5nUnVuTG9vcDo6Q29tcG9zaXRpbmdSdW5Mb29wKEZ1bmN0aW9uPHZvaWQgKCk+
JiYgdXBkYXRlRnVuY3Rpb24pCi0gICAgOiBtX3VwZGF0ZVRpbWVyKFdvcmtRdWV1ZVBvb2w6OnNp
bmdsZXRvbigpLnJ1bkxvb3AodGhpcyksIHRoaXMsICZDb21wb3NpdGluZ1J1bkxvb3A6OnVwZGF0
ZVRpbWVyRmlyZWQpCisgICAgOiBtX3J1bkxvb3AoY3JlYXRlUnVuTG9vcCgpKQorICAgICwgbV91
cGRhdGVUaW1lcigqbV9ydW5Mb29wLCB0aGlzLCAmQ29tcG9zaXRpbmdSdW5Mb29wOjp1cGRhdGVU
aW1lckZpcmVkKQogICAgICwgbV91cGRhdGVGdW5jdGlvbihXVEZNb3ZlKHVwZGF0ZUZ1bmN0aW9u
KSkKIHsKICNpZiBVU0UoR0xJQl9FVkVOVF9MT09QKQpAQCAtMTE4LDIzICs2NywyNiBAQCBDb21w
b3NpdGluZ1J1bkxvb3A6OkNvbXBvc2l0aW5nUnVuTG9vcChGdW5jdGlvbjx2b2lkICgpPiYmIHVw
ZGF0ZUZ1bmN0aW9uKQogQ29tcG9zaXRpbmdSdW5Mb29wOjp+Q29tcG9zaXRpbmdSdW5Mb29wKCkK
IHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIC8vIE1ha2Ugc3VyZSB0aGUg
V29ya1F1ZXVlIGlzIGRlbGV0ZWQgYWZ0ZXIgdGhlIENvbXBvc2l0aW5nUnVuTG9vcCwgYmVjYXVz
ZSBtX3VwZGF0ZVRpbWVyIGhhcyBhIHJlZmVyZW5jZQotICAgIC8vIG9mIHRoZSBXb3JrUXVldWUg
cnVuIGxvb3AuIFBhc3NpbmcgdGhpcyBpcyBub3QgYSBwcm9ibGVtIGJlY2F1c2UgdGhlIHBvaW50
ZXIgd2lsbCBvbmx5IGJlIHVzZWQgYXMgYQotICAgIC8vIEhhc2hNYXAga2V5IGJ5IFdvcmtRdWV1
ZVBvb2wuCi0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb250ZXh0ID0gdGhpc10geyBX
b3JrUXVldWVQb29sOjpzaW5nbGV0b24oKS5pbnZhbGlkYXRlKGNvbnRleHQpOyB9KTsKKyAgICAv
LyBNYWtlIHN1cmUgdGhlIFJ1bkxvb3AgaXMgc3RvcHBlZCBhZnRlciB0aGUgQ29tcG9zaXRpbmdS
dW5Mb29wLCBiZWNhdXNlIG1fdXBkYXRlVGltZXIgaGFzIGEgcmVmZXJlbmNlLgorICAgIFJ1bkxv
b3A6Om1haW4oKS5kaXNwYXRjaChbcnVuTG9vcCA9IG1ha2VSZWYoKm1fcnVuTG9vcCldIHsKKyAg
ICAgICAgcnVuTG9vcC0+c3RvcCgpOworICAgICAgICBydW5Mb29wLT5kaXNwYXRjaChbXSB7Cisg
ICAgICAgICAgICBSdW5Mb29wOjpjdXJyZW50KCkuc3RvcCgpOworICAgICAgICB9KTsKKyAgICB9
KTsKIH0KIAogdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnBlcmZvcm1UYXNrKEZ1bmN0aW9uPHZv
aWQgKCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAg
ICBXb3JrUXVldWVQb29sOjpzaW5nbGV0b24oKS5kaXNwYXRjaCh0aGlzLCBXVEZNb3ZlKGZ1bmN0
aW9uKSk7CisgICAgbV9ydW5Mb29wLT5kaXNwYXRjaChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiB9CiAK
IHZvaWQgQ29tcG9zaXRpbmdSdW5Mb29wOjpwZXJmb3JtVGFza1N5bmMoRnVuY3Rpb248dm9pZCAo
KT4mJiBmdW5jdGlvbikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIExv
Y2tIb2xkZXIgbG9ja2VyKG1fZGlzcGF0Y2hTeW5jQ29uZGl0aW9uTXV0ZXgpOwotICAgIFdvcmtR
dWV1ZVBvb2w6OnNpbmdsZXRvbigpLmRpc3BhdGNoKHRoaXMsIFt0aGlzLCBmdW5jdGlvbiA9IFdU
Rk1vdmUoZnVuY3Rpb24pXSB7CisgICAgbV9ydW5Mb29wLT5kaXNwYXRjaChbdGhpcywgZnVuY3Rp
b24gPSBXVEZNb3ZlKGZ1bmN0aW9uKV0gewogICAgICAgICBmdW5jdGlvbigpOwogICAgICAgICBM
b2NrSG9sZGVyIGxvY2tlcihtX2Rpc3BhdGNoU3luY0NvbmRpdGlvbk11dGV4KTsKICAgICAgICAg
bV9kaXNwYXRjaFN5bmNDb25kaXRpb24ubm90aWZ5T25lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21w
b3NpdGluZ1J1bkxvb3AuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5oCmluZGV4IDg1YzhkNzFk
ZTczLi44M2RjMDRkMTk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBv
c2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmgKQEAgLTcwLDEyICs3MCwxMiBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCB1cGRhdGVUaW1lckZpcmVkKCk7CiAKKyAgICBSdW5Mb29wKiBtX3J1bkxvb3Ag
eyBudWxscHRyIH07CiAgICAgUnVuTG9vcDo6VGltZXI8Q29tcG9zaXRpbmdSdW5Mb29wPiBtX3Vw
ZGF0ZVRpbWVyOwogICAgIEZ1bmN0aW9uPHZvaWQgKCk+IG1fdXBkYXRlRnVuY3Rpb247CiAgICAg
TG9jayBtX2Rpc3BhdGNoU3luY0NvbmRpdGlvbk11dGV4OwogICAgIENvbmRpdGlvbiBtX2Rpc3Bh
dGNoU3luY0NvbmRpdGlvbjsKIAotCiAgICAgc3RydWN0IHsKICAgICAgICAgTG9jayBsb2NrOwog
ICAgICAgICBDb21wb3NpdGlvblN0YXRlIGNvbXBvc2l0aW9uIHsgQ29tcG9zaXRpb25TdGF0ZTo6
SWRsZSB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>