<?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>171289</bug_id>
          
          <creation_ts>2017-04-25 14:04:43 -0700</creation_ts>
          <short_desc>Call bmalloc scavenger first when handling a memory pressure event</short_desc>
          <delta_ts>2017-04-25 17:39:24 -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>JavaScriptCore</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>buildbot</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1301221</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 14:04:43 -0700</bug_when>
    <thetext>When we are responding to a memory pressure notification, we free up invoke the release memory handlers for various subsystems and then call the bmalloc scavenger synchronously to free pages back to the OS.  There is a very good chance that when we receieve the low memory event that we already have physical free pages that we can immediately return to the OS for use.  Therefore we should invoke the bmalloc scavenger first in the release memory handler as well as at the end as we currently do.

&lt;rdar://problem/31820242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301223</commentid>
    <comment_count>1</comment_count>
      <attachid>308142</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 14:09:31 -0700</bug_when>
    <thetext>Created attachment 308142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301263</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-25 14:47:26 -0700</bug_when>
    <thetext>I think we need a handler in bmalloc. Otherwise, stand-alone JavaScriptCore clients won&apos;t get the benefit. Here&apos;s roughly the code we need (in a Darwin-only file):

    dispatch_async(dispatch_get_main_queue(), ^{
        m_cache_event_source = dispatch_source_create(DISPATCH_SOURCE_TYPE_MEMORYPRESSURE, 0, DISPATCH_MEMORYPRESSURE_CRITICAL, dispatch_get_main_queue());
        dispatch_source_set_event_handler(m_cache_event_source, ^{
            scavenge();
        });
        dispatch_resume(m_cache_event_source);
    });</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301269</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-25 14:58:52 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #2)
&gt; I think we need a handler in bmalloc. Otherwise, stand-alone JavaScriptCore
&gt; clients won&apos;t get the benefit. Here&apos;s roughly the code we need (in a
&gt; Darwin-only file):
&gt; 
&gt;     dispatch_async(dispatch_get_main_queue(), ^{
&gt;         m_cache_event_source =
&gt; dispatch_source_create(DISPATCH_SOURCE_TYPE_MEMORYPRESSURE, 0,
&gt; DISPATCH_MEMORYPRESSURE_CRITICAL, dispatch_get_main_queue());
&gt;         dispatch_source_set_event_handler(m_cache_event_source, ^{
&gt;             scavenge();
&gt;         });
&gt;         dispatch_resume(m_cache_event_source);
&gt;     });

...actually, we want to schedule our source on a custom queue, so it can run on any thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301272</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-25 15:08:10 -0700</bug_when>
    <thetext>... we can also add this line in WebCore, to double-super guarantee WebCore behavior. There&apos;s no cost to scavenging twice: the second scavenge will be a cheap no-op.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301301</commentid>
    <comment_count>5</comment_count>
      <attachid>308158</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 16:07:58 -0700</bug_when>
    <thetext>Created attachment 308158
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301302</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-25 16:09:08 -0700</bug_when>
    <thetext>Attachment 308158 did not pass style-queue:


ERROR: Source/bmalloc/bmalloc/Heap.cpp:27:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301303</commentid>
    <comment_count>7</comment_count>
      <attachid>308158</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-25 16:10:29 -0700</bug_when>
    <thetext>Comment on attachment 308158
Updated Patch

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

r=me

&gt; Source/bmalloc/bmalloc/Heap.cpp:54
&gt; +    auto queue = dispatch_queue_create(&quot;WebKit Malloc Memory Pressure Handler&quot;, DISPATCH_QUEUE_CONCURRENT);

