<?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>227720</bug_id>
          
          <creation_ts>2021-07-06 14:18:33 -0700</creation_ts>
          <short_desc>Make sure SVG SMIL animations do not run in processes without any pages</short_desc>
          <delta_ts>2022-01-28 12:12:58 -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>SVG</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=235831</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>nham</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1775083</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-06 14:18:33 -0700</bug_when>
    <thetext>Make sure SVG SMIL animations do not run in processes without any pages.

We have seen traces / logging indicating that SVG SMIL animations may run in cached WebProcesses, thus using CPU unnecessarily. Cached WebProcesses have no WebPage so this patch adds assertions to catch cases where those animations run when there is no Page (and early returns in release to avoid doing unnecessary work).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775085</commentid>
    <comment_count>1</comment_count>
      <attachid>432971</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-06 14:20:28 -0700</bug_when>
    <thetext>Created attachment 432971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775586</commentid>
    <comment_count>2</comment_count>
      <attachid>432971</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-07-07 20:08:40 -0700</bug_when>
    <thetext>Comment on attachment 432971
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Make sure SVG SMIL animations do not run in processes without any pages.

Perhaps we should instead ensure that SMIL animations don&apos;t run in cached SVGImages (or those that don&apos;t have a connection to a live Page)? The approach in this patch seems a bit indirect.

&gt; Source/WebCore/ChangeLog:10
&gt; +        We have seen traces / logging indicating that SVG SMIL animations may run in cached WebProcesses, thus

Would be nice if I could find them via a radar chain referenced from this changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775761</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-08 12:59:06 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 432971 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=432971&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Make sure SVG SMIL animations do not run in processes without any pages.
&gt; 
&gt; Perhaps we should instead ensure that SMIL animations don&apos;t run in cached
&gt; SVGImages (or those that don&apos;t have a connection to a live Page)? The
&gt; approach in this patch seems a bit indirect.

I made the change to SMILTimeContainer because this is the code we see running in the traces when the process is cached (no WebPage), on a recurring timer. CachedImage already has logic to stop animations when it no longer has any clients.
I don&apos;t know where the logic bug is but adding the assertions in SMILTimeContainer seems to me like the surest way to find it?

&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        We have seen traces / logging indicating that SVG SMIL animations may run in cached WebProcesses, thus
&gt; 
&gt; Would be nice if I could find them via a radar chain referenced from this
&gt; changelog.

Oh indeed, this is a fix for &lt;rdar://79625708&gt;. I&apos;ll update the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775762</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-08 12:59:17 -0700</bug_when>
    <thetext>&lt;rdar://79625708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775764</commentid>
    <comment_count>5</comment_count>
      <attachid>433158</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-08 13:00:52 -0700</bug_when>
    <thetext>Created attachment 433158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775873</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-08 17:12:37 -0700</bug_when>
    <thetext>Committed r279768 (239538@main): &lt;https://commits.webkit.org/239538@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433158.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432971</attachid>
            <date>2021-07-06 14:20:28 -0700</date>
            <delta_ts>2021-07-08 13:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227720-20210706142027.patch</filename>
            <type>text/plain</type>
            <size>6117</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMWUwZjZhNTY2NTNl
