<?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>187919</bug_id>
          
          <creation_ts>2018-07-23 13:19:07 -0700</creation_ts>
          <short_desc>Revert back to using phys_footprint to calculate isUnderMemoryPressure()</short_desc>
          <delta_ts>2018-07-24 19:09:54 -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>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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1444385</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-23 13:19:07 -0700</bug_when>
    <thetext>Currently, we rely on bmalloc&apos;s physicalFootprint calculation. However, bmalloc may have a small or mediumish heap, but the process may be using a lot of dirty memory from elsewhere. It could still be helpful in preventing jetsam if bmalloc freed stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444513</commentid>
    <comment_count>1</comment_count>
      <attachid>345630</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-23 17:43:30 -0700</bug_when>
    <thetext>Created attachment 345630
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444517</commentid>
    <comment_count>2</comment_count>
      <attachid>345630</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-23 17:51:33 -0700</bug_when>
    <thetext>Comment on attachment 345630
patch

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

&gt; Source/bmalloc/bmalloc/Scavenger.cpp:136
&gt; +        task_vm_info_data_t vmInfo;
&gt; +        mach_msg_type_number_t vmSize = TASK_VM_INFO_COUNT;
&gt; +        if (KERN_SUCCESS == task_info(mach_task_self(), TASK_VM_INFO, (task_info_t)(&amp;vmInfo), &amp;vmSize))
&gt; +            return static_cast&lt;double&gt;(vmInfo.phys_footprint);
&gt; +        return 0.0;

Can this share code with memoryStatus()?

&gt; Source/bmalloc/bmalloc/Scavenger.cpp:140
&gt; +    if (osFootprint / hardwareMemoryCapacity &gt; 0.9)
&gt; +        return true;

I don&apos;t know how to reason whether that 90% threshold is reasonable. If feels bad to not scavenge if we&apos;re using 800MB, because 800MB is huge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444518</commentid>
    <comment_count>3</comment_count>
      <attachid>345630</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-23 17:57:03 -0700</bug_when>
    <thetext>Comment on attachment 345630
patch

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

&gt;&gt; Source/bmalloc/bmalloc/Scavenger.cpp:136
&gt;&gt; +        return 0.0;
&gt; 
&gt; Can this share code with memoryStatus()?

Yeah I can make it shared

&gt;&gt; Source/bmalloc/bmalloc/Scavenger.cpp:140
&gt;&gt; +        return true;
&gt; 
&gt; I don&apos;t know how to reason whether that 90% threshold is reasonable. If feels bad to not scavenge if we&apos;re using 800MB, because 800MB is huge.

This is just a heuristic. But specifically in this case, 800/840 &gt; .9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444541</commentid>
    <comment_count>4</comment_count>
      <attachid>345630</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-07-23 19:53:40 -0700</bug_when>
    <thetext>Comment on attachment 345630
patch

This looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444725</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-07-24 10:12:00 -0700</bug_when>
    <thetext>The logic of this code is getting pretty complicated, with multiple authors and multiple constraints we&apos;re trying to solve for.

How do we know if we&apos;re making things better or worse?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444765</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-24 11:39:10 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #5)
&gt; The logic of this code is getting pretty complicated, with multiple authors
&gt; and multiple constraints we&apos;re trying to solve for.
&gt; 
&gt; How do we know if we&apos;re making things better or worse?

When I implemented partial scavenging I manually verified we use less memory on average on the popular JS benchmarks.

For this change, I don’t know of a way to validate it besides just thinking about certain heap shapes that might lead bmalloc to not return memory to the OS.

Reasoning about this change, the only way I see it making things worse is by overscavenging when we’re close to the process’s memory limit. If that happens we’re in a world where we’re burning more CPU than necessary. However, it still seems better under that situation to spend CPU trying to free memory instead of allowing the process to jetsam</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444802</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-24 13:04:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/42552888&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444910</commentid>
    <comment_count>8</comment_count>
      <attachid>345731</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-24 17:41:15 -0700</bug_when>
    <thetext>Created attachment 345731
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444929</commentid>
    <comment_count>9</comment_count>
      <attachid>345731</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-24 19:09:52 -0700</bug_when>
    <thetext>Comment on attachment 345731
patch

Clearing flags on attachment: 345731

Committed r234185: &lt;https://trac.webkit.org/changeset/234185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444930</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-24 19:09:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345630</attachid>
            <date>2018-07-23 17:43:30 -0700</date>
            <delta_ts>2018-07-24 17:41:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>4975</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDEyNSkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA3LTIzICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFRha2UgaW50byBhY2NvdW50IHBo