It&apos;s a very minor point, but this should be DISPATCH_QUEUE_SERIAL, because we don&apos;t intend to handle multiple concurrent pressure events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301304</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 16:13:23 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #7)
&gt; Comment on attachment 308158 [details]
&gt; &gt; Source/bmalloc/bmalloc/Heap.cpp:54
&gt; &gt; +    auto queue = dispatch_queue_create(&quot;WebKit Malloc Memory Pressure Handler&quot;, DISPATCH_QUEUE_CONCURRENT);
&gt; 
&gt; It&apos;s a very minor point, but this should be DISPATCH_QUEUE_SERIAL, because
&gt; we don&apos;t intend to handle multiple concurrent pressure events.

I made that change locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301313</commentid>
    <comment_count>9</comment_count>
      <attachid>308164</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 16:29:49 -0700</bug_when>
    <thetext>Created attachment 308164
Speculative build fix for EWS - added #include</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301314</commentid>
    <comment_count>10</comment_count>
      <attachid>308165</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 16:35:57 -0700</bug_when>
    <thetext>Created attachment 308165
Another EWS build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301350</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-04-25 17:39:24 -0700</bug_when>
    <thetext>Committed r215775: &lt;http://trac.webkit.org/changeset/215775&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308142</attachid>
            <date>2017-04-25 14:09:31 -0700</date>
            <delta_ts>2017-04-25 16:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>171289.patch</filename>
            <type>text/plain</type>
            <size>1400</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTc1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTI1ICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENhbGwgYm1hbGxvYyBzY2F2
ZW5nZXIgZmlyc3Qgd2hlbiBoYW5kbGluZyBhIG1lbW9yeSBwcmVzc3VyZSBldmVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjg5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0IGJtYWxsb2MgZnJl
ZSBhbnkgcGFnZXMgdG8gdGhlIE9TIHRoYXQgaXQgY2FuIGJlZm9yZSBkb2luZyBhbnl0aGluZyBl
bHNlLgorCisgICAgICAgICogcGFnZS9NZW1vcnlSZWxlYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnJlbGVhc2VNZW1vcnkpOgorCiAyMDE3LTA0LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcGxlbWVudGFyeSBNdWx0aWxpbmd1YWwg
UGxhbmUgQ29tcGxleCBTY3JpcHRzIFJlbmRlcmVkIEluY29ycmVjdGx5CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHJldmlzaW9uIDIxNTc1MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsx
MTAsOSBAQCB2b2lkIHJlbGVhc2VNZW1vcnkoQ3JpdGljYWwgY3JpdGljYWwsIFN5CiB7CiAgICAg
VHJhY2VTY29wZSBzY29wZShNZW1vcnlQcmVzc3VyZUhhbmRsZXJTdGFydCwgTWVtb3J5UHJlc3N1
cmVIYW5kbGVyRW5kLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY3JpdGljYWwpLCBzdGF0aWNfY2Fz
dDx1aW50NjRfdD4oc3luY2hyb25vdXMpKTsKIAorICAgIC8vIFJldHVybiB1bnVzZWQgcGFnZXMg
YmFjayB0byB0aGUgT1Mgbm93IGFzIHRoaXMgd2lsbCBsaWtlbHkgZ2l2ZSB1cyBhIGxpdHRsZSBt
ZW1vcnkgdG8gd29yayB3aXRoLgorICAgIFdURjo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5
KCk7CisKICAgICBpZiAoY3JpdGljYWwgPT0gQ3JpdGljYWw6OlllcykKICAgICAgICAgcmVsZWFz
ZUNyaXRpY2FsTWVtb3J5KHN5bmNocm9ub3VzKTsKIAo=
</data>
<flag name="review"
          id="329326"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308158</attachid>
            <date>2017-04-25 16:07:58 -0700</date>
            <delta_ts>2017-04-25 16:10:29 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>171289-2.patch</filename>
            <type>text/plain</type>
            <size>3304</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTc1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTI1ICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENhbGwgYm1hbGxvYyBzY2F2
