<?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>183422</bug_id>
          
          <creation_ts>2018-03-07 15:55:25 -0800</creation_ts>
          <short_desc>webkitpy: Build ImageDiff if it is missing</short_desc>
          <delta_ts>2019-11-05 09:25:59 -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>Tools / Tests</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=203844</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>ap</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1404518</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-03-07 15:55:25 -0800</bug_when>
    <thetext>run-webkit-tests should always build ImageDiff if it is requested but does not exist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404524</commentid>
    <comment_count>1</comment_count>
      <attachid>335235</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-03-07 16:00:33 -0800</bug_when>
    <thetext>Created attachment 335235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404543</commentid>
    <comment_count>2</comment_count>
      <attachid>335242</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-03-07 16:31:29 -0800</bug_when>
    <thetext>Created attachment 335242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404602</commentid>
    <comment_count>3</comment_count>
      <attachid>335242</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-03-07 21:01:49 -0800</bug_when>
    <thetext>Comment on attachment 335242
Patch

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

&gt; Tools/ChangeLog:12
&gt; +        ImageDiff is built with a different SDK than the rest of the WebKit
&gt; +        stack, and this frequently causes infrastructure failures where ImageDiff
&gt; +        is missing on testers. To address this, we should automatically build
&gt; +        ImageDiff if it is missing.
&gt; +

I disagree with this premise. Testers should not be building software because it adds complexity to the build system to ensure that testers build with the same source revisions and toolchain among other issues and breaks with people&apos;s intuition on the roles of builders and testers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404739</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-03-08 08:28:48 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #3)
&gt; Comment on attachment 335242 [details]
&gt; Patch
&gt; 
&gt; ...
&gt; 
&gt; I disagree with this premise. Testers should not be building software
&gt; because it adds complexity to the build system to ensure that testers build
&gt; with the same source revisions and toolchain among other issues and breaks
&gt; with people&apos;s intuition on the roles of builders and testers.

First, this definitely does not increase complexity. The existing system requires storing ImageDiff in a parallel table to the rest of the built products indexed by the Mac SDK instead of the SDK used to build WebKit. This has been a pretty frequent source of problems for not just the testers, but engineers using archived builds as well.

Second, ImageDiff is a tool used for testing, not a binary to be tested. Given that ImageDiff is called by webkitpy and has no dependencies on the rest of the WebKit stack (unlike the test runners). I would hold that the revision of ImageDiff should be aligned with the revision of webkitpy used, not the revision of WebKit. This would be more consistent with building on the testers.

Lastly, your intuition point. To address this, I would like to note that the alternative approach to this problem is converting ImageDiff to an interpreted language. This is certainly possible, but I&apos;m not sure we have the engineering bandwidth to do so in the near future. I&apos;ve looked into using Python to replace ImageDiff, but Python does such an abysmal job at optimizing loops that we would almost certainly need to statically compile a few functions to get ImageDiff to be performant. This would bring us back to building on the testers anyways, although perhaps obfuscated behind a Python abstraction.

Ultimately, the hope is that people don&apos;t notice this change. ImageDiff only takes a few seconds to build, and rarely changes. If we still want to retain the ability to forbid all building when using run-webkit-tests (including ImageDiff), I can remove the changes in Port.check_build() the current patch contains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587228</commentid>
    <comment_count>5</comment_count>
      <attachid>382788</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-04 16:34:23 -0800</bug_when>
    <thetext>Created attachment 382788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587231</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-04 16:49:19 -0800</bug_when>
    <thetext>We have some pretty compelling reasons to revive this patch due to some binary compatibility issues with simulators and limitations on the OSes we can use in our builders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587245</commentid>
    <comment_count>7</comment_count>
      <attachid>382788</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-11-04 17:58:24 -0800</bug_when>
    <thetext>Comment on attachment 382788
Patch

OK. Still not excited about this, but these issues have taken too much time.

We should follow up with not building ImageDiff as part of build archive, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587246</commentid>
    <comment_count>8</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-04 17:59:57 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; Comment on attachment 382788 [details]
&gt; Patch
&gt; 
&gt; OK. Still not excited about this, but these issues have taken too much time.
&gt; 
&gt; We should follow up with not building ImageDiff as part of build archive, I
&gt; think.

I feel like this is the best of our worst options.

