<?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>224514</bug_id>
          
          <creation_ts>2021-04-13 15:27:04 -0700</creation_ts>
          <short_desc>[GitHub] Add script to verify integrity of the mirror</short_desc>
          <delta_ts>2021-04-14 14:52:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit 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>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>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1749895</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-13 15:27:04 -0700</bug_when>
    <thetext>It&apos;s relatively easy to verify if the GitHub mirror is out of sync with Subversion using identifiers. There is a desire to codify this check and run it automatically in infrastructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749896</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-13 15:27:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/76613576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749898</commentid>
    <comment_count>2</comment_count>
      <attachid>425923</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-13 15:31:18 -0700</bug_when>
    <thetext>Created attachment 425923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749924</commentid>
    <comment_count>3</comment_count>
      <attachid>425923</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-13 16:25:58 -0700</bug_when>
    <thetext>Comment on attachment 425923
Patch

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

&gt; Tools/Scripts/check-github-mirror-integrity:39
&gt; +        print(f&apos;Cannonical HEAD commit {canonical_tip} matches mirrored HEAD commit {mirror_tip}&apos;)

It might be confusing to users (like me) to clearly understand what exactly &quot;Cannonical&quot; and &quot;mirrored&quot; refer to. Might be better to directly refer to GitHub and svn.webkit.org in all the output messages. Maybe something like this would be better:

print(f&apos;GitHub and svn.webkit.org are in sync.\nHEAD commit on GitHub {canonical_tip} matches HEAD commit on svn.webkit.org {mirror_tip}&apos;)

&gt; Tools/Scripts/check-github-mirror-integrity:42
&gt; +    if mirror_tip.identifier == canonical_tip.identifier - 1:

Why is this fine, and in which case do we expect this?

&gt; Tools/Scripts/check-github-mirror-integrity:43
&gt; +        print(f&apos;Cannonical HEAD commit {canonical_tip} slitly ahead of mirrored HEAD commit {mirror_tip}&apos;)

Should reverse the message and make it more user-friendly. Something like:
print(f&apos;GitHub repo is slightly behind svn.webkit.org. This is ok.\nHEAD commit on GitHub {canonical_tip} is one behind HEAD commit on svn.webkit.org {mirror_tip}&apos;)

&gt; Tools/Scripts/check-github-mirror-integrity:46
&gt; +    print(f&apos;Cannonical HEAD commit {canonical_tip} does not match mirrored HEAD commit {mirror_tip}&apos;)

Better to start this message with: &quot;Error: &quot;, so that it&apos;s clear to the user that this is an error condition. 
Might as well list the next steps. e.g.: &quot;This indicates a serious issue with the repository, please inform admin@webkit.org urgently.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749948</commentid>
    <comment_count>4</comment_count>
      <attachid>425923</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-13 17:30:06 -0700</bug_when>
    <thetext>Comment on attachment 425923
Patch

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

&gt;&gt; Tools/Scripts/check-github-mirror-integrity:42
&gt;&gt; +    if mirror_tip.identifier == canonical_tip.identifier - 1:
&gt; 
&gt; Why is this fine, and in which case do we expect this?

I&apos;m concerned if we don&apos;t do this, we&apos;ll find ourselves with a common race condition where we are in the process of running the post-commit hook but haven&apos;t yet pushed to GitHub.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750112</commentid>
    <comment_count>5</comment_count>
      <attachid>425923</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-14 08:20:14 -0700</bug_when>
    <thetext>Comment on attachment 425923
Patch

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

&gt;&gt; Tools/Scripts/check-github-mirror-integrity:46
&gt;&gt; +    print(f&apos;Cannonical HEAD commit {canonical_tip} does not match mirrored HEAD commit {mirror_tip}&apos;)
&gt; 
&gt; Better to start this message with: &quot;Error: &quot;, so that it&apos;s clear to the user that this is an error condition. 
&gt; Might as well list the next steps. e.g.: &quot;This indicates a serious issue with the repository, please inform admin@webkit.org urgently.&quot;

Also it would be a good idea to print how much behind is github, both, in terms of number of commits and time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750116</commentid>
    <comment_count>6</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-14 08:24:37 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #4)
&gt; I&apos;m concerned if we don&apos;t do this, we&apos;ll find ourselves with a common race condition where we are in the process of running the post-commit hook but haven&apos;t yet pushed to GitHub.
ok, make sense. But it might be a real issue as well, where the syncing is broken and only one commit was made after that.

It would be be a good idea to print the time delta since the first missing commit from github was made, and if that time is higher than the time we expect syncing to take, then we should print an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750216</commentid>
    <comment_count>7</comment_count>
      <attachid>426011</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-14 10:48:52 -0700</bug_when>
    <thetext>Created attachment 426011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750232</commentid>
    <comment_count>8</comment_count>
      <attachid>426011</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-04-14 11:07:47 -0700</bug_when>
    <thetext>Comment on attachment 426011