ZW5nZXIgZmlyc3Qgd2hlbiBoYW5kbGluZyBhIG1lbW9yeSBwcmVzc3VyZSBldmVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjg5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0IGJtYWxsb2MgZnJl
ZSBhbnkgcGFnZXMgdG8gdGhlIE9TIHRoYXQgaXQgY2FuIGJlZm9yZSBkb2luZyBhbnl0aGluZyBl
bHNlLgorCisgICAgICAgICogcGFnZS9NZW1vcnlSZWxlYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnJlbGVhc2VNZW1vcnkpOgorCiAyMDE3LTA0LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcGxlbWVudGFyeSBNdWx0aWxpbmd1YWwg
UGxhbmUgQ29tcGxleCBTY3JpcHRzIFJlbmRlcmVkIEluY29ycmVjdGx5CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHJldmlzaW9uIDIxNTc1MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsx
MTAsOSBAQCB2b2lkIHJlbGVhc2VNZW1vcnkoQ3JpdGljYWwgY3JpdGljYWwsIFN5CiB7CiAgICAg
VHJhY2VTY29wZSBzY29wZShNZW1vcnlQcmVzc3VyZUhhbmRsZXJTdGFydCwgTWVtb3J5UHJlc3N1
cmVIYW5kbGVyRW5kLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY3JpdGljYWwpLCBzdGF0aWNfY2Fz
dDx1aW50NjRfdD4oc3luY2hyb25vdXMpKTsKIAorICAgIC8vIFJldHVybiB1bnVzZWQgcGFnZXMg
YmFjayB0byB0aGUgT1Mgbm93IGFzIHRoaXMgd2lsbCBsaWtlbHkgZ2l2ZSB1cyBhIGxpdHRsZSBt
ZW1vcnkgdG8gd29yayB3aXRoLgorICAgIFdURjo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5
KCk7CisKICAgICBpZiAoY3JpdGljYWwgPT0gQ3JpdGljYWw6OlllcykKICAgICAgICAgcmVsZWFz
ZUNyaXRpY2FsTWVtb3J5KHN5bmNocm9ub3VzKTsKIApJbmRleDogU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkocmV2aXNpb24g
MjE1NzY3KQorKysgU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMDQtMjUgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CisKKyAgICAgICAgQ2FsbCBibWFsbG9jIHNjYXZlbmdlciBmaXJzdCB3aGVuIGhhbmRsaW5n
IGEgbWVtb3J5IHByZXNzdXJlIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzEyODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWdpc3RlcmVkIGEgY3JpdGljYWwgbWVtb3J5IHByZXNzdXJlIGhh
bmRsZXIuICBXZSBhZGQgdGhpcyBoYW5kbGVyIGluIGFkZGl0aW9uIHRvIHRoZQorICAgICAgICBj
YWxsIHRvIHJlbGVhc2UgYm1hbGxvYyBtZW1vcnkgaW4gdGhlIFdlYkNvcmUgcmVsZWFzZU1lbW9y
eSBoYW5kbGVyIGZvciB0aGUgY2FzZSBvZgorICAgICAgICBKU0MgQVBJIHVzZXJzIHRoYXQgZG9u
J3QgdXNlIFdlYkNvcmUuICBXaGVuIGJvdGggaGFuZGxlcnMgYXJlIGluIHRoZSBwcm9jZXNzLCBp
dCBpcworICAgICAgICBiYXNpY2FsbHkgYSByYWNlLiAgT25lIHdpbGwgd2luLCBidXQgdGhlIGxv
c2VyIHdvbid0IGRvIGFueSBtb3JlIHdvcmssIHNvIGl0IGlzIGhhcm1sZXNzLgorCisgICAgICAg
ICogYm1hbGxvYy9IZWFwLmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OkhlYXApOgorCiAy
MDE3LTA0LTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgYXJjaGl0ZWN0dXJlcyBpbiB4Y2NvbmZpZyBmaWxlcy4KSW5kZXg6IFNvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9I
ZWFwLmNwcAkocmV2aXNpb24gMjE1NzUzKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJI
ZWFwLmgiCisjaW5jbHVkZSAiYm1hbGxvYy5oIgogI2luY2x1ZGUgIkJ1bXBBbGxvY2F0b3IuaCIK
ICNpbmNsdWRlICJDaHVuay5oIgogI2luY2x1ZGUgIkRlYnVnSGVhcC5oIgpAQCAtNDgsNiArNDks
MTUgQEAgSGVhcDo6SGVhcChzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGljTXV0ZXg+JgogICAgIAogICAg
IGlmIChtX2Vudmlyb25tZW50LmlzRGVidWdIZWFwRW5hYmxlZCgpKQogICAgICAgICBtX2RlYnVn
SGVhcCA9IFBlclByb2Nlc3M8RGVidWdIZWFwPjo6Z2V0KCk7CisKKyNpZiBCT1MoREFSV0lOKQor
ICAgIGF1dG8gcXVldWUgPSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGUoIldlYktpdCBNYWxsb2MgTWVt
b3J5IFByZXNzdXJlIEhhbmRsZXIiLCBESVNQQVRDSF9RVUVVRV9DT05DVVJSRU5UKTsKKyAgICBh
dXRvIHNvdXJjZSA9IGRpc3BhdGNoX3NvdXJjZV9jcmVhdGUoRElTUEFUQ0hfU09VUkNFX1RZUEVf
TUVNT1JZUFJFU1NVUkUsIDAsIERJU1BBVENIX01FTU9SWVBSRVNTVVJFX0NSSVRJQ0FMLCBxdWV1
ZSk7CisgICAgZGlzcGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5kbGVyKHNvdXJjZSwgXnsKKyAg
ICAgICAgYXBpOjpzY2F2ZW5nZSgpOworICAgIH0pOworICAgIGRpc3BhdGNoX3Jlc3VtZShzb3Vy
Y2UpOworI2VuZGlmCiB9CiAKIHZvaWQgSGVhcDo6aW5pdGlhbGl6ZUxpbmVNZXRhZGF0YSgpCg==
</data>
<flag name="review"
          id="329341"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308164</attachid>
            <date>2017-04-25 16:29:49 -0700</date>
            <delta_ts>2017-04-25 16:35:57 -0700</delta_ts>
            <desc>Speculative build fix for EWS - added #include</desc>
            <filename>171289-3.patch</filename>
            <type>text/plain</type>
            <size>3349</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTc1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTI1ICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENhbGwgYm1hbGxvYyBzY2F2
