<?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>206460</bug_id>
          
          <creation_ts>2020-01-17 16:45:07 -0800</creation_ts>
          <short_desc>[bmalloc] Make use of LockHolder strict in some methods of Scavenger</short_desc>
          <delta_ts>2020-01-21 12:34:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>bmalloc</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="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>basuke</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608308</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-01-17 16:45:07 -0800</bug_when>
    <thetext>void Scavenger::runHoldingLock() assume the caller has lock. This rule can be strict by passing LockHolder as other code do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608320</commentid>
    <comment_count>1</comment_count>
      <attachid>388119</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-01-17 17:05:47 -0800</bug_when>
    <thetext>Created attachment 388119
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608813</commentid>
    <comment_count>2</comment_count>
      <attachid>388119</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-20 11:55:29 -0800</bug_when>
    <thetext>Comment on attachment 388119
PATCH

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

Saying review+, but there is something wrong here.

&gt; Source/bmalloc/bmalloc/Scavenger.h:57
&gt; -    void run();
&gt; +    BINLINE void run();

It’s *not* OK to have a public function marked inline that is not defined in the header. This is code that won’t compile in some scenarios, where the code is not part of the appropriate translation unit. Not sure what the situation is. Could be one of these:

a) This member function already gets inlined for callers inside Scavenger.cpp even if we don’t mark it with BINLINE. So we don’t need &quot;always inline&quot; nor do we need to mark this function as inline at all, and we should not make this change.

b) This member function is never called outside the Scavenger class so it can be made private. But it does need to be marked &quot;always inline&quot;, so we should keep this BINLINE but also move it from public to private.

c) This member function is called outside the Scavenger class but only inside Scavenger.cpp, so the patch is OK as-is, but we’ll have a problem waiting for us if Ian the future anyone adds any new calls to the function outside Scavenger.cpp.

d ...) Some more complicated situation. Perhaps one with no obvious solution?

I’m guessing it’s (a) and no change should be made here, but I’m not sure.

&gt; Source/bmalloc/bmalloc/Scavenger.h:60
&gt; -    void runSoon();
&gt; +    BINLINE void runSoon();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609129</commentid>
    <comment_count>3</comment_count>
      <attachid>388119</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-01-21 10:30:57 -0800</bug_when>
    <thetext>Comment on attachment 388119
PATCH

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

&gt;&gt; Source/bmalloc/bmalloc/Scavenger.h:57
&gt;&gt; +    BINLINE void run();
&gt; 
&gt; It’s *not* OK to have a public function marked inline that is not defined in the header. This is code that won’t compile in some scenarios, where the code is not part of the appropriate translation unit. Not sure what the situation is. Could be one of these:
&gt; 
&gt; a) This member function already gets inlined for callers inside Scavenger.cpp even if we don’t mark it with BINLINE. So we don’t need &quot;always inline&quot; nor do we need to mark this function as inline at all, and we should not make this change.
&gt; 
&gt; b) This member function is never called outside the Scavenger class so it can be made private. But it does need to be marked &quot;always inline&quot;, so we should keep this BINLINE but also move it from public to private.
&gt; 
&gt; c) This member function is called outside the Scavenger class but only inside Scavenger.cpp, so the patch is OK as-is, but we’ll have a problem waiting for us if Ian the future anyone adds any new calls to the function outside Scavenger.cpp.
&gt; 
&gt; d ...) Some more complicated situation. Perhaps one with no obvious solution?
&gt; 
&gt; I’m guessing it’s (a) and no change should be made here, but I’m not sure.

Ah. Good point. Thanks. As original code doesn&apos;t have BINLINE, we should leave this as is, no BINLINE and hope compiler do well for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609130</commentid>
    <comment_count>4</comment_count>
      <attachid>388318</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-01-21 10:34:16 -0800</bug_when>
    <thetext>Created attachment 388318
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609154</commentid>
    <comment_count>5</comment_count>
      <attachid>388326</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2020-01-21 11:27:34 -0800</bug_when>
    <thetext>Created attachment 388326
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609203</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-21 12:33:13 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388326:

