<?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>199688</bug_id>
          
          <creation_ts>2019-07-10 15:58:38 -0700</creation_ts>
          <short_desc>[WHLSL] The recursion checker should not have quadratic complexity</short_desc>
          <delta_ts>2019-07-16 12:49:25 -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>WebGPU</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=199835</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551866</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-10 15:58:38 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551889</commentid>
    <comment_count>1</comment_count>
      <attachid>373878</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-10 17:06:15 -0700</bug_when>
    <thetext>Created attachment 373878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551893</commentid>
    <comment_count>2</comment_count>
      <attachid>373878</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-07-10 17:10:20 -0700</bug_when>
    <thetext>Comment on attachment 373878
Patch

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

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp:47
&gt; +    void visit(Program&amp; program) override
&gt; +    {
&gt; +        for (auto&amp; functionDefinition : program.functionDefinitions())
&gt; +            checkErrorAndVisit(functionDefinition);
&gt; +    }

Nice. We should probably do this in more phases.

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp:62
&gt; +        auto addResult2 = m_finishedVisiting.add(&amp;functionDefinition);
&gt; +        ASSERT_UNUSED(addResult2, addResult2);

this probably doesn&apos;t compile on debug builds. You want addResult2.isNewEntry.

Also, can you just give it its own scope instead of calling it addResult2? Or perhaps limit scope to above addResult?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551900</commentid>
    <comment_count>3</comment_count>
      <attachid>373880</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-10 17:31:17 -0700</bug_when>
    <thetext>Created attachment 373880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551901</commentid>
    <comment_count>4</comment_count>
      <attachid>373881</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-10 17:33:24 -0700</bug_when>
    <thetext>Created attachment 373881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551926</commentid>
    <comment_count>5</comment_count>
      <attachid>373881</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-10 18:18:21 -0700</bug_when>
    <thetext>Comment on attachment 373881
Patch

Clearing flags on attachment: 373881

Committed r247339: &lt;https://trac.webkit.org/changeset/247339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551927</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-10 18:18:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551929</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-10 18:19:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/52925463&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373878</attachid>
            <date>2019-07-10 17:06:15 -0700</date>
            <delta_ts>2019-07-10 17:31:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199688-20190710170614.patch</filename>
            <type>text/plain</type>
            <size>3198</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ1MGRmYTMyNTcyMmY0