Patch

Doesn&apos;t address my comment about adding time based check, and adding further statement to error message like: &quot;This indicates a serious issue with the repository, please inform admin@webkit.org urgently.&quot;

But those can be done later as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750246</commentid>
    <comment_count>9</comment_count>
      <attachid>426021</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-14 11:30:35 -0700</bug_when>
    <thetext>Created attachment 426021
[fast-cq] patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750355</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-14 14:52:19 -0700</bug_when>
    <thetext>Committed r275970 (236523@main): &lt;https://commits.webkit.org/236523@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426021.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425923</attachid>
            <date>2021-04-13 15:31:18 -0700</date>
            <delta_ts>2021-04-14 10:48:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224514-20210413153117.patch</filename>
            <type>text/plain</type>
            <size>3300</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTkxNCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDIxLTA0LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbR2l0SHViXSBBZGQgc2NyaXB0IHRvIHZlcmlmeSBpbnRlZ3JpdHkgb2Yg
dGhlIG1pcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0NTE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjYxMzU3Nj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvY2hlY2stZ2l0
aHViLW1pcnJvci1pbnRlZ3JpdHk6IEFkZGVkLgorCiAyMDIxLTA0LTEzICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN1cHBvcnQg
Zm9yIE5QQVBJIHBsdWdpbnMgaW4gV2ViVmlldwpJbmRleDogVG9vbHMvU2NyaXB0cy9jaGVjay1n
aXRodWItbWlycm9yLWludGVncml0eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2NoZWNr
LWdpdGh1Yi1taXJyb3ItaW50ZWdyaXR5CShub25leGlzdGVudCkKKysrIFRvb2xzL1NjcmlwdHMv
Y2hlY2stZ2l0aHViLW1pcnJvci1pbnRlZ3JpdHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworCisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMKKyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmcm9tIHdlYmtpdHNjbXB5IGlt
cG9ydCByZW1vdGUKKworCitkZWYgbWFpbigpOgorICAgIHJlcG9zaXRvcnkgPSByZW1vdGUuU3Zu
KCdodHRwczovL3N2bi53ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Via2l0JykKKyAgICBtaXJyb3Ig
PSByZW1vdGUuR2l0SHViKCdodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdCcpCisKKyAg
ICBjYW5vbmljYWxfdGlwID0gcmVwb3NpdG9yeS5jb21taXQoYnJhbmNoPSd0cnVuaycpCisgICAg
bWlycm9yX3RpcCA9IG1pcnJvci5jb21taXQoYnJhbmNoPSdtYWluJykKKworICAgIGlmIG1pcnJv
cl90aXAuaWRlbnRpZmllciA9PSBjYW5vbmljYWxfdGlwLmlkZW50aWZpZXI6CisgICAgICAgIHBy
aW50KGYnQ2Fubm9uaWNhbCBIRUFEIGNvbW1pdCB7Y2Fub25pY2FsX3RpcH0gbWF0Y2hlcyBtaXJy
b3JlZCBIRUFEIGNvbW1pdCB7bWlycm9yX3RpcH0nKQorICAgICAgICByZXR1cm4gMAorCisgICAg
aWYgbWlycm9yX3RpcC5pZGVudGlmaWVyID09IGNhbm9uaWNhbF90aXAuaWRlbnRpZmllciAtIDE6
CisgICAgICAgIHByaW50KGYnQ2Fubm9uaWNhbCBIRUFEIGNvbW1pdCB7Y2Fub25pY2FsX3RpcH0g
c2xpdGx5IGFoZWFkIG9mIG1pcnJvcmVkIEhFQUQgY29tbWl0IHttaXJyb3JfdGlwfScpCisgICAg
ICAgIHJldHVybiAwCisKKyAgICBwcmludChmJ0Nhbm5vbmljYWwgSEVBRCBjb21taXQge2Nhbm9u
aWNhbF90aXB9IGRvZXMgbm90IG1hdGNoIG1pcnJvcmVkIEhFQUQgY29tbWl0IHttaXJyb3JfdGlw
fScpCisgICAgcmV0dXJuIDEKKworCitpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgorICAgIHN5
cy5leGl0KG1haW4oKSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvU2NyaXB0cy9jaGVj
ay1naXRodWItbWlycm9yLWludGVncml0eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQojIyAtMCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426011</attachid>
            <date>2021-04-14 10:48:52 -0700</date>
            <delta_ts>2021-04-14 11:30:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224514-20210414104850.patch</filename>
            <type>text/plain</type>
            <size>3522</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTk1MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDIxLTA0LTE0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbR2l0SHViXSBBZGQgc2NyaXB0IHRvIHZlcmlmeSBpbnRlZ3JpdHkgb2Yg