ZW5nZXIgZmlyc3Qgd2hlbiBoYW5kbGluZyBhIG1lbW9yeSBwcmVzc3VyZSBldmVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjg5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgTGV0IGJtYWxsb2MgZnJl
ZSBhbnkgcGFnZXMgdG8gdGhlIE9TIHRoYXQgaXQgY2FuIGJlZm9yZSBkb2luZyBhbnl0aGluZyBl
bHNlLgorCisgICAgICAgICogcGFnZS9NZW1vcnlSZWxlYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnJlbGVhc2VNZW1vcnkpOgorCiAyMDE3LTA0LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcGxlbWVudGFyeSBNdWx0aWxpbmd1YWwg
UGxhbmUgQ29tcGxleCBTY3JpcHRzIFJlbmRlcmVkIEluY29ycmVjdGx5CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHJldmlzaW9uIDIxNTc1MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsx
MTAsOSBAQCB2b2lkIHJlbGVhc2VNZW1vcnkoQ3JpdGljYWwgY3JpdGljYWwsIFN5CiB7CiAgICAg
VHJhY2VTY29wZSBzY29wZShNZW1vcnlQcmVzc3VyZUhhbmRsZXJTdGFydCwgTWVtb3J5UHJlc3N1
cmVIYW5kbGVyRW5kLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY3JpdGljYWwpLCBzdGF0aWNfY2Fz
dDx1aW50NjRfdD4oc3luY2hyb25vdXMpKTsKIAorICAgIC8vIFJldHVybiB1bnVzZWQgcGFnZXMg
YmFjayB0byB0aGUgT1Mgbm93IGFzIHRoaXMgd2lsbCBsaWtlbHkgZ2l2ZSB1cyBhIGxpdHRsZSBt
ZW1vcnkgdG8gd29yayB3aXRoLgorICAgIFdURjo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5
KCk7CisKICAgICBpZiAoY3JpdGljYWwgPT0gQ3JpdGljYWw6OlllcykKICAgICAgICAgcmVsZWFz
ZUNyaXRpY2FsTWVtb3J5KHN5bmNocm9ub3VzKTsKIApJbmRleDogU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkocmV2aXNpb24g
MjE1NzY3KQorKysgU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMDQtMjUgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CisKKyAgICAgICAgQ2FsbCBibWFsbG9jIHNjYXZlbmdlciBmaXJzdCB3aGVuIGhhbmRsaW5n
IGEgbWVtb3J5IHByZXNzdXJlIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzEyODkKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBH
YXJlbi4KKworICAgICAgICBSZWdpc3RlcmVkIGEgY3JpdGljYWwgbWVtb3J5IHByZXNzdXJlIGhh
bmRsZXIuICBXZSBhZGQgdGhpcyBoYW5kbGVyIGluIGFkZGl0aW9uIHRvIHRoZQorICAgICAgICBj
YWxsIHRvIHJlbGVhc2UgYm1hbGxvYyBtZW1vcnkgaW4gdGhlIFdlYkNvcmUgcmVsZWFzZU1lbW9y
eSBoYW5kbGVyIGZvciB0aGUgY2FzZSBvZgorICAgICAgICBKU0MgQVBJIHVzZXJzIHRoYXQgZG9u
J3QgdXNlIFdlYkNvcmUuICBXaGVuIGJvdGggaGFuZGxlcnMgYXJlIGluIHRoZSBwcm9jZXNzLCBp
dCBpcworICAgICAgICBiYXNpY2FsbHkgYSByYWNlLiAgT25lIHdpbGwgd2luLCBidXQgdGhlIGxv
c2VyIHdvbid0IGRvIGFueSBtb3JlIHdvcmssIHNvIGl0IGlzIGhhcm1sZXNzLgorCisgICAgICAg
ICogYm1hbGxvYy9IZWFwLmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OkhlYXApOgorCiAy
MDE3LTA0LTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgYXJjaGl0ZWN0dXJlcyBpbiB4Y2NvbmZpZyBmaWxlcy4KSW5kZXg6IFNvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9I
ZWFwLmNwcAkocmV2aXNpb24gMjE1NzUzKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlBlclByb2Nl
c3MuaCIKICNpbmNsdWRlICJTbWFsbExpbmUuaCIKICNpbmNsdWRlICJTbWFsbFBhZ2UuaCIKKyNp
bmNsdWRlICJibWFsbG9jLmgiCisjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNs
dWRlIDx0aHJlYWQ+CiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKQEAgLTQ4LDYgKzUwLDE1IEBAIEhl
YXA6OkhlYXAoc3RkOjpsb2NrX2d1YXJkPFN0YXRpY011dGV4PiYKICAgICAKICAgICBpZiAobV9l
bnZpcm9ubWVudC5pc0RlYnVnSGVhcEVuYWJsZWQoKSkKICAgICAgICAgbV9kZWJ1Z0hlYXAgPSBQ
ZXJQcm9jZXNzPERlYnVnSGVhcD46OmdldCgpOworCisjaWYgQk9TKERBUldJTikKKyAgICBhdXRv
IHF1ZXVlID0gZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJXZWJLaXQgTWFsbG9jIE1lbW9yeSBQcmVz
c3VyZSBIYW5kbGVyIiwgRElTUEFUQ0hfUVVFVUVfU0VSSUFMKTsKKyAgICBhdXRvIHNvdXJjZSA9
IGRpc3BhdGNoX3NvdXJjZV9jcmVhdGUoRElTUEFUQ0hfU09VUkNFX1RZUEVfTUVNT1JZUFJFU1NV
UkUsIDAsIERJU1BBVENIX01FTU9SWVBSRVNTVVJFX0NSSVRJQ0FMLCBxdWV1ZSk7CisgICAgZGlz
cGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5kbGVyKHNvdXJjZSwgXnsKKyAgICAgICAgYXBpOjpz
Y2F2ZW5nZSgpOworICAgIH0pOworICAgIGRpc3BhdGNoX3Jlc3VtZShzb3VyY2UpOworI2VuZGlm
CiB9CiAKIHZvaWQgSGVhcDo6aW5pdGlhbGl6ZUxpbmVNZXRhZGF0YSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308165</attachid>
            <date>2017-04-25 16:35:57 -0700</date>
            <delta_ts>2017-04-25 16:35:57 -0700</delta_ts>
            <desc>Another EWS build fix</desc>
            <filename>171289-4.patch</filename>
            <type>text/plain</type>
            <size>3375</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTc1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTI1ICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENhbGwgYm1hbGxvYyBzY2F2