imported/w3c/web-platform-tests/IndexedDB/fire-error-event-exception.html bug 201481 (authors: shvaikalesh@gmail.com and youennf@gmail.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609204</commentid>
    <comment_count>7</comment_count>
      <attachid>388326</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-21 12:33:46 -0800</bug_when>
    <thetext>Comment on attachment 388326
PATCH

Clearing flags on attachment: 388326

Committed r254871: &lt;https://trac.webkit.org/changeset/254871&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609205</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-21 12:33:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609206</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-21 12:34:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/58769352&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388119</attachid>
            <date>2020-01-17 17:05:47 -0800</date>
            <delta_ts>2020-01-21 10:34:16 -0800</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-206460.diff</filename>
            <type>text/plain</type>
            <size>4188</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0No
YW5nZUxvZwppbmRleCAyMGQ3OWUzMzgxOS4uNTM1YjA2YjlmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMC0wMS0xNyAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW2JtYWxsb2NdIE1ha2UgdXNlIG9mIExvY2tIb2xkZXIgc3RyaWN0
IGluIHNvbWUgbWV0aG9kcyBvZiBTY2F2ZW5nZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZvciBpbnN0YW5jZSwgU2NhdmVuZ2VyOjpydW5Ib2xkaW5n
TG9jaygpIGFzc3VtZSB0aGUgY2FsbGVyIGhhcyBsb2NrIGFuZCBleHByZXNzIHRoYXQgYnkgaXRz
IGZ1bmN0aW9uIG5hbWUuIFRoaXMgcnVsZSBjYW4gYmUKKyAgICAgICAgc3RyaWN0IGJ5IHBhc3Np
bmcgTG9ja0hvbGRlciBhbmQgdGhhdCdzIHRoZSB3YXkgYXMgb3RoZXIgY29kZSBkby4KKworICAg
ICAgICBTYW1lIGNoYW5nZSB0byBydW5Tb29uSG9sZGluZ0xvY2sgYW5kIHNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2suCisKKyAgICAgICAgKiBibWFsbG9jL1NjYXZlbmdl
ci5jcHA6CisgICAgICAgIChibWFsbG9jOjpTY2F2ZW5nZXI6OnJ1bik6CisgICAgICAgIChibWFs
bG9jOjpTY2F2ZW5nZXI6OnJ1blNvb24pOgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpz
Y2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZSk6CisgICAgICAgIChibWFsbG9jOjpTY2F2ZW5n
ZXI6OnNjaGVkdWxlKToKKyAgICAgICAgKGJtYWxsb2M6OlNjYXZlbmdlcjo6cnVuSG9sZGluZ0xv
Y2spOiBSZW5hbWVkLgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpydW5Tb29uSG9sZGlu
Z0xvY2spOiBSZW5hbWVkLgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpzY2hlZHVsZUlm
VW5kZXJNZW1vcnlQcmVzc3VyZUhvbGRpbmdMb2NrKTogUmVuYW1lZC4KKyAgICAgICAgKiBibWFs
bG9jL1NjYXZlbmdlci5oOgorCiAyMDIwLTAxLTE3ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1
enVraUBzb255LmNvbT4KIAogICAgICAgICBbYm1hbGxvY10gRGVmaW5lIGFsaWFzIGZvciBzdGQ6
OmxvY2tfZ3VhcmQgYW5kIHN0ZDo6dW5pcXVlX2xvY2sgZm9yIGJldHRlciByZWFkYWJpbGl0eQpk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwCmluZGV4IGQ1NzU3ZTJhOTA5Li43OWU5OGZj
MGYwZSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwCisr
KyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmNwcApAQCAtOTMsMTAgKzkzLDEw
IEBAIFNjYXZlbmdlcjo6U2NhdmVuZ2VyKGNvbnN0IExvY2tIb2xkZXImKQogdm9pZCBTY2F2ZW5n
ZXI6OnJ1bigpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHJ1bkhvbGRp
bmdMb2NrKCk7CisgICAgcnVuKGxvY2spOwogfQogCi12b2lkIFNjYXZlbmdlcjo6cnVuSG9sZGlu
Z0xvY2soKQordm9pZCBTY2F2ZW5nZXI6OnJ1bihjb25zdCBMb2NrSG9sZGVyJikKIHsKICAgICBt
X3N0YXRlID0gU3RhdGU6OlJ1bjsKICAgICBtX2NvbmRpdGlvbi5ub3RpZnlfYWxsKCk7CkBAIC0x
MDUsMTAgKzEwNSwxMCBAQCB2b2lkIFNjYXZlbmdlcjo6cnVuSG9sZGluZ0xvY2soKQogdm9pZCBT
Y2F2ZW5nZXI6OnJ1blNvb24oKQogewogICAgIExvY2tIb2xkZXIgbG9jayhtdXRleCgpKTsKLSAg
ICBydW5Tb29uSG9sZGluZ0xvY2soKTsKKyAgICBydW5Tb29uKGxvY2spOwogfQogCi12b2lkIFNj
YXZlbmdlcjo6cnVuU29vbkhvbGRpbmdMb2NrKCkKK3ZvaWQgU2NhdmVuZ2VyOjpydW5Tb29uKGNv
bnN0IExvY2tIb2xkZXImKQogewogICAgIGlmICh3aWxsUnVuU29vbigpKQogICAgICAgICByZXR1
cm47CkBAIC0xMjUsMTAgKzEyNSwxMCBAQCB2b2lkIFNjYXZlbmdlcjo6ZGlkU3RhcnRHcm93aW5n
KCkKIHZvaWQgU2NhdmVuZ2VyOjpzY2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZShzaXplX3Qg
Ynl0ZXMpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOworICAgIHNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlKGxvY2ssIGJ5dGVzKTsKIH0KIAotdm9pZCBTY2F2ZW5nZXI6OnNjaGVk
dWxlSWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5dGVzKQordm9pZCBT
Y2F2ZW5nZXI6OnNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlKGNvbnN0IExvY2tIb2xkZXIm
IGxvY2ssIHNpemVfdCBieXRlcykKIHsKICAgICBtX3NjYXZlbmdlckJ5dGVzICs9IGJ5dGVzOwog
ICAgIGlmIChtX3NjYXZlbmdlckJ5dGVzIDwgc2NhdmVuZ2VyQnl0ZXNQZXJNZW1vcnlQcmVzc3Vy
ZUNoZWNrKQpAQCAtMTQzLDE5ICsxNDMsMTkgQEAgdm9pZCBTY2F2ZW5nZXI6OnNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5dGVzKQogICAgICAgICByZXR1
cm47CiAKICAgICBtX2lzUHJvYmFibHlHcm93aW5nID0gZmFsc2U7Ci0gICAgcnVuSG9sZGluZ0xv
Y2soKTsKKyAgICBydW4obG9jayk7CiB9CiAKIHZvaWQgU2NhdmVuZ2VyOjpzY2hlZHVsZShzaXpl
X3QgYnl0ZXMpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHNjaGVkdWxl
SWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOworICAgIHNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlKGxvY2ssIGJ5dGVzKTsKICAgICAKICAgICBpZiAod2lsbFJ1blNv
b24oKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIG1faXNQcm9iYWJseUdyb3dpbmcgPSBm
YWxzZTsKLSAgICBydW5Tb29uSG9sZGluZ0xvY2soKTsKKyAgICBydW5Tb29uKGxvY2spOwogfQog
CiBpbmxpbmUgdm9pZCBkdW1wU3RhdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9TY2F2ZW5nZXIuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmgKaW5k
ZXggZTg5NzU0NjZjYjguLjU5YWQyMjU0MjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1NjYXZlbmdlci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2Vy
LmgKQEAgLTU0LDEwICs1NCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICAKICAgICBib29sIHdp
bGxSdW4oKSB7IHJldHVybiBtX3N0YXRlID09IFN0YXRlOjpSdW47IH0KLSAgICB2b2lkIHJ1bigp
OworICAgIEJJTkxJTkUgdm9pZCBydW4oKTsKICAgICAKICAgICBib29sIHdpbGxSdW5Tb29uKCkg
eyByZXR1cm4gbV9zdGF0ZSA+IFN0YXRlOjpTbGVlcDsgfQotICAgIHZvaWQgcnVuU29vbigpOwor
ICAgIEJJTkxJTkUgdm9pZCBydW5Tb29uKCk7CiAgICAgCiAgICAgQkVYUE9SVCB2b2lkIGRpZFN0
YXJ0R3Jvd2luZygpOwogICAgIEJFWFBPUlQgdm9pZCBzY2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVz
c3VyZShzaXplX3QgYnl0ZXMpOwpAQCAtNzcsMTAgKzc3LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgZW51bSBjbGFzcyBTdGF0ZSB7IFNsZWVwLCBSdW4sIFJ1blNvb24gfTsKICAgICAKLSAg
ICB2b2lkIHJ1bkhvbGRpbmdMb2NrKCk7Ci0gICAgdm9pZCBydW5Tb29uSG9sZGluZ0xvY2soKTsK
KyAgICB2b2lkIHJ1bihjb25zdCBMb2NrSG9sZGVyJik7CisgICAgdm9pZCBydW5Tb29uKGNvbnN0
IExvY2tIb2xkZXImKTsKIAotICAgIHZvaWQgc2NoZWR1bGVJZlVuZGVyTWVtb3J5UHJlc3N1cmVI
b2xkaW5nTG9jayhzaXplX3QgYnl0ZXMpOworICAgIHZvaWQgc2NoZWR1bGVJZlVuZGVyTWVtb3J5
UHJlc3N1cmUoY29uc3QgTG9ja0hvbGRlciYsIHNpemVfdCBieXRlcyk7CiAKICAgICBCTk9fUkVU
VVJOIHN0YXRpYyB2b2lkIHRocmVhZEVudHJ5UG9pbnQoU2NhdmVuZ2VyKik7CiAgICAgQk5PX1JF
VFVSTiB2b2lkIHRocmVhZFJ1bkxvb3AoKTsK
</data>
<flag name="review"
          id="403895"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388318</attachid>
            <date>2020-01-21 10:34:16 -0800</date>
            <delta_ts>2020-01-21 11:27:34 -0800</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-206460.diff</filename>
            <type>text/plain</type>
            <size>3829</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0No
YW5nZUxvZwppbmRleCAyMGQ3OWUzMzgxOS4uNTM1YjA2YjlmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMC0wMS0xOCAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW2JtYWxsb2NdIE1ha2UgdXNlIG9mIExvY2tIb2xkZXIgc3RyaWN0
IGluIHNvbWUgbWV0aG9kcyBvZiBTY2F2ZW5nZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZvciBpbnN0YW5jZSwgU2NhdmVuZ2VyOjpydW5Ib2xkaW5n
TG9jaygpIGFzc3VtZSB0aGUgY2FsbGVyIGhhcyBsb2NrIGFuZCBleHByZXNzIHRoYXQgYnkgaXRz
IGZ1bmN0aW9uIG5hbWUuIFRoaXMgcnVsZSBjYW4gYmUKKyAgICAgICAgc3RyaWN0IGJ5IHBhc3Np
bmcgTG9ja0hvbGRlciBhbmQgdGhhdCdzIHRoZSB3YXkgYXMgb3RoZXIgY29kZSBkby4KKworICAg
ICAgICBTYW1lIGNoYW5nZSB0byBydW5Tb29uSG9sZGluZ0xvY2sgYW5kIHNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2suCisKKyAgICAgICAgKiBibWFsbG9jL1NjYXZlbmdl
ci5jcHA6CisgICAgICAgIChibWFsbG9jOjpTY2F2ZW5nZXI6OnJ1bik6CisgICAgICAgIChibWFs
bG9jOjpTY2F2ZW5nZXI6OnJ1blNvb24pOgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpz
Y2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZSk6CisgICAgICAgIChibWFsbG9jOjpTY2F2ZW5n
ZXI6OnNjaGVkdWxlKToKKyAgICAgICAgKGJtYWxsb2M6OlNjYXZlbmdlcjo6cnVuSG9sZGluZ0xv
Y2spOiBSZW5hbWVkLgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpydW5Tb29uSG9sZGlu
Z0xvY2spOiBSZW5hbWVkLgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpzY2hlZHVsZUlm
VW5kZXJNZW1vcnlQcmVzc3VyZUhvbGRpbmdMb2NrKTogUmVuYW1lZC4KKyAgICAgICAgKiBibWFs
bG9jL1NjYXZlbmdlci5oOgorCiAyMDIwLTAxLTE3ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1
enVraUBzb255LmNvbT4KIAogICAgICAgICBbYm1hbGxvY10gRGVmaW5lIGFsaWFzIGZvciBzdGQ6
OmxvY2tfZ3VhcmQgYW5kIHN0ZDo6dW5pcXVlX2xvY2sgZm9yIGJldHRlciByZWFkYWJpbGl0eQpk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwCmluZGV4IGQ1NzU3ZTJhOTA5Li43OWU5OGZj
MGYwZSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwCisr
KyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmNwcApAQCAtOTMsMTAgKzkzLDEw
IEBAIFNjYXZlbmdlcjo6U2NhdmVuZ2VyKGNvbnN0IExvY2tIb2xkZXImKQogdm9pZCBTY2F2ZW5n
ZXI6OnJ1bigpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHJ1bkhvbGRp
bmdMb2NrKCk7CisgICAgcnVuKGxvY2spOwogfQogCi12b2lkIFNjYXZlbmdlcjo6cnVuSG9sZGlu
Z0xvY2soKQordm9pZCBTY2F2ZW5nZXI6OnJ1bihjb25zdCBMb2NrSG9sZGVyJikKIHsKICAgICBt
X3N0YXRlID0gU3RhdGU6OlJ1bjsKICAgICBtX2NvbmRpdGlvbi5ub3RpZnlfYWxsKCk7CkBAIC0x
MDUsMTAgKzEwNSwxMCBAQCB2b2lkIFNjYXZlbmdlcjo6cnVuSG9sZGluZ0xvY2soKQogdm9pZCBT
Y2F2ZW5nZXI6OnJ1blNvb24oKQogewogICAgIExvY2tIb2xkZXIgbG9jayhtdXRleCgpKTsKLSAg
ICBydW5Tb29uSG9sZGluZ0xvY2soKTsKKyAgICBydW5Tb29uKGxvY2spOwogfQogCi12b2lkIFNj
YXZlbmdlcjo6cnVuU29vbkhvbGRpbmdMb2NrKCkKK3ZvaWQgU2NhdmVuZ2VyOjpydW5Tb29uKGNv
bnN0IExvY2tIb2xkZXImKQogewogICAgIGlmICh3aWxsUnVuU29vbigpKQogICAgICAgICByZXR1
cm47CkBAIC0xMjUsMTAgKzEyNSwxMCBAQCB2b2lkIFNjYXZlbmdlcjo6ZGlkU3RhcnRHcm93aW5n
KCkKIHZvaWQgU2NhdmVuZ2VyOjpzY2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZShzaXplX3Qg
Ynl0ZXMpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOworICAgIHNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlKGxvY2ssIGJ5dGVzKTsKIH0KIAotdm9pZCBTY2F2ZW5nZXI6OnNjaGVk
dWxlSWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5dGVzKQordm9pZCBT
Y2F2ZW5nZXI6OnNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlKGNvbnN0IExvY2tIb2xkZXIm
IGxvY2ssIHNpemVfdCBieXRlcykKIHsKICAgICBtX3NjYXZlbmdlckJ5dGVzICs9IGJ5dGVzOwog
ICAgIGlmIChtX3NjYXZlbmdlckJ5dGVzIDwgc2NhdmVuZ2VyQnl0ZXNQZXJNZW1vcnlQcmVzc3Vy
ZUNoZWNrKQpAQCAtMTQzLDE5ICsxNDMsMTkgQEAgdm9pZCBTY2F2ZW5nZXI6OnNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5dGVzKQogICAgICAgICByZXR1
cm47CiAKICAgICBtX2lzUHJvYmFibHlHcm93aW5nID0gZmFsc2U7Ci0gICAgcnVuSG9sZGluZ0xv
Y2soKTsKKyAgICBydW4obG9jayk7CiB9CiAKIHZvaWQgU2NhdmVuZ2VyOjpzY2hlZHVsZShzaXpl
X3QgYnl0ZXMpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHNjaGVkdWxl
SWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOworICAgIHNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlKGxvY2ssIGJ5dGVzKTsKICAgICAKICAgICBpZiAod2lsbFJ1blNv
b24oKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIG1faXNQcm9iYWJseUdyb3dpbmcgPSBm
YWxzZTsKLSAgICBydW5Tb29uSG9sZGluZ0xvY2soKTsKKyAgICBydW5Tb29uKGxvY2spOwogfQog
CiBpbmxpbmUgdm9pZCBkdW1wU3RhdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9TY2F2ZW5nZXIuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmgKaW5k
ZXggZTg5NzU0NjZjYjguLjhmYjgyNTdlNTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1NjYXZlbmdlci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2Vy
LmgKQEAgLTc3LDEwICs3NywxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGVudW0gY2xhc3Mg
U3RhdGUgeyBTbGVlcCwgUnVuLCBSdW5Tb29uIH07CiAgICAgCi0gICAgdm9pZCBydW5Ib2xkaW5n
TG9jaygpOwotICAgIHZvaWQgcnVuU29vbkhvbGRpbmdMb2NrKCk7CisgICAgdm9pZCBydW4oY29u
c3QgTG9ja0hvbGRlciYpOworICAgIHZvaWQgcnVuU29vbihjb25zdCBMb2NrSG9sZGVyJik7CiAK
LSAgICB2b2lkIHNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90
IGJ5dGVzKTsKKyAgICB2b2lkIHNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlKGNvbnN0IExv
Y2tIb2xkZXImLCBzaXplX3QgYnl0ZXMpOwogCiAgICAgQk5PX1JFVFVSTiBzdGF0aWMgdm9pZCB0
aHJlYWRFbnRyeVBvaW50KFNjYXZlbmdlciopOwogICAgIEJOT19SRVRVUk4gdm9pZCB0aHJlYWRS
dW5Mb29wKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388326</attachid>
            <date>2020-01-21 11:27:34 -0800</date>
            <delta_ts>2020-01-21 12:33:46 -0800</delta_ts>
            <desc>PATCH</desc>
            <filename>bug-206460.diff</filename>
            <type>text/plain</type>
            <size>3826</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0No
YW5nZUxvZwppbmRleCAyMGQ3OWUzMzgxOS4uNTM1YjA2YjlmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMC0wMS0xOCAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW2JtYWxsb2NdIE1ha2UgdXNlIG9mIExvY2tIb2xkZXIgc3RyaWN0
IGluIHNvbWUgbWV0aG9kcyBvZiBTY2F2ZW5nZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIEZvciBpbnN0YW5jZSwgU2NhdmVuZ2VyOjpydW5Ib2xkaW5nTG9j
aygpIGFzc3VtZSB0aGUgY2FsbGVyIGhhcyBsb2NrIGFuZCBleHByZXNzIHRoYXQgYnkgaXRzIGZ1
bmN0aW9uIG5hbWUuIFRoaXMgcnVsZSBjYW4gYmUKKyAgICAgICAgc3RyaWN0IGJ5IHBhc3Npbmcg
TG9ja0hvbGRlciBhbmQgdGhhdCdzIHRoZSB3YXkgYXMgb3RoZXIgY29kZSBkby4KKworICAgICAg
ICBTYW1lIGNoYW5nZSB0byBydW5Tb29uSG9sZGluZ0xvY2sgYW5kIHNjaGVkdWxlSWZVbmRlck1l
bW9yeVByZXNzdXJlSG9sZGluZ0xvY2suCisKKyAgICAgICAgKiBibWFsbG9jL1NjYXZlbmdlci5j
cHA6CisgICAgICAgIChibWFsbG9jOjpTY2F2ZW5nZXI6OnJ1bik6CisgICAgICAgIChibWFsbG9j
OjpTY2F2ZW5nZXI6OnJ1blNvb24pOgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpzY2hl
ZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZSk6CisgICAgICAgIChibWFsbG9jOjpTY2F2ZW5nZXI6
OnNjaGVkdWxlKToKKyAgICAgICAgKGJtYWxsb2M6OlNjYXZlbmdlcjo6cnVuSG9sZGluZ0xvY2sp
OiBSZW5hbWVkLgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpydW5Tb29uSG9sZGluZ0xv
Y2spOiBSZW5hbWVkLgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpzY2hlZHVsZUlmVW5k
ZXJNZW1vcnlQcmVzc3VyZUhvbGRpbmdMb2NrKTogUmVuYW1lZC4KKyAgICAgICAgKiBibWFsbG9j
L1NjYXZlbmdlci5oOgorCiAyMDIwLTAxLTE3ICBCYXN1a2UgU3V6dWtpICA8YmFzdWtlLnN1enVr
aUBzb255LmNvbT4KIAogICAgICAgICBbYm1hbGxvY10gRGVmaW5lIGFsaWFzIGZvciBzdGQ6Omxv
Y2tfZ3VhcmQgYW5kIHN0ZDo6dW5pcXVlX2xvY2sgZm9yIGJldHRlciByZWFkYWJpbGl0eQpkaWZm
IC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwIGIvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwCmluZGV4IGQ1NzU3ZTJhOTA5Li43OWU5OGZjMGYw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwCisrKyBi
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmNwcApAQCAtOTMsMTAgKzkzLDEwIEBA
IFNjYXZlbmdlcjo6U2NhdmVuZ2VyKGNvbnN0IExvY2tIb2xkZXImKQogdm9pZCBTY2F2ZW5nZXI6
OnJ1bigpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHJ1bkhvbGRpbmdM
b2NrKCk7CisgICAgcnVuKGxvY2spOwogfQogCi12b2lkIFNjYXZlbmdlcjo6cnVuSG9sZGluZ0xv
Y2soKQordm9pZCBTY2F2ZW5nZXI6OnJ1bihjb25zdCBMb2NrSG9sZGVyJikKIHsKICAgICBtX3N0
YXRlID0gU3RhdGU6OlJ1bjsKICAgICBtX2NvbmRpdGlvbi5ub3RpZnlfYWxsKCk7CkBAIC0xMDUs
MTAgKzEwNSwxMCBAQCB2b2lkIFNjYXZlbmdlcjo6cnVuSG9sZGluZ0xvY2soKQogdm9pZCBTY2F2
ZW5nZXI6OnJ1blNvb24oKQogewogICAgIExvY2tIb2xkZXIgbG9jayhtdXRleCgpKTsKLSAgICBy
dW5Tb29uSG9sZGluZ0xvY2soKTsKKyAgICBydW5Tb29uKGxvY2spOwogfQogCi12b2lkIFNjYXZl
bmdlcjo6cnVuU29vbkhvbGRpbmdMb2NrKCkKK3ZvaWQgU2NhdmVuZ2VyOjpydW5Tb29uKGNvbnN0
IExvY2tIb2xkZXImKQogewogICAgIGlmICh3aWxsUnVuU29vbigpKQogICAgICAgICByZXR1cm47
CkBAIC0xMjUsMTAgKzEyNSwxMCBAQCB2b2lkIFNjYXZlbmdlcjo6ZGlkU3RhcnRHcm93aW5nKCkK
IHZvaWQgU2NhdmVuZ2VyOjpzY2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZShzaXplX3QgYnl0
ZXMpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOworICAgIHNjaGVkdWxlSWZVbmRlck1l
bW9yeVByZXNzdXJlKGxvY2ssIGJ5dGVzKTsKIH0KIAotdm9pZCBTY2F2ZW5nZXI6OnNjaGVkdWxl
SWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5dGVzKQordm9pZCBTY2F2
ZW5nZXI6OnNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlKGNvbnN0IExvY2tIb2xkZXImIGxv
Y2ssIHNpemVfdCBieXRlcykKIHsKICAgICBtX3NjYXZlbmdlckJ5dGVzICs9IGJ5dGVzOwogICAg
IGlmIChtX3NjYXZlbmdlckJ5dGVzIDwgc2NhdmVuZ2VyQnl0ZXNQZXJNZW1vcnlQcmVzc3VyZUNo
ZWNrKQpAQCAtMTQzLDE5ICsxNDMsMTkgQEAgdm9pZCBTY2F2ZW5nZXI6OnNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5dGVzKQogICAgICAgICByZXR1cm47
CiAKICAgICBtX2lzUHJvYmFibHlHcm93aW5nID0gZmFsc2U7Ci0gICAgcnVuSG9sZGluZ0xvY2so
KTsKKyAgICBydW4obG9jayk7CiB9CiAKIHZvaWQgU2NhdmVuZ2VyOjpzY2hlZHVsZShzaXplX3Qg
Ynl0ZXMpCiB7CiAgICAgTG9ja0hvbGRlciBsb2NrKG11dGV4KCkpOwotICAgIHNjaGVkdWxlSWZV
bmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOworICAgIHNjaGVkdWxlSWZVbmRl
ck1lbW9yeVByZXNzdXJlKGxvY2ssIGJ5dGVzKTsKICAgICAKICAgICBpZiAod2lsbFJ1blNvb24o
KSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIG1faXNQcm9iYWJseUdyb3dpbmcgPSBmYWxz
ZTsKLSAgICBydW5Tb29uSG9sZGluZ0xvY2soKTsKKyAgICBydW5Tb29uKGxvY2spOwogfQogCiBp
bmxpbmUgdm9pZCBkdW1wU3RhdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9TY2F2ZW5nZXIuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmgKaW5kZXgg
ZTg5NzU0NjZjYjguLjhmYjgyNTdlNTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1NjYXZlbmdlci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2NhdmVuZ2VyLmgK
QEAgLTc3LDEwICs3NywxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGVudW0gY2xhc3MgU3Rh
dGUgeyBTbGVlcCwgUnVuLCBSdW5Tb29uIH07CiAgICAgCi0gICAgdm9pZCBydW5Ib2xkaW5nTG9j
aygpOwotICAgIHZvaWQgcnVuU29vbkhvbGRpbmdMb2NrKCk7CisgICAgdm9pZCBydW4oY29uc3Qg
TG9ja0hvbGRlciYpOworICAgIHZvaWQgcnVuU29vbihjb25zdCBMb2NrSG9sZGVyJik7CiAKLSAg
ICB2b2lkIHNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6ZV90IGJ5
dGVzKTsKKyAgICB2b2lkIHNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlKGNvbnN0IExvY2tI
b2xkZXImLCBzaXplX3QgYnl0ZXMpOwogCiAgICAgQk5PX1JFVFVSTiBzdGF0aWMgdm9pZCB0aHJl
YWRFbnRyeVBvaW50KFNjYXZlbmdlciopOwogICAgIEJOT19SRVRVUk4gdm9pZCB0aHJlYWRSdW5M
b29wKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>