This will be better for local testing too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587252</commentid>
    <comment_count>9</comment_count>
      <attachid>382788</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-04 18:45:00 -0800</bug_when>
    <thetext>Comment on attachment 382788
Patch

Clearing flags on attachment: 382788

Committed r252031: &lt;https://trac.webkit.org/changeset/252031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587253</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-04 18:45:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587254</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-04 18:45:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/56889868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587329</commentid>
    <comment_count>12</comment_count>
      <attachid>382788</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-05 01:01:07 -0800</bug_when>
    <thetext>Comment on attachment 382788
Patch

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

&gt; Tools/Scripts/webkitpy/port/base.py:287
&gt; -        image_diff_path = self._path_to_image_diff()
&gt; +        image_diff_path = self._build_path(&apos;ImageDiff&apos;)

This has broken the layout tests run in non apple ports, because it assumes ImageDiff binary is in build_path, while in CMake based ports it&apos;s in build_path/bin for example. That&apos;s what _path_to_image_diff() returns for those ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587427</commentid>
    <comment_count>13</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-11-05 09:25:59 -0800</bug_when>
    <thetext>Committed r252058: &lt;https://trac.webkit.org/changeset/252058&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335235</attachid>
            <date>2018-03-07 16:00:33 -0800</date>
            <delta_ts>2018-03-07 16:31:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>imageDiffFix.patch</filename>
            <type>text/plain</type>
            <size>3150</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyNzE1OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE4LTAxLTE4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gKE9PUFMhKS4KKyAgICAgICAg
TmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltYWdlRGlmZiBpcyBidWlsdCB3aXRoIGEgZGlmZmVyZW50IFNE
SyB0aGFuIHRoZSByZXN0IG9mIHRoZSBXZWJLaXQKKyAgICAgICAgc3RhY2ssIGFuZCB0aGlzIGZy
ZXF1ZW50bHkgY2F1c2VzIGluZnJhc3RydWN0dXJlIGZhaWx1cmVzIHdoZXJlIEltYWdlRGlmZgor
ICAgICAgICBpcyBtaXNzaW5nIG9uIHRlc3RlcnMuIFRvIGFkZHJlc3MgdGhpcywgd2Ugc2hvdWxk
IGF1dG9tYXRpY2FsbHkgYnVpbGQKKyAgICAgICAgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3Npbmcu
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBv
cnQuY2hlY2tfYnVpbGQpOiBVbmNvbmRpdGlvbmFsbHkgYnVpbGQgSW1hZ2VEaWZmIGlmIGl0IGlz
IG1pc3NpbmcuCisgICAgICAgIChQb3J0LmNoZWNrX2ltYWdlX2RpZmYpOiBVc2UgX2J1aWxkX3Bh
dGggc2luY2UgX3BhdGhfdG9faW1hZ2VfZGlmZiB3aWxsCisgICAgICAgIGF0dGVtcHQgdG8gdXNl
IGEgYmFjay11cCBsb2NhdGlvbi4KKyAgICAgICAgKFBvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZik6
IElmIHRoZSBwcm92aWRlZCBwYXRoIHRvIEltYWdlRGlmZiBkb2VzIG5vdAorICAgICAgICBleGlz
dCwgdXNlIHRoZSBwYXRoIG9mIHRoZSBvbmUgd2UgYnVpbHQuCisKIDIwMTgtMDEtMTggIERhbiBC
ZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBbWGNvZGVdIFN0cmVhbWxpbmUg
YW5kIGZ1dHVyZS1wcm9vZiB0YXJnZXQtbWFjT1MtdmVyc2lvbi1kZXBlbmRlbnQgYnVpbGQgc2V0
dGluZyBkZWZpbml0aW9ucwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkJKHJl
dmlzaW9uIDIyNzA2NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0yMzQsMTAgKzIzNCw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAg
ICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdpbnN0YWxsJykgYW5kIG5vdCBzZWxmLl9jaGVja19w
b3J0X2J1aWxkKCk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgaWYgbm90IHNl
bGYuY2hlY2tfaW1hZ2VfZGlmZigpOgotICAgICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdi
dWlsZCcpOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9pbWFnZV9kaWZmKCkK
LSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5fYnVpbGRfaW1hZ2VfZGlmZigpCiAgICAgICAgIHJldHVybiBUcnVl
CiAKICAgICBkZWYgX2NoZWNrX2RyaXZlcihzZWxmKToKQEAgLTI2Myw3ICsyNjAsNyBAQCBjbGFz
cyBQb3J0KG9iamVjdCk6CiAKICAgICBkZWYgY2hlY2tfaW1hZ2VfZGlmZihzZWxmLCBvdmVycmlk
ZV9zdGVwPU5vbmUsIGxvZ2dpbmc9VHJ1ZSk6CiAgICAgICAgICIiIlRoaXMgcm91dGluZSBpcyB1
c2VkIHRvIGNoZWNrIHdoZXRoZXIgaW1hZ2VfZGlmZiBiaW5hcnkgZXhpc3RzLiIiIgotICAgICAg
ICBpbWFnZV9kaWZmX3BhdGggPSBzZWxmLl9wYXRoX3RvX2ltYWdlX2RpZmYoKQorICAgICAgICBp
bWFnZV9kaWZmX3BhdGggPSBzZWxmLl9idWlsZF9wYXRoKCdJbWFnZURpZmYnKQogICAgICAgICBp
ZiBub3Qgc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoaW1hZ2VfZGlmZl9wYXRoKToKICAgICAgICAg
ICAgIGlmIGxvZ2dpbmc6CiAgICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiSW1hZ2VEaWZmIHdh
cyBub3QgZm91bmQgYXQgJXMiICUgaW1hZ2VfZGlmZl9wYXRoKQpAQCAtMTMyNCwxMSArMTMyMSwx
NyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIFRoaXMgaXMgbGlrZWx5IG9ubHkgdXNl
ZCBieSBzdGFydC9zdG9wX2hlbHBlcigpLiIiIgogICAgICAgICByZXR1cm4gTm9uZQogCisgICAg
QG1lbW9pemVkCiAgICAgZGVmIF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6CiAgICAgICAgICIi
IlJldHVybnMgdGhlIGZ1bGwgcGF0aCB0byB0aGUgaW1hZ2VfZGlmZiBiaW5hcnksIG9yIE5vbmUg
aWYgaXQgaXMgbm90IGF2YWlsYWJsZS4KIAogICAgICAgICBUaGlzIGlzIGxpa2VseSB1c2VkIG9u
bHkgYnkgZGlmZl9pbWFnZSgpIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKCdJ
bWFnZURpZmYnKQorICAgICAgICBkZWZhdWx0X2ltYWdlX2RpZmYgPSBzZWxmLl9idWlsZF9wYXRo
KCdJbWFnZURpZmYnKQorICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhkZWZhdWx0
X2ltYWdlX2RpZmYpOgorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRfaW1hZ2VfZGlmZgorICAg
ICAgICBidWlsdF9pbWFnZV9kaWZmID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX2NvbmZp
Zy5idWlsZF9kaXJlY3Rvcnkoc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpLCAnSW1h
Z2VEaWZmJykKKyAgICAgICAgX2xvZy5kZWJ1ZygnSW1hZ2VEaWZmIG5vdCBmb3VuZCBhdCB7fSwg
dXNpbmcge30gaW5zdGVhZCcuZm9ybWF0KGRlZmF1bHRfaW1hZ2VfZGlmZiwgYnVpbHRfaW1hZ2Vf
ZGlmZikpCisgICAgICAgIHJldHVybiBidWlsdF9pbWFnZV9kaWZmCiAKICAgICBkZWYgX3BhdGhf
dG9fbGlnaHR0cGQoc2VsZik6CiAgICAgICAgICIiIlJldHVybnMgdGhlIHBhdGggdG8gdGhlIExp
Z0hUVFBkIGJpbmFyeS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335242</attachid>
            <date>2018-03-07 16:31:29 -0800</date>
            <delta_ts>2019-11-04 16:34:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183422-20180307163128.patch</filename>
            <type>text/plain</type>
            <size>3153</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyOTM4MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE4LTAzLTA3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogQnVpbGQgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3NpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzQyMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlRGlm
ZiBpcyBidWlsdCB3aXRoIGEgZGlmZmVyZW50IFNESyB0aGFuIHRoZSByZXN0IG9mIHRoZSBXZWJL
aXQKKyAgICAgICAgc3RhY2ssIGFuZCB0aGlzIGZyZXF1ZW50bHkgY2F1c2VzIGluZnJhc3RydWN0
dXJlIGZhaWx1cmVzIHdoZXJlIEltYWdlRGlmZgorICAgICAgICBpcyBtaXNzaW5nIG9uIHRlc3Rl
cnMuIFRvIGFkZHJlc3MgdGhpcywgd2Ugc2hvdWxkIGF1dG9tYXRpY2FsbHkgYnVpbGQKKyAgICAg
ICAgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3NpbmcuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBvcnQuY2hlY2tfYnVpbGQpOiBVbmNvbmRpdGlv
bmFsbHkgYnVpbGQgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3NpbmcuCisgICAgICAgIChQb3J0LmNo
ZWNrX2ltYWdlX2RpZmYpOiBVc2UgX2J1aWxkX3BhdGggc2luY2UgX3BhdGhfdG9faW1hZ2VfZGlm
ZiB3aWxsCisgICAgICAgIGF0dGVtcHQgdG8gdXNlIGEgYmFjay11cCBsb2NhdGlvbi4KKyAgICAg
ICAgKFBvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZik6IElmIHRoZSBwcm92aWRlZCBwYXRoIHRvIElt
YWdlRGlmZiBkb2VzIG5vdAorICAgICAgICBleGlzdCwgdXNlIHRoZSBwYXRoIG9mIHRoZSBvbmUg
d2UgYnVpbHQuCisKIDIwMTgtMDMtMDcgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUu
Y29tPgogCiAgICAgICAgIHdlYmtpdHB5OiBBbGxvdyBhcHBsZV9hZGRpdGlvbnMoKSB0byBkZWZp
bmUgYWRkaXRpb25hbCBwb3J0cwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jh
c2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkJ
KHJldmlzaW9uIDIyOTM4MikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0yMzQsMTAgKzIzNCw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToK
ICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdpbnN0YWxsJykgYW5kIG5vdCBzZWxmLl9jaGVj
a19wb3J0X2J1aWxkKCk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgaWYgbm90
IHNlbGYuY2hlY2tfaW1hZ2VfZGlmZigpOgotICAgICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9u
KCdidWlsZCcpOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9pbWFnZV9kaWZm
KCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAg
ICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfaW1hZ2VfZGlmZigpCiAgICAgICAgIHJldHVybiBU
cnVlCiAKICAgICBkZWYgX2NoZWNrX2RyaXZlcihzZWxmKToKQEAgLTI2Myw3ICsyNjAsNyBAQCBj
bGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICBkZWYgY2hlY2tfaW1hZ2VfZGlmZihzZWxmLCBvdmVy
cmlkZV9zdGVwPU5vbmUsIGxvZ2dpbmc9VHJ1ZSk6CiAgICAgICAgICIiIlRoaXMgcm91dGluZSBp
cyB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgaW1hZ2VfZGlmZiBiaW5hcnkgZXhpc3RzLiIiIgotICAg
ICAgICBpbWFnZV9kaWZmX3BhdGggPSBzZWxmLl9wYXRoX3RvX2ltYWdlX2RpZmYoKQorICAgICAg
ICBpbWFnZV9kaWZmX3BhdGggPSBzZWxmLl9idWlsZF9wYXRoKCdJbWFnZURpZmYnKQogICAgICAg
ICBpZiBub3Qgc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoaW1hZ2VfZGlmZl9wYXRoKToKICAgICAg
ICAgICAgIGlmIGxvZ2dpbmc6CiAgICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiSW1hZ2VEaWZm
IHdhcyBub3QgZm91bmQgYXQgJXMiICUgaW1hZ2VfZGlmZl9wYXRoKQpAQCAtMTMzMCwxMSArMTMy
NywxNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIFRoaXMgaXMgbGlrZWx5IG9ubHkg
dXNlZCBieSBzdGFydC9zdG9wX2hlbHBlcigpLiIiIgogICAgICAgICByZXR1cm4gTm9uZQogCisg
ICAgQG1lbW9pemVkCiAgICAgZGVmIF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6CiAgICAgICAg
ICIiIlJldHVybnMgdGhlIGZ1bGwgcGF0aCB0byB0aGUgaW1hZ2VfZGlmZiBiaW5hcnksIG9yIE5v
bmUgaWYgaXQgaXMgbm90IGF2YWlsYWJsZS4KIAogICAgICAgICBUaGlzIGlzIGxpa2VseSB1c2Vk
IG9ubHkgYnkgZGlmZl9pbWFnZSgpIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRo
KCdJbWFnZURpZmYnKQorICAgICAgICBkZWZhdWx0X2ltYWdlX2RpZmYgPSBzZWxmLl9idWlsZF9w
YXRoKCdJbWFnZURpZmYnKQorICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhkZWZh
dWx0X2ltYWdlX2RpZmYpOgorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRfaW1hZ2VfZGlmZgor
ICAgICAgICBidWlsdF9pbWFnZV9kaWZmID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX2Nv
bmZpZy5idWlsZF9kaXJlY3Rvcnkoc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpLCAn
SW1hZ2VEaWZmJykKKyAgICAgICAgX2xvZy5kZWJ1ZygnSW1hZ2VEaWZmIG5vdCBmb3VuZCBhdCB7
fSwgdXNpbmcge30gaW5zdGVhZCcuZm9ybWF0KGRlZmF1bHRfaW1hZ2VfZGlmZiwgYnVpbHRfaW1h
Z2VfZGlmZikpCisgICAgICAgIHJldHVybiBidWlsdF9pbWFnZV9kaWZmCiAKICAgICBkZWYgX3Bh
dGhfdG9fbGlnaHR0cGQoc2VsZik6CiAgICAgICAgICIiIlJldHVybnMgdGhlIHBhdGggdG8gdGhl
IExpZ0hUVFBkIGJpbmFyeS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382788</attachid>
            <date>2019-11-04 16:34:23 -0800</date>
            <delta_ts>2019-11-04 18:45:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183422-20191104163422.patch</filename>
            <type>text/plain</type>
            <size>3149</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MjAyOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE5LTExLTA0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogQnVpbGQgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3NpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzQyMgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlRGlm
ZiBpcyBidWlsdCB3aXRoIGEgZGlmZmVyZW50IFNESyB0aGFuIHRoZSByZXN0IG9mIHRoZSBXZWJL
aXQKKyAgICAgICAgc3RhY2ssIGFuZCB0aGlzIGZyZXF1ZW50bHkgY2F1c2VzIGluZnJhc3RydWN0
dXJlIGZhaWx1cmVzIHdoZXJlIEltYWdlRGlmZgorICAgICAgICBpcyBtaXNzaW5nIG9uIHRlc3Rl
cnMuIFRvIGFkZHJlc3MgdGhpcywgd2Ugc2hvdWxkIGF1dG9tYXRpY2FsbHkgYnVpbGQKKyAgICAg
ICAgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3NpbmcuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBvcnQuY2hlY2tfYnVpbGQpOiBVbmNvbmRpdGlv
bmFsbHkgYnVpbGQgSW1hZ2VEaWZmIGlmIGl0IGlzIG1pc3NpbmcuCisgICAgICAgIChQb3J0LmNo
ZWNrX2ltYWdlX2RpZmYpOiBVc2UgX2J1aWxkX3BhdGggc2luY2UgX3BhdGhfdG9faW1hZ2VfZGlm
ZiB3aWxsCisgICAgICAgIGF0dGVtcHQgdG8gdXNlIGEgYmFjay11cCBsb2NhdGlvbi4KKyAgICAg
ICAgKFBvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZik6IElmIHRoZSBwcm92aWRlZCBwYXRoIHRvIElt
YWdlRGlmZiBkb2VzIG5vdAorICAgICAgICBleGlzdCwgdXNlIHRoZSBwYXRoIG9mIHRoZSBvbmUg
d2UgYnVpbHQuCisKIDIwMTktMTEtMDQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBHb29nbGV0ZXN0IGFzc2VydGlvbiBzdXBwb3J0IGZvciBDR1JlY3Qg
YW5kIE5TUmVjdApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkJKHJldmlzaW9u
IDI1MjAyOCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0yNDIsMTAgKzI0Miw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAg
aWYgc2VsZi5nZXRfb3B0aW9uKCdpbnN0YWxsJykgYW5kIG5vdCBzZWxmLl9jaGVja19kcml2ZXIo
KToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBpZiBub3Qgc2VsZi5jaGVja19p
bWFnZV9kaWZmKCk6Ci0gICAgICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ2J1aWxkJyk6Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX2ltYWdlX2RpZmYoKQotICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIHJldHVy
biBzZWxmLl9idWlsZF9pbWFnZV9kaWZmKCkKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRl
ZiBjaGVja19hcGlfdGVzdF9idWlsZChzZWxmLCBjYW5vbmljYWxpemVkX2JpbmFyaWVzPU5vbmUp
OgpAQCAtMjg3LDcgKzI4NCw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKIAogICAgIGRlZiBjaGVj
a19pbWFnZV9kaWZmKHNlbGYsIG92ZXJyaWRlX3N0ZXA9Tm9uZSwgbG9nZ2luZz1UcnVlKToKICAg
ICAgICAgIiIiVGhpcyByb3V0aW5lIGlzIHVzZWQgdG8gY2hlY2sgd2hldGhlciBpbWFnZV9kaWZm
IGJpbmFyeSBleGlzdHMuIiIiCi0gICAgICAgIGltYWdlX2RpZmZfcGF0aCA9IHNlbGYuX3BhdGhf
dG9faW1hZ2VfZGlmZigpCisgICAgICAgIGltYWdlX2RpZmZfcGF0aCA9IHNlbGYuX2J1aWxkX3Bh
dGgoJ0ltYWdlRGlmZicpCiAgICAgICAgIGlmIG5vdCBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhp
bWFnZV9kaWZmX3BhdGgpOgogICAgICAgICAgICAgaWYgbG9nZ2luZzoKICAgICAgICAgICAgICAg
ICBfbG9nLmVycm9yKCJJbWFnZURpZmYgd2FzIG5vdCBmb3VuZCBhdCAlcyIgJSBpbWFnZV9kaWZm
X3BhdGgpCkBAIC0xMzY3LDExICsxMzY0LDE3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAg
ICAgVGhpcyBpcyBsaWtlbHkgb25seSB1c2VkIGJ5IHN0YXJ0L3N0b3BfaGVscGVyKCkuIiIiCiAg
ICAgICAgIHJldHVybiBOb25lCiAKKyAgICBAbWVtb2l6ZWQKICAgICBkZWYgX3BhdGhfdG9faW1h
Z2VfZGlmZihzZWxmKToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBp
bWFnZV9kaWZmIGJpbmFyeSwgb3IgTm9uZSBpZiBpdCBpcyBub3QgYXZhaWxhYmxlLgogCiAgICAg
ICAgIFRoaXMgaXMgbGlrZWx5IHVzZWQgb25seSBieSBkaWZmX2ltYWdlKCkiIiIKLSAgICAgICAg
cmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ0ltYWdlRGlmZicpCisgICAgICAgIGRlZmF1bHRfaW1h
Z2VfZGlmZiA9IHNlbGYuX2J1aWxkX3BhdGgoJ0ltYWdlRGlmZicpCisgICAgICAgIGlmIHNlbGYu
X2ZpbGVzeXN0ZW0uZXhpc3RzKGRlZmF1bHRfaW1hZ2VfZGlmZik6CisgICAgICAgICAgICByZXR1
cm4gZGVmYXVsdF9pbWFnZV9kaWZmCisgICAgICAgIGJ1aWx0X2ltYWdlX2RpZmYgPSBzZWxmLl9m
aWxlc3lzdGVtLmpvaW4oc2VsZi5fY29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxmLmdldF9vcHRp
b24oJ2NvbmZpZ3VyYXRpb24nKSksICdJbWFnZURpZmYnKQorICAgICAgICBfbG9nLmRlYnVnKCdJ
bWFnZURpZmYgbm90IGZvdW5kIGF0IHt9LCB1c2luZyB7fSBpbnN0ZWFkJy5mb3JtYXQoZGVmYXVs
dF9pbWFnZV9kaWZmLCBidWlsdF9pbWFnZV9kaWZmKSkKKyAgICAgICAgcmV0dXJuIGJ1aWx0X2lt
YWdlX2RpZmYKIAogICAgIEFQSV9URVNUX0JJTkFSWV9OQU1FUyA9IFsnVGVzdFdURicsICdUZXN0
V2ViS2l0QVBJJ10KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>