eXNfZm9vdHByaW50IGZvciBpc1VuZGVyTWVtb3J5UHJlc3N1cmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzkxOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBvbiBpT1MsIGJtYWxsb2Mg
d2lsbCBydW4gdGhlIHNjYXZlbmdlciBtb3JlIGZyZXF1ZW50bHkgd2hlbiBpdCBkZXRlY3RzCisg
ICAgICAgIHRoYXQgdGhlIHByb2Nlc3MgaXMgdW5kZXIgbWVtb3J5IHByZXNzdXJlLiBIb3dldmVy
LCBpdCBvbmx5IHVzZXMgYm1hbGxvYydzCisgICAgICAgIG93biBmb290cHJpbnQgYXMgYSBwZXJj
ZW50YWdlIG9mIHRoZSBIVyBhdmFpbGFibGUgbWVtb3J5IHRvIGRldGVybWluZSBpZgorICAgICAg
ICB0aGUgcHJvY2VzcyBpcyB1bmRlciBtZW1vcnkgcHJlc3N1cmUuIFRoaXMgbWVhbnMgd2Ugd29u
J3QgcnVuIHRoZSBzY2F2ZW5nZXIgaW4KKyAgICAgICAgYSBoZWFwIGxpa2U6CisgICAgICAgIC0g
aGFyZHdhcmUgbWVtb3J5IGxpbWl0ID0gODQwTUIKKyAgICAgICAgLSBwcm9jZXNzIGZvb3Rwcmlu
dCA9IDgwME1CCisgICAgICAgIC0gYm1hbGxvYyBmb290cHJpbnQgPSA0NTBNQgorICAgICAgICBU
aGlzIGlzIHJlYWxseSB1bmZvcnR1bmF0ZSwgYmVjYXVzZSBldmVuIGluIHRoZSBhYm92ZSBoZWFw
LCBibWFsbG9jIG1heSBoYXZlIGEKKyAgICAgICAgbG90IG9mIHBoeXNpY2FsIG1lbW9yeSBpdCBj
YW4gcmV0dXJuIHRvIHRoZSBPUy4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMg
aXQgc28gdGhhdCB3ZSBub3cgaGF2ZSB0d28gdGhyZXNob2xkcyBmb3IgaXNVbmRlck1lbW9yeVBy
ZXNzdXJlOgorICAgICAgICAxLiBJZiBibWFsbG9jJ3MgZm9vdHByaW50IGlzID4gNzUlIG9mIGF2
YWlsYWJsZSBtZW1vcnksIHdlJ3JlIHVuZGVyIG1lbW9yeSBwcmVzc3VyZS4KKyAgICAgICAgMi4g
SWYgdGhlIHByb2Nlc3MncyBmb290cHJpbnQgaXMgPiA5MCUgb2YgYXZhaWxhYmxlIG1lbW9yeSwg
d2UncmUgdW5kZXIgbWVtb3J5IHByZXNzdXJlLgorICAgICAgICAzLiBPdGhlcndpc2UsIHdlJ3Jl
IG5vdCB1bmRlciBtZW1vcnkgcHJlc3N1cmUuCisKKyAgICAgICAgKiBibWFsbG9jL0F2YWlsYWJs
ZU1lbW9yeS5oOgorICAgICAgICAoYm1hbGxvYzo6aXNVbmRlck1lbW9yeVByZXNzdXJlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBibWFsbG9jL1NjYXZlbmdlci5jcHA6CisgICAgICAgIChibWFsbG9j
Ojppc1VuZGVyTWVtb3J5UHJlc3N1cmUpOgorICAgICAgICAoYm1hbGxvYzo6U2NhdmVuZ2VyOjpz
Y2hlZHVsZUlmVW5kZXJNZW1vcnlQcmVzc3VyZUhvbGRpbmdMb2NrKToKKyAgICAgICAgKGJtYWxs
b2M6OlNjYXZlbmdlcjo6dGhyZWFkUnVuTG9vcCk6CisgICAgICAgICogYm1hbGxvYy9TaXplcy5o
OgorCiAyMDE5LTA3LTEyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAg
ICAgICAgIERpc2FibGUgSXNvSGVhcHMgd2hlbiBHaWdhY2FnZSBpcyBvZmYKSW5kZXg6IFNvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvQXZhaWxhYmxlTWVtb3J5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAkocmV2aXNpb24gMjM0MTEwKQorKysg
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuaAkod29ya2luZyBjb3B5KQpA
QCAtNTksMTMgKzU5LDQgQEAgaW5saW5lIGRvdWJsZSBwZXJjZW50QXZhaWxhYmxlTWVtb3J5SW5V
cwogfQogI2VuZGlmCiAKLWlubGluZSBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpCi17Ci0j
aWYgQlBMQVRGT1JNKElPUykKLSAgICByZXR1cm4gcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNl
KCkgPiBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZDsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwot
I2VuZGlmCi19Ci0gICAgCiB9IC8vIG5hbWVzcGFjZSBibWFsbG9jCkluZGV4OiBTb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL1NjYXZlbmdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9TY2F2ZW5nZXIuY3BwCShyZXZpc2lvbiAyMzQxMTApCisrKyBTb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1NjYXZlbmdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOCw2ICsxMTgsMzQg
QEAgdm9pZCBTY2F2ZW5nZXI6OnNjaGVkdWxlSWZVbmRlck1lbW9yeVByZQogICAgIHNjaGVkdWxl
SWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soYnl0ZXMpOwogfQogCitzdGF0aWMgaW5s
aW5lIGJvb2wgaXNVbmRlck1lbW9yeVByZXNzdXJlKFNjYXZlbmdlciYgc2NhdmVuZ2VyKQorewor
I2lmIEJQTEFURk9STShJT1MpCisgICAgZG91YmxlIGhhcmR3YXJlTWVtb3J5Q2FwYWNpdHkgPSBh
dmFpbGFibGVNZW1vcnkoKTsKKyAgICBpZiAoIVBlclByb2Nlc3M8RW52aXJvbm1lbnQ+OjpnZXQo
KS0+aXNEZWJ1Z0hlYXBFbmFibGVkKCkpIHsKKyAgICAgICAgZG91YmxlIGJtYWxsb2NGb290cHJp
bnQgPSBzY2F2ZW5nZXIuZm9vdHByaW50KCk7CisgICAgICAgIGlmIChibWFsbG9jRm9vdHByaW50
IC8gaGFyZHdhcmVNZW1vcnlDYXBhY2l0eSA+IDAuNzUpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBkb3VibGUgb3NGb290cHJpbnQgPSBbXSB7CisgICAgICAgIHRhc2tf
dm1faW5mb19kYXRhX3Qgdm1JbmZvOworICAgICAgICBtYWNoX21zZ190eXBlX251bWJlcl90IHZt
U2l6ZSA9IFRBU0tfVk1fSU5GT19DT1VOVDsKKyAgICAgICAgaWYgKEtFUk5fU1VDQ0VTUyA9PSB0
YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwgVEFTS19WTV9JTkZPLCAodGFza19pbmZvX3QpKCZ2
bUluZm8pLCAmdm1TaXplKSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxkb3VibGU+
KHZtSW5mby5waHlzX2Zvb3RwcmludCk7CisgICAgICAgIHJldHVybiAwLjA7CisgICAgfSgpOwor
CisgICAgaWYgKG9zRm9vdHByaW50IC8gaGFyZHdhcmVNZW1vcnlDYXBhY2l0eSA+IDAuOSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7CisjZWxzZQorICAgIEJVTlVT
RURfUEFSQU0oc2NhdmVuZ2VyKTsKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogdm9p
ZCBTY2F2ZW5nZXI6OnNjaGVkdWxlSWZVbmRlck1lbW9yeVByZXNzdXJlSG9sZGluZ0xvY2soc2l6
ZV90IGJ5dGVzKQogewogICAgIG1fc2NhdmVuZ2VyQnl0ZXMgKz0gYnl0ZXM7CkBAIC0xMjksNyAr
MTU3LDcgQEAgdm9pZCBTY2F2ZW5nZXI6OnNjaGVkdWxlSWZVbmRlck1lbW9yeVByZQogICAgIGlm
ICh3aWxsUnVuKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghaXNVbmRlck1lbW9yeVBy
ZXNzdXJlKCkpCisgICAgaWYgKCFpc1VuZGVyTWVtb3J5UHJlc3N1cmUoKnRoaXMpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBtX2lzUHJvYmFibHlHcm93aW5nID0gZmFsc2U7CkBAIC00MDksNyAr
NDM3LDcgQEAgdm9pZCBTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKQogICAgICAgICAgICAgYXV0
byB0aW1lU2luY2VMYXN0UGFydGlhbFNjYXZlbmdlID0gdGhpcy0+dGltZVNpbmNlTGFzdFBhcnRp
YWxTY2F2ZW5nZSgpOwogICAgICAgICAgICAgYXV0byB0aW1lU2luY2VMYXN0U2NhdmVuZ2UgPSBz
dGQ6Om1pbih0aW1lU2luY2VMYXN0UGFydGlhbFNjYXZlbmdlLCB0aW1lU2luY2VMYXN0RnVsbFNj
YXZlbmdlKTsKIAotICAgICAgICAgICAgaWYgKGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpICYmIGZy
ZWVhYmxlTWVtb3J5ID4gMSAqIE1CICYmIHRpbWVTaW5jZUxhc3RTY2F2ZW5nZSA+IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMoNSkpCisgICAgICAgICAgICBpZiAoaXNVbmRlck1lbW9yeVByZXNz
dXJlKCp0aGlzKSAmJiBmcmVlYWJsZU1lbW9yeSA+IDEgKiBNQiAmJiB0aW1lU2luY2VMYXN0U2Nh
dmVuZ2UgPiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDUpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBTY2F2ZW5nZU1vZGU6OkZ1bGw7CiAKICAgICAgICAgICAgIGlmICghbV9pc1Byb2JhYmx5
R3Jvd2luZykgewpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TaXplcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU2l6ZXMuaAkocmV2aXNpb24gMjM0MTEwKQor
KysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TaXplcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3
ICs2OSw2IEBAIG5hbWVzcGFjZSBTaXplcyB7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBidW1w
UmFuZ2VDYWNoZUNhcGFjaXR5ID0gMzsKICAgICAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHNj
YXZlbmdlckJ5dGVzUGVyTWVtb3J5UHJlc3N1cmVDaGVjayA9IDE2ICogTUI7Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBtZW1vcnlQcmVzc3VyZVRocmVzaG9sZCA9IDAuNzU7CiAgICAgCiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBtYXNrU2l6ZUNsYXNzQ291bnQgPSBtYXNrU2l6ZUNsYXNzTWF4
IC8gYWxpZ25tZW50OwogCg==
</data>
<flag name="review"
          id="363556"
          type_id="1"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345731</attachid>
            <date>2018-07-24 17:41:15 -0700</date>
            <delta_ts>2018-07-24 19:09:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>2969</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDE4MikKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE4LTA3LTI0ICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmVydCBiYWNrIHRvIHVzaW5n