ODE1ZWExZDM5OWRjNDI0MTQxMWUxYzlmNy4uMDNmOTc1YzhmOTQwODM1OTBlMWEyMjZhNTZjM2Fj
MTkzMjU1OTIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA3LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIFNWRyBTTUlM
IGFuaW1hdGlvbnMgZG8gbm90IHJ1biBpbiBwcm9jZXNzZXMgd2l0aG91dCBhbnkgcGFnZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzcyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBT
VkcgU01JTCBhbmltYXRpb25zIGRvIG5vdCBydW4gaW4gcHJvY2Vzc2VzIHdpdGhvdXQgYW55IHBh
Z2VzLgorCisgICAgICAgIFdlIGhhdmUgc2VlbiB0cmFjZXMgLyBsb2dnaW5nIGluZGljYXRpbmcg
dGhhdCBTVkcgU01JTCBhbmltYXRpb25zIG1heSBydW4gaW4gY2FjaGVkIFdlYlByb2Nlc3Nlcywg
dGh1cworICAgICAgICB1c2luZyBDUFUgdW5uZWNlc3NhcmlseS4gQ2FjaGVkIFdlYlByb2Nlc3Nl
cyBoYXZlIG5vIFdlYlBhZ2Ugc28gdGhpcyBwYXRjaCBhZGRzIGFzc2VydGlvbnMgdG8gY2F0Y2gg
Y2FzZXMKKyAgICAgICAgd2hlcmUgdGhvc2UgYW5pbWF0aW9ucyBydW4gd2hlbiB0aGVyZSBpcyBu
byBQYWdlIChhbmQgZWFybHkgcmV0dXJucyBpbiByZWxlYXNlIHRvIGF2b2lkIGRvaW5nIHVubmVj
ZXNzYXJ5CisgICAgICAgIHdvcmspLgorCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2U6Om5vblV0aWxpdHlQYWdlQ291bnQpOgorICAgICAgICAoV2ViQ29y
ZTo6bV9odHRwc1VwZ3JhZGVFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6On5QYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmlzT25seU5vblV0aWxpdHlQYWdlIGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpiZWdp
bik6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6cmVzdW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzZXRFbGFwc2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zKToKKwogMjAyMS0wNy0wNiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5hYmxlIHRvIHVzZSAn
ZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0JyB1cmwgZm9yIFdvcmtlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKaW5kZXggZjJmMDFhYzgwNzRlNzIwODIxOGFjM2Y3NDlhMjczOTRiM2NkMWJhMC4uMzE1Mjcw
ZWJiZGU3NjA5Yzc2NDAzODgwNmI3Y2M2NDYwMTI2ZjEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBA
IC0xODksMTMgKzE4OSwxOCBAQCBzdGF0aWMgSGFzaFNldDxQYWdlKj4mIGFsbFBhZ2VzKCkKICAg
ICByZXR1cm4gc2V0OwogfQogCi1zdGF0aWMgdW5zaWduZWQgbm9uVXRpbGl0eVBhZ2VDb3VudCB7
IDAgfTsKK3N0YXRpYyB1bnNpZ25lZCBnTm9uVXRpbGl0eVBhZ2VDb3VudCB7IDAgfTsKIAogc3Rh
dGljIGlubGluZSBib29sIGlzVXRpbGl0eVBhZ2VDaHJvbWVDbGllbnQoQ2hyb21lQ2xpZW50JiBj
aHJvbWVDbGllbnQpCiB7CiAgICAgcmV0dXJuIGNocm9tZUNsaWVudC5pc0VtcHR5Q2hyb21lQ2xp
ZW50KCkgfHwgY2hyb21lQ2xpZW50LmlzU1ZHSW1hZ2VDaHJvbWVDbGllbnQoKTsKIH0KIAordW5z
aWduZWQgUGFnZTo6bm9uVXRpbGl0eVBhZ2VDb3VudCgpCit7CisgICAgcmV0dXJuIGdOb25VdGls
aXR5UGFnZUNvdW50OworfQorCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RGOjpSZWZDb3Vu
dGVkTGVha0NvdW50ZXIsIHBhZ2VDb3VudGVyLCAoIlBhZ2UiKSk7CiAKIHZvaWQgUGFnZTo6Zm9y
RWFjaFBhZ2UoY29uc3QgV1RGOjpGdW5jdGlvbjx2b2lkKFBhZ2UmKT4mIGZ1bmN0aW9uKQpAQCAt
MzM0LDggKzMzOSw4IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmln
dXJhdGlvbikKICAgICBhbGxQYWdlcygpLmFkZCh0aGlzKTsKIAogICAgIGlmICghaXNVdGlsaXR5
UGFnZSgpKSB7Ci0gICAgICAgICsrbm9uVXRpbGl0eVBhZ2VDb3VudDsKLSAgICAgICAgTWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjpzZXRQYWdlQ291bnQobm9uVXRpbGl0eVBhZ2VDb3VudCk7CisgICAg
ICAgICsrZ05vblV0aWxpdHlQYWdlQ291bnQ7CisgICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxl
cjo6c2V0UGFnZUNvdW50KGdOb25VdGlsaXR5UGFnZUNvdW50KTsKICAgICB9CiAKICNpZm5kZWYg
TkRFQlVHCkBAIC0zNzUsOCArMzgwLDggQEAgUGFnZTo6flBhZ2UoKQogICAgIHNldEdyb3VwTmFt
ZShTdHJpbmcoKSk7CiAgICAgYWxsUGFnZXMoKS5yZW1vdmUodGhpcyk7CiAgICAgaWYgKCFpc1V0
aWxpdHlQYWdlKCkpIHsKLSAgICAgICAgLS1ub25VdGlsaXR5UGFnZUNvdW50OwotICAgICAgICBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNldFBhZ2VDb3VudChub25VdGlsaXR5UGFnZUNvdW50KTsK
KyAgICAgICAgLS1nTm9uVXRpbGl0eVBhZ2VDb3VudDsKKyAgICAgICAgTWVtb3J5UHJlc3N1cmVI
YW5kbGVyOjpzZXRQYWdlQ291bnQoZ05vblV0aWxpdHlQYWdlQ291bnQpOwogICAgIH0KICAgICAK
ICAgICBtX3NldHRpbmdzLT5wYWdlRGVzdHJveWVkKCk7CkBAIC0xMjk0LDcgKzEyOTksNyBAQCB2
b2lkIFBhZ2U6OmRpZEZpbmlzaExvYWQoKQogCiBib29sIFBhZ2U6OmlzT25seU5vblV0aWxpdHlQ
YWdlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gIWlzVXRpbGl0eVBhZ2UoKSAmJiBub25VdGlsaXR5
UGFnZUNvdW50ID09IDE7CisgICAgcmV0dXJuICFpc1V0aWxpdHlQYWdlKCkgJiYgZ05vblV0aWxp
dHlQYWdlQ291bnQgPT0gMTsKIH0KIAogdm9pZCBQYWdlOjpzZXRMb3dQb3dlck1vZGVFbmFibGVk
T3ZlcnJpZGVGb3JUZXN0aW5nKHN0ZDo6b3B0aW9uYWw8Ym9vbD4gaXNFbmFibGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAppbmRleCAyMDc5YzVhNTRiYjEwODRlYWVjMWI1NTUzYTYxMTUxMDNiMDk3YzgwLi43YjM5
MGNiYWM2OTM4MDY0MjIxMGQ3NWQ0NDkyODM4MzYxNDgxNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAt
MjgyLDYgKzI4Miw3IEBAIHB1YmxpYzoKICAgICBQYWdlR3JvdXAmIGdyb3VwKCk7CiAKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBmb3JFYWNoUGFnZShjb25zdCBXVEY6OkZ1bmN0aW9u
PHZvaWQoUGFnZSYpPiYpOworICAgIHN0YXRpYyB1bnNpZ25lZCBub25VdGlsaXR5UGFnZUNvdW50
KCk7CiAKICAgICB1bnNpZ25lZCBzdWJmcmFtZUNvdW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggNGI4
NzIwYzY3MGEwYzM3NGU5N2JjMDhkYmI2NTFhNzYxNmExNmQ2My4uZmVmYjA0NWRhMjQ5YzE2OGI1
ZjBkZjYyMTlkYjM5YzIzNjA5N2RjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTExNCw2ICsxMTQsMTEgQEAgYm9vbCBT
TUlMVGltZUNvbnRhaW5lcjo6aXNTdGFydGVkKCkgY29uc3QKIHZvaWQgU01JTFRpbWVDb250YWlu
ZXI6OmJlZ2luKCkKIHsKICAgICBBU1NFUlQoIW1fYmVnaW5UaW1lKTsKKworICAgIEFTU0VSVChQ
YWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkpOworICAgIGlmICghUGFnZTo6bm9uVXRpbGl0eVBh
Z2VDb3VudCgpKQorICAgICAgICByZXR1cm47CisKICAgICBNb25vdG9uaWNUaW1lIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgLy8gSWYgJ21fcHJlc2V0U3RhcnRUaW1lJyBpcyBz
ZXQsIHRoZSB0aW1lbGluZSB3YXMgbW9kaWZpZWQgdmlhIHNldEVsYXBzZWQoKSBiZWZvcmUgdGhl
IGRvY3VtZW50IGJlZ2FuLgpAQCAtMTQyLDYgKzE0Nyw5IEBAIHZvaWQgU01JTFRpbWVDb250YWlu
ZXI6OnBhdXNlKCkKIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnJlc3VtZSgpCiB7CiAgICAgQVNT
RVJUKGlzUGF1c2VkKCkpOworICAgIEFTU0VSVChQYWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkp
OworICAgIGlmICghUGFnZTo6bm9uVXRpbGl0eVBhZ2VDb3VudCgpKQorICAgICAgICByZXR1cm47
CiAKICAgICBtX3Jlc3VtZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBtX3BhdXNl
VGltZSA9IE1vbm90b25pY1RpbWUoKTsKQEAgLTE1MCw3ICsxNTgsMTEgQEAgdm9pZCBTTUlMVGlt
ZUNvbnRhaW5lcjo6cmVzdW1lKCkKIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c2V0RWxhcHNl
ZChTTUlMVGltZSB0aW1lKQogewotICAgIC8vIElmIHRoZSBkb2N1bW1lbnQgZGlkbid0IGJlZ2lu
IHlldCwgcmVjb3JkIGEgbmV3IHN0YXJ0IHRpbWUsIHdlJ2xsIHNlZWsgdG8gb25jZSBpdHMgcG9z
c2libGUuCisgICAgQVNTRVJUKFBhZ2U6Om5vblV0aWxpdHlQYWdlQ291bnQoKSk7CisgICAgaWYg
KCFQYWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8v
IElmIHRoZSBkb2N1bWVudCBkaWRuJ3QgYmVnaW4geWV0LCByZWNvcmQgYSBuZXcgc3RhcnQgdGlt
ZSwgd2UnbGwgc2VlayB0byBvbmNlIGl0cyBwb3NzaWJsZS4KICAgICBpZiAoIW1fYmVnaW5UaW1l
KSB7CiAgICAgICAgIG1fcHJlc2V0U3RhcnRUaW1lID0gU2Vjb25kcyh0aW1lLnZhbHVlKCkpOwog
ICAgICAgICByZXR1cm47CkBAIC0xODMsNiArMTk1LDEwIEBAIHZvaWQgU01JTFRpbWVDb250YWlu
ZXI6OnN0YXJ0VGltZXIoU01JTFRpbWUgZWxhcHNlZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxU
aW1lCiAgICAgaWYgKCFmaXJlVGltZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBBU1NFUlQoUGFnZTo6bm9uVXRpbGl0eVBhZ2VDb3VudCgpKTsKKyAgICBpZiAoIVBhZ2U6Om5v
blV0aWxpdHlQYWdlQ291bnQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgU01JTFRpbWUgZGVs
YXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7CiAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMV9zICogZGVsYXkudmFsdWUoKSk7CiB9CkBAIC0yMzgsNiArMjU0
LDEwIEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnByb2Nlc3NTY2hlZHVsZWRBbmltYXRpb25z
KGNvbnN0IEZ1bmN0aW9uPHZvaWQoU1ZHU01JTEVsCiAKIHZvaWQgU01JTFRpbWVDb250YWluZXI6
OnVwZGF0ZUFuaW1hdGlvbnMoU01JTFRpbWUgZWxhcHNlZCwgYm9vbCBzZWVrVG9UaW1lKQogewor
ICAgIEFTU0VSVChQYWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkpOworICAgIGlmICghUGFnZTo6
bm9uVXRpbGl0eVBhZ2VDb3VudCgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyBEb24ndCBt
dXRhdGUgdGhlIERPTSB3aGlsZSB1cGRhdGluZyB0aGUgYW5pbWF0aW9ucy4KICAgICBFdmVudFF1
ZXVlU2NvcGUgc2NvcGU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433158</attachid>
            <date>2021-07-08 13:00:52 -0700</date>
            <delta_ts>2021-07-08 17:12:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227720-20210708130051.patch</filename>
            <type>text/plain</type>
            <size>6145</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYxNGFlZjk1NWM1NzVk