Y2Y3YTY3YzNlY2M0ODZiYmIzODkzOGMyOS4uNTQxNWM4MTcwYTU1NjdmMGZiNjZjOTFlNDFjNDA1
ZjBhM2Q0ZTMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA3LTEwICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBUaGUg
cmVjdXJzaW9uIGNoZWNrZXIgc2hvdWxkIG5vdCBoYXZlIHF1YWRyYXRpYyBjb21wbGV4aXR5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIGZpeCBpdCBi
eSB1c2luZyB0d28gZGlmZmVyZW50IGhhc2ggc2V0cywgdHJhY2tpbmcgd2hpY2ggZnVuY3Rpb25z
IHdlIGhhdmUgc3RhcnRlZCB2aXNpdGluZywgYW5kIHdoaWNoIGhhdmUgZmluaXNoZWQgdmlzaXRp
bmcuCisgICAgICAgIFRoZSBkaWZmZXJlbmNlIGFyZSB0aG9zZSB0aGF0IGFyZSBjdXJyZW50bHkg
Im9uIHRoZSBzdGFjayIsIGFuZCBjYWxsaW5nIGFueSBvZiB0aG9zZSBpcyBhbiBlcnJvci4KKyAg
ICAgICAgQXMgYSBib251cywgSSBhbHNvIG92ZXJyb2RlIHZpc2l0KFByb2dyYW0mKSwgc28gdGhh
dCB3ZSBvbmx5IGJvdGhlciB2aXNpdGluZyBmdW5jdGlvbiBkZWZpbml0aW9ucy4KKworICAgICAg
ICBPbiB3aGxzbC1jb21wdXRlLmh0bWwgcmFuIDUgdGltZXMsIHRoaXMgcGF0Y2ggcmVkdWNlcyB0
aGUgdGltZSBzcGVudCBpbiB0aGUgcmVjdXJzaW9uIGNoZWNrZXIgZnJvbSAyNm1zIHRvIDEybXMu
CisgICAgICAgIEl0IGlzIGxpa2VseSB0byBiZSBhIG11Y2ggYmlnZ2VyIHdpbiBvbiBsYXJnZXIg
cHJvZ3JhbXMgKHNpbmNlIGl0IHRvb2sgdGhlIGNvbXBsZXhpdHkgZnJvbSBxdWFkcmF0aWMgdG8g
bGluZWFyKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gaW50ZW5kZWQg
ZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFJlY3Vyc2lvbkNoZWNrZXIuY3BwOgorCiAyMDE5LTA3LTEwICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBUcmFjayBjb2RlIGxvY2F0aW9u
cyBjb3JyZWN0bHkgdGhyb3VnaG91dCB0aGUgY29tcGlsZXIgdG8gZ2V0IGdvb2QgZXJyb3IgbWVz
c2FnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUmVjdXJzaW9uQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFJlY3Vyc2lvbkNoZWNrZXIuY3BwCmluZGV4IGEyNWZjYTcxMmMwMWI5ZjU1MTU5
MzM0ZjU2ZDIwY2IwNTMwZTU1ODMuLjAwNGEzZDg2NDRhNDI3MDVjNmE0ZDI3MWVkNzI0ZTNkYWRk
ZjVhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUmVjdXJzaW9uQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xSZWN1cnNpb25DaGVja2VyLmNwcApAQCAtNDAsMjAgKzQwLDI2IEBAIG5h
bWVzcGFjZSBXSExTTCB7CiAvLyBNYWtlcyBzdXJlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uIHJlY3Vy
c2lvbi4KIGNsYXNzIFJlY3Vyc2lvbkNoZWNrZXIgOiBwdWJsaWMgVmlzaXRvciB7CiBwcml2YXRl
OgorICAgIHZvaWQgdmlzaXQoUHJvZ3JhbSYgcHJvZ3JhbSkgb3ZlcnJpZGUKKyAgICB7CisgICAg
ICAgIGZvciAoYXV0byYgZnVuY3Rpb25EZWZpbml0aW9uIDogcHJvZ3JhbS5mdW5jdGlvbkRlZmlu
aXRpb25zKCkpCisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0
aW9uKTsKKyAgICB9CisKICAgICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBm
dW5jdGlvbkRlZmluaXRpb24pIG92ZXJyaWRlCiAgICAgewotICAgICAgICBhdXRvIGFkZFJlc3Vs
dCA9IG1fdmlzaXRpbmdTZXQuYWRkKCZmdW5jdGlvbkRlZmluaXRpb24pOworICAgICAgICBpZiAo
bV9maW5pc2hlZFZpc2l0aW5nLmNvbnRhaW5zKCZmdW5jdGlvbkRlZmluaXRpb24pKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fc3RhcnRlZFZpc2l0aW5n
LmFkZCgmZnVuY3Rpb25EZWZpbml0aW9uKTsKICAgICAgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdF
bnRyeSkgewogICAgICAgICAgICAgc2V0RXJyb3IoKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCiAgICAgICAgIFZpc2l0b3I6OnZpc2l0KGZ1bmN0aW9uRGVmaW5pdGlvbik7Ci0g
ICAgICAgIGlmIChlcnJvcigpKQotICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGF1dG8g
c3VjY2VzcyA9IG1fdmlzaXRpbmdTZXQucmVtb3ZlKCZmdW5jdGlvbkRlZmluaXRpb24pOwotICAg
ICAgICBBU1NFUlRfVU5VU0VEKHN1Y2Nlc3MsIHN1Y2Nlc3MpOworICAgICAgICBhdXRvIGFkZFJl
c3VsdDIgPSBtX2ZpbmlzaGVkVmlzaXRpbmcuYWRkKCZmdW5jdGlvbkRlZmluaXRpb24pOworICAg
ICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdDIsIGFkZFJlc3VsdDIpOwogICAgIH0KIAogICAg
IHZvaWQgdmlzaXQoQVNUOjpDYWxsRXhwcmVzc2lvbiYgY2FsbEV4cHJlc3Npb24pIG92ZXJyaWRl
CkBAIC02Myw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlz
aXQoZG93bmNhc3Q8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24+KGNhbGxFeHByZXNzaW9uLmZ1bmN0
aW9uKCkpKTsKICAgICB9CiAKLSAgICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4g
bV92aXNpdGluZ1NldDsKKyAgICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4gbV9z
dGFydGVkVmlzaXRpbmc7CisgICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbio+IG1f
ZmluaXNoZWRWaXNpdGluZzsKIH07CiAKIGJvb2wgY2hlY2tSZWN1cnNpb24oUHJvZ3JhbSYgcHJv
Z3JhbSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373880</attachid>
            <date>2019-07-10 17:31:17 -0700</date>
            <delta_ts>2019-07-10 17:31:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199688-20190710173116.patch</filename>
            <type>text/plain</type>
            <size>3239</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ1MGRmYTMyNTcyMmY0