dGhlIG1pcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0NTE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjYxMzU3Nj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvY2hlY2stZ2l0
aHViLW1pcnJvci1pbnRlZ3JpdHk6IEFkZGVkLgorCiAyMDIxLTA0LTE0ICBBYWthc2ggSmFpbiAg
PGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdXNpbmcg
bG9jYWwtd29ya2VyIGZvciBidWlsZC53ZWJraXQub3JnCkluZGV4OiBUb29scy9TY3JpcHRzL2No
ZWNrLWdpdGh1Yi1taXJyb3ItaW50ZWdyaXR5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
Y2hlY2stZ2l0aHViLW1pcnJvci1pbnRlZ3JpdHkJKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvU2Ny
aXB0cy9jaGVjay1naXRodWItbWlycm9yLWludGVncml0eQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKKyMgQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisj
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorIyBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gd2Via2l0c2Nt
cHkgaW1wb3J0IHJlbW90ZQorCisKK2RlZiBtYWluKCk6CisgICAgcmVwb3NpdG9yeSA9IHJlbW90
ZS5Tdm4oJ2h0dHBzOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQnKQorICAgIG1p
cnJvciA9IHJlbW90ZS5HaXRIdWIoJ2h0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0JykK
KworICAgIGNhbm9uaWNhbF90aXAgPSByZXBvc2l0b3J5LmNvbW1pdChicmFuY2g9J3RydW5rJykK
KyAgICBtaXJyb3JfdGlwID0gbWlycm9yLmNvbW1pdChicmFuY2g9J21haW4nKQorCisgICAgaWYg
bWlycm9yX3RpcC5pZGVudGlmaWVyID09IGNhbm9uaWNhbF90aXAuaWRlbnRpZmllcjoKKyAgICAg
ICAgcHJpbnQoJ0dpdEh1YiBhbmQgc3ZuLndlYmtpdC5vcmcgYXJlIGluIHN5bmMnKQorICAgICAg
ICBwcmludChmJ0hFQUQgY29tbWl0IG9uIEdpdEh1YiB7bWlycm9yX3RpcH0gbWF0Y2hlcyBIRUFE
IGNvbW1pdCBvbiBzdm4ud2Via2l0Lm9yZyB7Y2Fub25pY2FsX3RpcH0nKQorICAgICAgICByZXR1
cm4gMAorCisgICAgaWYgbWlycm9yX3RpcC5pZGVudGlmaWVyID09IGNhbm9uaWNhbF90aXAuaWRl
bnRpZmllciAtIDE6CisgICAgICAgIHByaW50KCdHaXRIdWIgaXMgMSBjb21taXQgYmVoaW5kIHN2
bi53ZWJraXQub3JnLiBUaGlzIGlzIG9rLicpCisgICAgICAgIHByaW50KGYnSEVBRCBjb21taXQg
b24gR2l0SHViIHttaXJyb3JfdGlwfSBzbGlnaHRseSBiZWhpbmQgSEVBRCBjb21taXQgb24gc3Zu
LndlYmtpdC5vcmcge2Nhbm9uaWNhbF90aXB9JykKKyAgICAgICAgcmV0dXJuIDAKKworICAgIHBy
aW50KCdFUlJPUjogR2l0SHViIGFuZCBzdm4ud2Via2l0Lm9yZyBhcmUgb3V0IG9mIHN5bmMnKQor
ICAgIHByaW50KGYnSEVBRCBjb21taXQgb24gR2l0SHViIHttaXJyb3JfdGlwfSBvdXQgb2Ygc3lu
YyB3aXRoIEhFQUQgY29tbWl0IG9uIHN2bi53ZWJraXQub3JnIHtjYW5vbmljYWxfdGlwfScpCisg
ICAgcmV0dXJuIDEKKworCitpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgorICAgIHN5cy5leGl0
KG1haW4oKSkKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvU2NyaXB0cy9jaGVjay1naXRo
dWItbWlycm9yLWludGVncml0eQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJsZQojIyAt
MCwwICsxICMjCisqClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426021</attachid>
            <date>2021-04-14 11:30:35 -0700</date>
            <delta_ts>2021-04-14 14:52:19 -0700</delta_ts>
            <desc>[fast-cq] patch</desc>
            <filename>bug-224514-20210414113034.patch</filename>
            <type>text/plain</type>
            <size>3689</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NTk1MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDIxLTA0LTE0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbR2l0SHViXSBBZGQgc2NyaXB0IHRvIHZlcmlmeSBpbnRlZ3JpdHkgb2Yg