MjlkYzNjYWYyZThiNGM0NTU5MjA0NTcyOC4uNTEwYWZjOGIxM2QyMmEyNzVjNDdlZDM3NWU2MDBl
ZWJiZjEwZGQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA3LTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIFNWRyBTTUlM
IGFuaW1hdGlvbnMgZG8gbm90IHJ1biBpbiBwcm9jZXNzZXMgd2l0aG91dCBhbnkgcGFnZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzcyMAorICAg
ICAgICA8cmRhcjovLzc5NjI1NzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSBTVkcgU01JTCBhbmltYXRpb25zIGRvIG5vdCBydW4g
aW4gcHJvY2Vzc2VzIHdpdGhvdXQgYW55IHBhZ2VzLgorCisgICAgICAgIFdlIGhhdmUgc2VlbiB0
cmFjZXMgLyBsb2dnaW5nIGluZGljYXRpbmcgdGhhdCBTVkcgU01JTCBhbmltYXRpb25zIG1heSBy
dW4gaW4gY2FjaGVkIFdlYlByb2Nlc3NlcywgdGh1cworICAgICAgICB1c2luZyBDUFUgdW5uZWNl
c3NhcmlseS4gQ2FjaGVkIFdlYlByb2Nlc3NlcyBoYXZlIG5vIFdlYlBhZ2Ugc28gdGhpcyBwYXRj
aCBhZGRzIGFzc2VydGlvbnMgdG8gY2F0Y2ggY2FzZXMKKyAgICAgICAgd2hlcmUgdGhvc2UgYW5p
bWF0aW9ucyBydW4gd2hlbiB0aGVyZSBpcyBubyBQYWdlIChhbmQgZWFybHkgcmV0dXJucyBpbiBy
ZWxlYXNlIHRvIGF2b2lkIGRvaW5nIHVubmVjZXNzYXJ5CisgICAgICAgIHdvcmspLgorCisgICAg
ICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om5vblV0aWxpdHlQ
YWdlQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6bV9odHRwc1VwZ3JhZGVFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6On5QYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Omlz
T25seU5vblV0aWxpdHlQYWdlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAg
ICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNNSUxUaW1lQ29udGFpbmVyOjpiZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGlt
ZUNvbnRhaW5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVy
OjpzZXRFbGFwc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFy
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmlt
YXRpb25zKToKKwogMjAyMS0wNy0wOCAgWW9zaGlha2kgSml0c3VrYXdhICA8eW9zaGlha2kuaml0
c3VrYXdhQHNvbnkuY29tPgogCiAgICAgICAgIFtPcGVuU1NMXSBJbXBsZW1lbnQgSEtERiBhbmQg
UEJLREYyIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGYyZjAxYWM4MDc0ZTcyMDgyMThh
YzNmNzQ5YTI3Mzk0YjNjZDFiYTAuLjMxNTI3MGViYmRlNzYwOWM3NjQwMzg4MDZiN2NjNjQ2MDEy
NmYxMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTg5LDEzICsxODksMTggQEAgc3RhdGljIEhh
c2hTZXQ8UGFnZSo+JiBhbGxQYWdlcygpCiAgICAgcmV0dXJuIHNldDsKIH0KIAotc3RhdGljIHVu
c2lnbmVkIG5vblV0aWxpdHlQYWdlQ291bnQgeyAwIH07CitzdGF0aWMgdW5zaWduZWQgZ05vblV0
aWxpdHlQYWdlQ291bnQgeyAwIH07CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1V0aWxpdHlQYWdl
Q2hyb21lQ2xpZW50KENocm9tZUNsaWVudCYgY2hyb21lQ2xpZW50KQogewogICAgIHJldHVybiBj
aHJvbWVDbGllbnQuaXNFbXB0eUNocm9tZUNsaWVudCgpIHx8IGNocm9tZUNsaWVudC5pc1NWR0lt
YWdlQ2hyb21lQ2xpZW50KCk7CiB9CiAKK3Vuc2lnbmVkIFBhZ2U6Om5vblV0aWxpdHlQYWdlQ291
bnQoKQoreworICAgIHJldHVybiBnTm9uVXRpbGl0eVBhZ2VDb3VudDsKK30KKwogREVGSU5FX0RF
QlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBwYWdlQ291bnRlciwg
KCJQYWdlIikpOwogCiB2b2lkIFBhZ2U6OmZvckVhY2hQYWdlKGNvbnN0IFdURjo6RnVuY3Rpb248
dm9pZChQYWdlJik+JiBmdW5jdGlvbikKQEAgLTMzNCw4ICszMzksOCBAQCBQYWdlOjpQYWdlKFBh
Z2VDb25maWd1cmF0aW9uJiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgYWxsUGFnZXMoKS5hZGQo
dGhpcyk7CiAKICAgICBpZiAoIWlzVXRpbGl0eVBhZ2UoKSkgewotICAgICAgICArK25vblV0aWxp
dHlQYWdlQ291bnQ7Ci0gICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2V0UGFnZUNvdW50
KG5vblV0aWxpdHlQYWdlQ291bnQpOworICAgICAgICArK2dOb25VdGlsaXR5UGFnZUNvdW50Owor
ICAgICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNldFBhZ2VDb3VudChnTm9uVXRpbGl0eVBh
Z2VDb3VudCk7CiAgICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtMzc1LDggKzM4MCw4IEBAIFBh
Z2U6On5QYWdlKCkKICAgICBzZXRHcm91cE5hbWUoU3RyaW5nKCkpOwogICAgIGFsbFBhZ2VzKCku
cmVtb3ZlKHRoaXMpOwogICAgIGlmICghaXNVdGlsaXR5UGFnZSgpKSB7Ci0gICAgICAgIC0tbm9u
VXRpbGl0eVBhZ2VDb3VudDsKLSAgICAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzZXRQYWdl
Q291bnQobm9uVXRpbGl0eVBhZ2VDb3VudCk7CisgICAgICAgIC0tZ05vblV0aWxpdHlQYWdlQ291
bnQ7CisgICAgICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2V0UGFnZUNvdW50KGdOb25VdGls
aXR5UGFnZUNvdW50KTsKICAgICB9CiAgICAgCiAgICAgbV9zZXR0aW5ncy0+cGFnZURlc3Ryb3ll
ZCgpOwpAQCAtMTI5NCw3ICsxMjk5LDcgQEAgdm9pZCBQYWdlOjpkaWRGaW5pc2hMb2FkKCkKIAog
Ym9vbCBQYWdlOjppc09ubHlOb25VdGlsaXR5UGFnZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFp
c1V0aWxpdHlQYWdlKCkgJiYgbm9uVXRpbGl0eVBhZ2VDb3VudCA9PSAxOworICAgIHJldHVybiAh
aXNVdGlsaXR5UGFnZSgpICYmIGdOb25VdGlsaXR5UGFnZUNvdW50ID09IDE7CiB9CiAKIHZvaWQg
UGFnZTo6c2V0TG93UG93ZXJNb2RlRW5hYmxlZE92ZXJyaWRlRm9yVGVzdGluZyhzdGQ6Om9wdGlv
bmFsPGJvb2w+IGlzRW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMjA3OWM1YTU0YmIxMDg0ZWFl
YzFiNTU1M2E2MTE1MTAzYjA5N2M4MC4uN2IzOTBjYmFjNjkzODA2NDIyMTBkNzVkNDQ5MjgzODM2
MTQ4MTcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTI4Miw2ICsyODIsNyBAQCBwdWJsaWM6CiAgICAg
UGFnZUdyb3VwJiBncm91cCgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZm9y
RWFjaFBhZ2UoY29uc3QgV1RGOjpGdW5jdGlvbjx2b2lkKFBhZ2UmKT4mKTsKKyAgICBzdGF0aWMg
dW5zaWduZWQgbm9uVXRpbGl0eVBhZ2VDb3VudCgpOwogCiAgICAgdW5zaWduZWQgc3ViZnJhbWVD
b3VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9u
L1NNSUxUaW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01J
TFRpbWVDb250YWluZXIuY3BwCmluZGV4IDRiODcyMGM2NzBhMGMzNzRlOTdiYzA4ZGJiNjUxYTc2
MTZhMTZkNjMuLmZlZmIwNDVkYTI0OWMxNjhiNWYwZGY2MjE5ZGIzOWMyMzYwOTdkYzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3Bw
CkBAIC0xMTQsNiArMTE0LDExIEBAIGJvb2wgU01JTFRpbWVDb250YWluZXI6OmlzU3RhcnRlZCgp
IGNvbnN0CiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpiZWdpbigpCiB7CiAgICAgQVNTRVJUKCFt
X2JlZ2luVGltZSk7CisKKyAgICBBU1NFUlQoUGFnZTo6bm9uVXRpbGl0eVBhZ2VDb3VudCgpKTsK
KyAgICBpZiAoIVBhZ2U6Om5vblV0aWxpdHlQYWdlQ291bnQoKSkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgTW9ub3RvbmljVGltZSBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIC8v
IElmICdtX3ByZXNldFN0YXJ0VGltZScgaXMgc2V0LCB0aGUgdGltZWxpbmUgd2FzIG1vZGlmaWVk
IHZpYSBzZXRFbGFwc2VkKCkgYmVmb3JlIHRoZSBkb2N1bWVudCBiZWdhbi4KQEAgLTE0Miw2ICsx
NDcsOSBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpwYXVzZSgpCiB2b2lkIFNNSUxUaW1lQ29u
dGFpbmVyOjpyZXN1bWUoKQogewogICAgIEFTU0VSVChpc1BhdXNlZCgpKTsKKyAgICBBU1NFUlQo
UGFnZTo6bm9uVXRpbGl0eVBhZ2VDb3VudCgpKTsKKyAgICBpZiAoIVBhZ2U6Om5vblV0aWxpdHlQ
YWdlQ291bnQoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgbV9yZXN1bWVUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CiAgICAgbV9wYXVzZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CkBAIC0x
NTAsNyArMTU4LDExIEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnJlc3VtZSgpCiAKIHZvaWQg
U01JTFRpbWVDb250YWluZXI6OnNldEVsYXBzZWQoU01JTFRpbWUgdGltZSkKIHsKLSAgICAvLyBJ
ZiB0aGUgZG9jdW1tZW50IGRpZG4ndCBiZWdpbiB5ZXQsIHJlY29yZCBhIG5ldyBzdGFydCB0aW1l
LCB3ZSdsbCBzZWVrIHRvIG9uY2UgaXRzIHBvc3NpYmxlLgorICAgIEFTU0VSVChQYWdlOjpub25V
dGlsaXR5UGFnZUNvdW50KCkpOworICAgIGlmICghUGFnZTo6bm9uVXRpbGl0eVBhZ2VDb3VudCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiB0aGUgZG9jdW1lbnQgZGlkbid0IGJlZ2lu
IHlldCwgcmVjb3JkIGEgbmV3IHN0YXJ0IHRpbWUsIHdlJ2xsIHNlZWsgdG8gb25jZSBpdHMgcG9z
c2libGUuCiAgICAgaWYgKCFtX2JlZ2luVGltZSkgewogICAgICAgICBtX3ByZXNldFN0YXJ0VGlt
ZSA9IFNlY29uZHModGltZS52YWx1ZSgpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTgzLDYgKzE5
NSwxMCBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBz
ZWQsIFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZQogICAgIGlmICghZmlyZVRpbWUuaXNGaW5p
dGUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgQVNTRVJUKFBhZ2U6Om5vblV0aWxpdHlQYWdl
Q291bnQoKSk7CisgICAgaWYgKCFQYWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkpCisgICAgICAg
IHJldHVybjsKKwogICAgIFNNSUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBlbGFw
c2VkLCBtaW5pbXVtRGVsYXkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfcyAqIGRlbGF5
LnZhbHVlKCkpOwogfQpAQCAtMjM4LDYgKzI1NCwxMCBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVy
Ojpwcm9jZXNzU2NoZWR1bGVkQW5pbWF0aW9ucyhjb25zdCBGdW5jdGlvbjx2b2lkKFNWR1NNSUxF
bAogCiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp1cGRhdGVBbmltYXRpb25zKFNNSUxUaW1lIGVs
YXBzZWQsIGJvb2wgc2Vla1RvVGltZSkKIHsKKyAgICBBU1NFUlQoUGFnZTo6bm9uVXRpbGl0eVBh
Z2VDb3VudCgpKTsKKyAgICBpZiAoIVBhZ2U6Om5vblV0aWxpdHlQYWdlQ291bnQoKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgLy8gRG9uJ3QgbXV0YXRlIHRoZSBET00gd2hpbGUgdXBkYXRpbmcg
dGhlIGFuaW1hdGlvbnMuCiAgICAgRXZlbnRRdWV1ZVNjb3BlIHNjb3BlOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>