Y2Y3YTY3YzNlY2M0ODZiYmIzODkzOGMyOS4uNTU1OTkyY2M3MzE2ODYwZTJjNGY5YmMyNDkzZWIz
Mjk4NDg0Nzc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA3LTEwICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBUaGUg
cmVjdXJzaW9uIGNoZWNrZXIgc2hvdWxkIG5vdCBoYXZlIHF1YWRyYXRpYyBjb21wbGV4aXR5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBJIGZpeCBpdCBieSB1
c2luZyB0d28gZGlmZmVyZW50IGhhc2ggc2V0cywgdHJhY2tpbmcgd2hpY2ggZnVuY3Rpb25zIHdl
IGhhdmUgc3RhcnRlZCB2aXNpdGluZywgYW5kIHdoaWNoIHdlIGhhdmUgZmluaXNoZWQgdmlzaXRp
bmcuCisgICAgICAgIFRoZSBkaWZmZXJlbmNlIGFyZSB0aG9zZSB0aGF0IGFyZSBjdXJyZW50bHkg
Im9uIHRoZSBzdGFjayIsIGFuZCBjYWxsaW5nIGFueSBvZiB0aG9zZSBpcyBhbiBlcnJvci4KKyAg
ICAgICAgQXMgYSBib251cywgSSBhbHNvIG92ZXJyb2RlIHZpc2l0KFByb2dyYW0mKSwgc28gdGhh
dCB3ZSBvbmx5IGJvdGhlciB2aXNpdGluZyBmdW5jdGlvbiBkZWZpbml0aW9ucy4KKworICAgICAg
ICBPbiB3aGxzbC1jb21wdXRlLmh0bWwgcmFuIDUgdGltZXMsIHRoaXMgcGF0Y2ggcmVkdWNlcyB0
aGUgdGltZSBzcGVudCBpbiB0aGUgcmVjdXJzaW9uIGNoZWNrZXIgZnJvbSAyNm1zIHRvIDEybXMu
CisgICAgICAgIEl0IGlzIGxpa2VseSB0byBiZSBhIG11Y2ggYmlnZ2VyIHdpbiBvbiBsYXJnZXIg
cHJvZ3JhbXMgKHNpbmNlIGl0IHRvb2sgdGhlIGNvbXBsZXhpdHkgZnJvbSBxdWFkcmF0aWMgdG8g
bGluZWFyKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gaW50ZW5kZWQg
ZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFJlY3Vyc2lvbkNoZWNrZXIuY3BwOgorCiAyMDE5LTA3LTEwICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBUcmFjayBjb2RlIGxvY2F0aW9u
cyBjb3JyZWN0bHkgdGhyb3VnaG91dCB0aGUgY29tcGlsZXIgdG8gZ2V0IGdvb2QgZXJyb3IgbWVz
c2FnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUmVjdXJzaW9uQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFJlY3Vyc2lvbkNoZWNrZXIuY3BwCmluZGV4IGEyNWZjYTcxMmMwMWI5ZjU1MTU5
MzM0ZjU2ZDIwY2IwNTMwZTU1ODMuLjE2MTJmMDdhZjUzYjJkNTc5ZWIxNjM3ZGRlNTNmYjVlYzkx
NGJlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUmVjdXJzaW9uQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xSZWN1cnNpb25DaGVja2VyLmNwcApAQCAtNDAsMjAgKzQwLDI5IEBAIG5h
bWVzcGFjZSBXSExTTCB7CiAvLyBNYWtlcyBzdXJlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uIHJlY3Vy
c2lvbi4KIGNsYXNzIFJlY3Vyc2lvbkNoZWNrZXIgOiBwdWJsaWMgVmlzaXRvciB7CiBwcml2YXRl
OgorICAgIHZvaWQgdmlzaXQoUHJvZ3JhbSYgcHJvZ3JhbSkgb3ZlcnJpZGUKKyAgICB7CisgICAg
ICAgIGZvciAoYXV0byYgZnVuY3Rpb25EZWZpbml0aW9uIDogcHJvZ3JhbS5mdW5jdGlvbkRlZmlu
aXRpb25zKCkpCisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0
aW9uKTsKKyAgICB9CisKICAgICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBm
dW5jdGlvbkRlZmluaXRpb24pIG92ZXJyaWRlCiAgICAgewotICAgICAgICBhdXRvIGFkZFJlc3Vs
dCA9IG1fdmlzaXRpbmdTZXQuYWRkKCZmdW5jdGlvbkRlZmluaXRpb24pOworICAgICAgICBpZiAo
bV9maW5pc2hlZFZpc2l0aW5nLmNvbnRhaW5zKCZmdW5jdGlvbkRlZmluaXRpb24pKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9zdGFydGVkVmlzaXRp
bmcuYWRkKCZmdW5jdGlvbkRlZmluaXRpb24pOwogICAgICAgICBpZiAoIWFkZFJlc3VsdC5pc05l
d0VudHJ5KSB7CiAgICAgICAgICAgICBzZXRFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgVmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsK
LSAgICAgICAgaWYgKGVycm9yKCkpCi0gICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYXV0
byBzdWNjZXNzID0gbV92aXNpdGluZ1NldC5yZW1vdmUoJmZ1bmN0aW9uRGVmaW5pdGlvbik7Ci0g
ICAgICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7CisgICAgICAgIHsKKyAgICAg
ICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9maW5pc2hlZFZpc2l0aW5nLmFkZCgmZnVuY3Rpb25E
ZWZpbml0aW9uKTsKKyAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1
bHQyLmlzTmV3RW50cnkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCB2aXNpdChBU1Q6
OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lvbikgb3ZlcnJpZGUKQEAgLTYzLDcgKzcyLDgg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNoZWNrRXJyb3JBbmRWaXNpdChkb3duY2FzdDxBU1Q6
OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FsbEV4cHJlc3Npb24uZnVuY3Rpb24oKSkpOwogICAgIH0K
IAotICAgIEhhc2hTZXQ8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiBtX3Zpc2l0aW5nU2V0Owor
ICAgIEhhc2hTZXQ8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiBtX3N0YXJ0ZWRWaXNpdGluZzsK
KyAgICBIYXNoU2V0PEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uKj4gbV9maW5pc2hlZFZpc2l0aW5n
OwogfTsKIAogYm9vbCBjaGVja1JlY3Vyc2lvbihQcm9ncmFtJiBwcm9ncmFtKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373881</attachid>
            <date>2019-07-10 17:33:24 -0700</date>
            <delta_ts>2019-07-10 18:18:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199688-20190710173323.patch</filename>
            <type>text/plain</type>
            <size>3238</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ1MGRmYTMyNTcyMmY0