dGhlIG1pcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0NTE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjYxMzU3Nj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvY2hlY2stZ2l0
aHViLW1pcnJvci1pbnRlZ3JpdHk6IEFkZGVkLgorCiAyMDIxLTA0LTE0ICBBYWthc2ggSmFpbiAg
PGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdXNpbmcg
bG9jYWwtd29ya2VyIGZvciBidWlsZC53ZWJraXQub3JnCkluZGV4OiBUb29scy9TY3JpcHRzL2No
ZWNrLWdpdGh1Yi1taXJyb3ItaW50ZWdyaXR5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
Y2hlY2stZ2l0aHViLW1pcnJvci1pbnRlZ3JpdHkJKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvU2Ny
aXB0cy9jaGVjay1naXRodWItbWlycm9yLWludGVncml0eQkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU2IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisKKyMgQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisj
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorIyBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gd2Via2l0c2Nt
cHkgaW1wb3J0IHJlbW90ZQorCisKK2RlZiBtYWluKCk6CisgICAgcmVwb3NpdG9yeSA9IHJlbW90
ZS5Tdm4oJ2h0dHBzOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQnKQorICAgIG1p
cnJvciA9IHJlbW90ZS5HaXRIdWIoJ2h0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvV2ViS2l0JykK
KworICAgIGNhbm9uaWNhbF90aXAgPSByZXBvc2l0b3J5LmNvbW1pdChicmFuY2g9J3RydW5rJykK
KyAgICBtaXJyb3JfdGlwID0gbWlycm9yLmNvbW1pdChicmFuY2g9J21haW4nKQorCisgICAgaWYg
bWlycm9yX3RpcC5pZGVudGlmaWVyID09IGNhbm9uaWNhbF90aXAuaWRlbnRpZmllcjoKKyAgICAg
ICAgcHJpbnQoJ0dpdEh1YiBhbmQgc3ZuLndlYmtpdC5vcmcgYXJlIGluIHN5bmMnKQorICAgICAg
ICBwcmludChmJ0hFQUQgY29tbWl0IG9uIEdpdEh1YiB7bWlycm9yX3RpcH0gbWF0Y2hlcyBIRUFE
IGNvbW1pdCBvbiBzdm4ud2Via2l0Lm9yZyB7Y2Fub25pY2FsX3RpcH0nKQorICAgICAgICByZXR1
cm4gMAorCisgICAgaWYgbWlycm9yX3RpcC50aW1lc3RhbXAgPj0gY2Fub25pY2FsX3RpcC50aW1l
c3RhbXAgLSA1ICogNjAgYW5kIG1pcnJvcl90aXAuaWRlbnRpZmllciA9PSBjYW5vbmljYWxfdGlw
LmlkZW50aWZpZXIgLSAxOgorICAgICAgICBwcmludCgnR2l0SHViIGlzIDEgY29tbWl0IGJlaGlu
ZCBzdm4ud2Via2l0Lm9yZy4gVGhpcyBpcyBvay4nKQorICAgICAgICBwcmludChmJ0hFQUQgY29t
bWl0IG9uIEdpdEh1YiB7bWlycm9yX3RpcH0gc2xpZ2h0bHkgYmVoaW5kIEhFQUQgY29tbWl0IG9u
IHN2bi53ZWJraXQub3JnIHtjYW5vbmljYWxfdGlwfScpCisgICAgICAgIHJldHVybiAwCisKKyAg
ICBwcmludCgnRVJST1I6IEdpdEh1YiBhbmQgc3ZuLndlYmtpdC5vcmcgYXJlIG91dCBvZiBzeW5j
JykKKyAgICBwcmludChmJ0hFQUQgY29tbWl0IG9uIEdpdEh1YiB7bWlycm9yX3RpcH0gb3V0IG9m
IHN5bmMgd2l0aCBIRUFEIGNvbW1pdCBvbiBzdm4ud2Via2l0Lm9yZyB7Y2Fub25pY2FsX3RpcH0n
KQorICAgIHByaW50KCdUaGlzIGluZGljYXRlcyBhIHNlcmlvdXMgZXJyb3Igd2l0aCB0aGUgcmVw
b3NpdG9yeSwgcGxlYXNlIGluZm9ybSBhZG1pbkB3ZWJraXQub3JnIHVyZ2VudGx5JykKKyAgICBy
ZXR1cm4gMQorCisKK2lmICdfX21haW5fXycgPT0gX19uYW1lX186CisgICAgc3lzLmV4aXQobWFp
bigpKQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBUb29scy9TY3JpcHRzL2NoZWNrLWdpdGh1Yi1t
aXJyb3ItaW50ZWdyaXR5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiMjIC0wLDAg
KzEgIyMKKyoKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>