IHBoeXNfZm9vdHByaW50IHRvIGNhbGN1bGF0ZSBpc1VuZGVyTWVtb3J5UHJlc3N1cmUoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3OTE5CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80MjU1Mjg4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHkgb24gaU9TLCBibWFsbG9jIHdpbGwgcnVu
IHRoZSBzY2F2ZW5nZXIgbW9yZSBmcmVxdWVudGx5IHdoZW4gaXQgZGV0ZWN0cworICAgICAgICB0
aGF0IHRoZSBwcm9jZXNzIGlzIHVuZGVyIG1lbW9yeSBwcmVzc3VyZS4gSG93ZXZlciwgaXQgb25s
eSB1c2VzIGJtYWxsb2MncworICAgICAgICBvd24gZm9vdHByaW50IGFzIGEgcGVyY2VudGFnZSBv
ZiB0aGUgSFcgYXZhaWxhYmxlIG1lbW9yeSB0byBkZXRlcm1pbmUgaWYKKyAgICAgICAgdGhlIHBy
b2Nlc3MgaXMgdW5kZXIgbWVtb3J5IHByZXNzdXJlLiBUaGlzIGlzIGEgY2hhbmdlIEkgcmVjZW50
bHkgbWFkZQorICAgICAgICBpbiBhbiBlZmZvcnQgdG8gcnVuIHRoZSBzY2F2ZW5nZXIgbGVzcyB3
aGVuIGJtYWxsb2Mgd2Fzbid0IGNvbnRyaWJ1dGluZworICAgICAgICB0byB0aGUgZGlydHkgZm9v
dHByaW50IGluIHRoZSBwcm9jZXNzLiBIb3dldmVyLCB0aGlzIGZhaWxzIHRvIHJ1biB0aGUKKyAg
ICAgICAgc2NhdmVuZ2VyIGVhZ2VybHkgd2hlbiB0aGUgcHJvY2VzcyBpbiBxdWVzdGlvbiBoYXMg
YSBoZWFwIHNwbGl0CisgICAgICAgIGJldHdlZW4gYSBsb3Qgb2YgZGlydHkgYm1hbGxvYyBtZW1v
cnkgYXMgd2VsbCBhcyBhIGxvdCBvZiBkaXJ0eSBtZW1vcnkKKyAgICAgICAgZnJvbSBlbHNld2hl
cmUuIFdlIGFsc28gaGF2ZSBldmlkZW5jZSB0aGF0IHdlIG1heSBoYXZlIGluY3JlYXNlZCBqZXRz
YW1zCisgICAgICAgIGluIHRoZSBXZWIgQ29udGVudCBwcm9jZXNzLiBTaW5jZSBteSBvcmlnaW5h
bCBjaGFuZ2Ugd2FzIG5vdCBhIG1lYXN1cmFibGUKKyAgICAgICAgc3BlZWR1cCwgdGhpcyBwYXRj
aCByZXZlcnRzIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpIHRvIGl0cyBwcmV2aW91cworICAgICAg
ICBiZWhhdmlvciBvZiB1c2luZyBwaHlzX2Zvb3RwcmludCB0byBkZXRlcm1pbmUgaWYgNzUlIG9m
IHRoZSBhdmFpbGFibGUgCisgICAgICAgIEhXIG1lbW9yeSBpcyBiZWluZyB1c2VkLgorCisgICAg
ICAgICogYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwOgorICAgICAgICAoYm1hbGxvYzo6bWVt
b3J5U3RhdHVzKToKKwogMjAxOS0wNy0xMiAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxl
LmNvbT4KIAogICAgICAgICBEaXNhYmxlIElzb0hlYXBzIHdoZW4gR2lnYWNhZ2UgaXMgb2ZmCklu
ZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BdmFpbGFibGVNZW1vcnkuY3BwCShyZXZpc2lv
biAyMzQxODIpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0F2YWlsYWJsZU1lbW9yeS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwOCwxNiArMTA4LDEyIEBAIHNpemVfdCBhdmFpbGFibGVNZW1v
cnkoKQogI2lmIEJQTEFURk9STShJT1MpCiBNZW1vcnlTdGF0dXMgbWVtb3J5U3RhdHVzKCkKIHsK
LSAgICBzaXplX3QgbWVtb3J5Rm9vdHByaW50OwotICAgIGlmIChQZXJQcm9jZXNzPEVudmlyb25t
ZW50Pjo6Z2V0KCktPmlzRGVidWdIZWFwRW5hYmxlZCgpKSB7Ci0gICAgICAgIHRhc2tfdm1faW5m
b19kYXRhX3Qgdm1JbmZvOwotICAgICAgICBtYWNoX21zZ190eXBlX251bWJlcl90IHZtU2l6ZSA9
IFRBU0tfVk1fSU5GT19DT1VOVDsKLSAgICAgICAgCi0gICAgICAgIG1lbW9yeUZvb3RwcmludCA9
IDA7Ci0gICAgICAgIGlmIChLRVJOX1NVQ0NFU1MgPT0gdGFza19pbmZvKG1hY2hfdGFza19zZWxm
KCksIFRBU0tfVk1fSU5GTywgKHRhc2tfaW5mb190KSgmdm1JbmZvKSwgJnZtU2l6ZSkpCi0gICAg
ICAgICAgICBtZW1vcnlGb290cHJpbnQgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KHZtSW5mby5waHlz
X2Zvb3RwcmludCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1lbW9yeUZvb3RwcmludCA9IFBlclBy
b2Nlc3M8U2NhdmVuZ2VyPjo6Z2V0KCktPmZvb3RwcmludCgpOworICAgIHRhc2tfdm1faW5mb19k
YXRhX3Qgdm1JbmZvOworICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3Qgdm1TaXplID0gVEFTS19W
TV9JTkZPX0NPVU5UOworICAgIAorICAgIHNpemVfdCBtZW1vcnlGb290cHJpbnQgPSAwOworICAg
IGlmIChLRVJOX1NVQ0NFU1MgPT0gdGFza19pbmZvKG1hY2hfdGFza19zZWxmKCksIFRBU0tfVk1f
SU5GTywgKHRhc2tfaW5mb190KSgmdm1JbmZvKSwgJnZtU2l6ZSkpCisgICAgICAgIG1lbW9yeUZv
b3RwcmludCA9IHN0YXRpY19jYXN0PHNpemVfdD4odm1JbmZvLnBoeXNfZm9vdHByaW50KTsKIAog
ICAgIGRvdWJsZSBwZXJjZW50SW5Vc2UgPSBzdGF0aWNfY2FzdDxkb3VibGU+KG1lbW9yeUZvb3Rw
cmludCkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KGF2YWlsYWJsZU1lbW9yeSgpKTsKICAgICBkb3Vi
bGUgcGVyY2VudEF2YWlsYWJsZU1lbW9yeUluVXNlID0gc3RkOjptaW4ocGVyY2VudEluVXNlLCAx
LjApOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>