Y2Y3YTY3YzNlY2M0ODZiYmIzODkzOGMyOS4uNTU1OTkyY2M3MzE2ODYwZTJjNGY5YmMyNDkzZWIz
Mjk4NDg0Nzc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA3LTEwICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBUaGUg
cmVjdXJzaW9uIGNoZWNrZXIgc2hvdWxkIG5vdCBoYXZlIHF1YWRyYXRpYyBjb21wbGV4aXR5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBJIGZpeCBpdCBieSB1
c2luZyB0d28gZGlmZmVyZW50IGhhc2ggc2V0cywgdHJhY2tpbmcgd2hpY2ggZnVuY3Rpb25zIHdl
IGhhdmUgc3RhcnRlZCB2aXNpdGluZywgYW5kIHdoaWNoIHdlIGhhdmUgZmluaXNoZWQgdmlzaXRp
bmcuCisgICAgICAgIFRoZSBkaWZmZXJlbmNlIGFyZSB0aG9zZSB0aGF0IGFyZSBjdXJyZW50bHkg
Im9uIHRoZSBzdGFjayIsIGFuZCBjYWxsaW5nIGFueSBvZiB0aG9zZSBpcyBhbiBlcnJvci4KKyAg
ICAgICAgQXMgYSBib251cywgSSBhbHNvIG92ZXJyb2RlIHZpc2l0KFByb2dyYW0mKSwgc28gdGhh
dCB3ZSBvbmx5IGJvdGhlciB2aXNpdGluZyBmdW5jdGlvbiBkZWZpbml0aW9ucy4KKworICAgICAg
ICBPbiB3aGxzbC1jb21wdXRlLmh0bWwgcmFuIDUgdGltZXMsIHRoaXMgcGF0Y2ggcmVkdWNlcyB0
aGUgdGltZSBzcGVudCBpbiB0aGUgcmVjdXJzaW9uIGNoZWNrZXIgZnJvbSAyNm1zIHRvIDEybXMu
CisgICAgICAgIEl0IGlzIGxpa2VseSB0byBiZSBhIG11Y2ggYmlnZ2VyIHdpbiBvbiBsYXJnZXIg
cHJvZ3JhbXMgKHNpbmNlIGl0IHRvb2sgdGhlIGNvbXBsZXhpdHkgZnJvbSBxdWFkcmF0aWMgdG8g
bGluZWFyKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gaW50ZW5kZWQg
ZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFJlY3Vyc2lvbkNoZWNrZXIuY3BwOgorCiAyMDE5LTA3LTEwICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBUcmFjayBjb2RlIGxvY2F0aW9u
cyBjb3JyZWN0bHkgdGhyb3VnaG91dCB0aGUgY29tcGlsZXIgdG8gZ2V0IGdvb2QgZXJyb3IgbWVz
c2FnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUmVjdXJzaW9uQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFJlY3Vyc2lvbkNoZWNrZXIuY3BwCmluZGV4IGEyNWZjYTcxMmMwMWI5ZjU1MTU5
MzM0ZjU2ZDIwY2IwNTMwZTU1ODMuLjZhZjg4ZmUzZTRmMmU4M2Y2YmIzNDc0MzYzZDZkZmRlNjk0
NTdmNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMUmVjdXJzaW9uQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xSZWN1cnNpb25DaGVja2VyLmNwcApAQCAtNDAsMjAgKzQwLDI5IEBAIG5h
bWVzcGFjZSBXSExTTCB7CiAvLyBNYWtlcyBzdXJlIHRoZXJlIGlzIG5vIGZ1bmN0aW9uIHJlY3Vy
c2lvbi4KIGNsYXNzIFJlY3Vyc2lvbkNoZWNrZXIgOiBwdWJsaWMgVmlzaXRvciB7CiBwcml2YXRl
OgorICAgIHZvaWQgdmlzaXQoUHJvZ3JhbSYgcHJvZ3JhbSkgb3ZlcnJpZGUKKyAgICB7CisgICAg
ICAgIGZvciAoYXV0byYgZnVuY3Rpb25EZWZpbml0aW9uIDogcHJvZ3JhbS5mdW5jdGlvbkRlZmlu
aXRpb25zKCkpCisgICAgICAgICAgICBjaGVja0Vycm9yQW5kVmlzaXQoZnVuY3Rpb25EZWZpbml0
aW9uKTsKKyAgICB9CisKICAgICB2b2lkIHZpc2l0KEFTVDo6RnVuY3Rpb25EZWZpbml0aW9uJiBm
dW5jdGlvbkRlZmluaXRpb24pIG92ZXJyaWRlCiAgICAgewotICAgICAgICBhdXRvIGFkZFJlc3Vs
dCA9IG1fdmlzaXRpbmdTZXQuYWRkKCZmdW5jdGlvbkRlZmluaXRpb24pOworICAgICAgICBpZiAo
bV9maW5pc2hlZFZpc2l0aW5nLmNvbnRhaW5zKCZmdW5jdGlvbkRlZmluaXRpb24pKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9zdGFydGVkVmlzaXRp
bmcuYWRkKCZmdW5jdGlvbkRlZmluaXRpb24pOwogICAgICAgICBpZiAoIWFkZFJlc3VsdC5pc05l
d0VudHJ5KSB7CiAgICAgICAgICAgICBzZXRFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgVmlzaXRvcjo6dmlzaXQoZnVuY3Rpb25EZWZpbml0aW9uKTsK
LSAgICAgICAgaWYgKGVycm9yKCkpCi0gICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYXV0
byBzdWNjZXNzID0gbV92aXNpdGluZ1NldC5yZW1vdmUoJmZ1bmN0aW9uRGVmaW5pdGlvbik7Ci0g
ICAgICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7CisgICAgICAgIHsKKyAgICAg
ICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9maW5pc2hlZFZpc2l0aW5nLmFkZCgmZnVuY3Rpb25E
ZWZpbml0aW9uKTsKKyAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1
bHQuaXNOZXdFbnRyeSk7CisgICAgICAgIH0KICAgICB9CiAKICAgICB2b2lkIHZpc2l0KEFTVDo6
Q2FsbEV4cHJlc3Npb24mIGNhbGxFeHByZXNzaW9uKSBvdmVycmlkZQpAQCAtNjMsNyArNzIsOCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgY2hlY2tFcnJvckFuZFZpc2l0KGRvd25jYXN0PEFTVDo6
RnVuY3Rpb25EZWZpbml0aW9uPihjYWxsRXhwcmVzc2lvbi5mdW5jdGlvbigpKSk7CiAgICAgfQog
Ci0gICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbio+IG1fdmlzaXRpbmdTZXQ7Cisg
ICAgSGFzaFNldDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbio+IG1fc3RhcnRlZFZpc2l0aW5nOwor
ICAgIEhhc2hTZXQ8QVNUOjpGdW5jdGlvbkRlZmluaXRpb24qPiBtX2ZpbmlzaGVkVmlzaXRpbmc7
CiB9OwogCiBib29sIGNoZWNrUmVjdXJzaW9uKFByb2dyYW0mIHByb2dyYW0pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>