ZW5nZXIgZmlyc3Qgd2hlbiBoYW5kbGluZyBhIG1lbW9yeSBwcmVzc3VyZSBldmVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjg5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgTGV0IGJtYWxsb2MgZnJl
ZSBhbnkgcGFnZXMgdG8gdGhlIE9TIHRoYXQgaXQgY2FuIGJlZm9yZSBkb2luZyBhbnl0aGluZyBl
bHNlLgorCisgICAgICAgICogcGFnZS9NZW1vcnlSZWxlYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnJlbGVhc2VNZW1vcnkpOgorCiAyMDE3LTA0LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcGxlbWVudGFyeSBNdWx0aWxpbmd1YWwg
UGxhbmUgQ29tcGxleCBTY3JpcHRzIFJlbmRlcmVkIEluY29ycmVjdGx5CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHJldmlzaW9uIDIxNTc1MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsx
MTAsOSBAQCB2b2lkIHJlbGVhc2VNZW1vcnkoQ3JpdGljYWwgY3JpdGljYWwsIFN5CiB7CiAgICAg
VHJhY2VTY29wZSBzY29wZShNZW1vcnlQcmVzc3VyZUhhbmRsZXJTdGFydCwgTWVtb3J5UHJlc3N1
cmVIYW5kbGVyRW5kLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4oY3JpdGljYWwpLCBzdGF0aWNfY2Fz
dDx1aW50NjRfdD4oc3luY2hyb25vdXMpKTsKIAorICAgIC8vIFJldHVybiB1bnVzZWQgcGFnZXMg
YmFjayB0byB0aGUgT1Mgbm93IGFzIHRoaXMgd2lsbCBsaWtlbHkgZ2l2ZSB1cyBhIGxpdHRsZSBt
ZW1vcnkgdG8gd29yayB3aXRoLgorICAgIFdURjo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5
KCk7CisKICAgICBpZiAoY3JpdGljYWwgPT0gQ3JpdGljYWw6OlllcykKICAgICAgICAgcmVsZWFz
ZUNyaXRpY2FsTWVtb3J5KHN5bmNocm9ub3VzKTsKIApJbmRleDogU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkocmV2aXNpb24g
MjE1NzY3KQorKysgU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMDQtMjUgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CisKKyAgICAgICAgQ2FsbCBibWFsbG9jIHNjYXZlbmdlciBmaXJzdCB3aGVuIGhhbmRsaW5n
IGEgbWVtb3J5IHByZXNzdXJlIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzEyODkKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBH
YXJlbi4KKworICAgICAgICBSZWdpc3RlcmVkIGEgY3JpdGljYWwgbWVtb3J5IHByZXNzdXJlIGhh
bmRsZXIuICBXZSBhZGQgdGhpcyBoYW5kbGVyIGluIGFkZGl0aW9uIHRvIHRoZQorICAgICAgICBj
YWxsIHRvIHJlbGVhc2UgYm1hbGxvYyBtZW1vcnkgaW4gdGhlIFdlYkNvcmUgcmVsZWFzZU1lbW9y
eSBoYW5kbGVyIGZvciB0aGUgY2FzZSBvZgorICAgICAgICBKU0MgQVBJIHVzZXJzIHRoYXQgZG9u
J3QgdXNlIFdlYkNvcmUuICBXaGVuIGJvdGggaGFuZGxlcnMgYXJlIGluIHRoZSBwcm9jZXNzLCBp
dCBpcworICAgICAgICBiYXNpY2FsbHkgYSByYWNlLiAgT25lIHdpbGwgd2luLCBidXQgdGhlIGxv
c2VyIHdvbid0IGRvIGFueSBtb3JlIHdvcmssIHNvIGl0IGlzIGhhcm1sZXNzLgorCisgICAgICAg
ICogYm1hbGxvYy9IZWFwLmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OkhlYXApOgorCiAy
MDE3LTA0LTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgYXJjaGl0ZWN0dXJlcyBpbiB4Y2NvbmZpZyBmaWxlcy4KSW5kZXg6IFNvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9I
ZWFwLmNwcAkocmV2aXNpb24gMjE1NzUzKQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMTAgQEAKICNpbmNsdWRlICJQZXJQcm9j
ZXNzLmgiCiAjaW5jbHVkZSAiU21hbGxMaW5lLmgiCiAjaW5jbHVkZSAiU21hbGxQYWdlLmgiCisj
aWYgQk9TKERBUldJTikKKyNpbmNsdWRlICJibWFsbG9jLmgiCisjaW5jbHVkZSA8ZGlzcGF0Y2gv
ZGlzcGF0Y2guaD4KKyNlbmRpZgogI2luY2x1ZGUgPHRocmVhZD4KIAogbmFtZXNwYWNlIGJtYWxs
b2MgewpAQCAtNDgsNiArNTIsMTUgQEAgSGVhcDo6SGVhcChzdGQ6OmxvY2tfZ3VhcmQ8U3RhdGlj
TXV0ZXg+JgogICAgIAogICAgIGlmIChtX2Vudmlyb25tZW50LmlzRGVidWdIZWFwRW5hYmxlZCgp
KQogICAgICAgICBtX2RlYnVnSGVhcCA9IFBlclByb2Nlc3M8RGVidWdIZWFwPjo6Z2V0KCk7CisK
KyNpZiBCT1MoREFSV0lOKQorICAgIGF1dG8gcXVldWUgPSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGUo
IldlYktpdCBNYWxsb2MgTWVtb3J5IFByZXNzdXJlIEhhbmRsZXIiLCBESVNQQVRDSF9RVUVVRV9T
RVJJQUwpOworICAgIGF1dG8gc291cmNlID0gZGlzcGF0Y2hfc291cmNlX2NyZWF0ZShESVNQQVRD
SF9TT1VSQ0VfVFlQRV9NRU1PUllQUkVTU1VSRSwgMCwgRElTUEFUQ0hfTUVNT1JZUFJFU1NVUkVf
Q1JJVElDQUwsIHF1ZXVlKTsKKyAgICBkaXNwYXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIo
c291cmNlLCBeeworICAgICAgICBhcGk6OnNjYXZlbmdlKCk7CisgICAgfSk7CisgICAgZGlzcGF0
Y2hfcmVzdW1lKHNvdXJjZSk7CisjZW5kaWYKIH0KIAogdm9pZCBIZWFwOjppbml0aWFsaXplTGlu
ZU1ldGFkYXRhKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>