<?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>144104</bug_id>
          
          <creation_ts>2015-04-23 10:00:10 -0700</creation_ts>
          <short_desc>Memory cache live resources repeatedly purged during painting</short_desc>
          <delta_ts>2015-04-24 11:02:01 -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>Page Loading</component>
          <version>528+ (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>
          <dependson>144121</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1087859</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-23 10:00:10 -0700</bug_when>
    <thetext>On some PLT pages (like nytimes.com) we get into state where painting repeatedly purges live bitmaps. This slows down page loads significantly.

     13 WebCore::BitmapImage::draw(WebCore::GraphicsContext*, WebCore::FloatRect const&amp;, endMode, WebCore::ImageOrientationDescription)  (in WebCore) + 447  [0x127c727]
       13 WebCore::MemoryCache::pruneLiveResourcesToSize(unsigned int, bool)  (in WebCore) + 251  
         13 WebCore::BitmapImage::destroyDecodedData(bool)  (in WebCore) + 191  [0x127acfb]
           6 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 39  
           | 6 CGImageSourceCreateIncremental  (in ImageIO) + 199  [0x250e98bb]
           |   2 _CGImageSourceCreate  (in ImageIO) + 61  [0x250abd79]
           |   + 1 CFAllocatorAllocate  (in CoreFoundation) + 95  [0x23fdea53]
           |   + 1 _CFRuntimeCreateInstance  (in CoreFoundation) + 289  [0x23fdec51]
           |   +   1 malloc_zone_malloc  (in libsystem_malloc.dylib) + 87  [0x32ae6da7]
           |   +     1 szone_malloc_should_clear  (in libsystem_malloc.dylib) + 61  [0x32ae6e19]
           |   2 _CGImageSourceCreate  (in ImageIO) + 41  [0x250abd65]
           |   1 _CGImageSourceCreate  (in ImageIO) + 157  [0x250abdd9]
           |   + 1 _pthread_mutex_init  (in libsystem_pthread.dylib) + 3  [0x32b3cadf]
           |   1 _CGImageSourceCreate  (in ImageIO) + 227  [0x250abe1f]
           |     1 CFSetCreateMutable  (in CoreFoundation) + 93  [0x23fefa75]
           |       1 CFBasicHashCreate  (in CoreFoundation) + 116  [0x23fdf594]
           |         1 _CFRuntimeCreateInstance  (in CoreFoundation) + 289  [0x23fdec51]
           |           1 malloc_zone_malloc  (in libsystem_malloc.dylib) + 87  [0x32ae6da7]
           |             1 szone_malloc_should_clear  (in libsystem_malloc.dylib) + 219  [0x32ae6eb7]
           |               1 tiny_malloc_from_free_list  (in libsystem_malloc.dylib) + 181  [0x32ae80b5]
           3 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 23  
           | 2 CFRelease  (in CoreFoundation) + 493  [0x23fe4de1]
           | + 2 _CGImageSourceFinalize  (in ImageIO) + 79  [0x250b6967]
           | +   2 CFRelease  (in CoreFoundation) + 493  [0x23fe4de1]
           | +     2 _CGImageReadFinalize  (in ImageIO) + 433  [0x250cd985]
           | +       2 CFRelease  (in CoreFoundation) + 597  [0x23fe4e49]
           | +         2 objc_object::sidetable_release(bool)  (in libobjc.A.dylib) + 163  [0x32483d5b]
           | +           1 -[WebCoreSharedBufferData dealloc]  (in WebCore) + 39  [0x1b54b3f]
           | +           ! 1 WebCoreObjCScheduleDeallocateOnMainThread(objc_class*, objc_object*)  (in WebCore) + 
           | +           !   1 _Unwind_SjLj_Register  (in libunwind.dylib) + 5  [0x32b4fae5]
           | +           1 -[WebCoreSharedBufferData dealloc]  (in WebCore) + 75  [0x1b54b63]
           | +             1 object_dispose  (in libobjc.A.dylib) + 11  [0x32472617]
           | +               1 objc_destructInstance  (in libobjc.A.dylib) + 31  [0x324725f3]
           | +                 1 object_cxxDestructFromClass(objc_object*, objc_class*)  (in libobjc.A.dylib) + 115  
           | +                   1 -[WebCoreSharedBufferData .cxx_destruct]  (in WebCore) + 37  [0x1b54c81]
           | 1 CFRelease  (in CoreFoundation) + 1253  [0x23fe50d9]
           |   1 _os_lock_handoff_lock  (in libsystem_platform.dylib) + 35  [0x32b38473]
           3 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 51  
           | 1 WebCore::SharedBuffer::createCFData()  (in WebCore) + 147  [0x1b54edf]
           | + 1 NSAllocateObject  (in Foundation) + 101  [0x24d50b55]
           | 1 WebCore::SharedBuffer::createCFData()  (in WebCore) + 203  [0x1b54f17]
           | + 1 _os_lock_handoff_trylock  (in libsystem_platform.dylib) + 35  [0x32b383cf]
           | 1 WebCore::SharedBuffer::createCFData()  (in WebCore) + 9  [0x1b54e55]
           1 WebCore::ImageSource::clear(bool, unsigned long, WebCore::SharedBuffer*, bool)  (in WebCore) + 61  
             1 CGImageSourceUpdateData  (in ImageIO) + 893  [0x250e9c59]
               1 CGImageReadCreateWithData  (in ImageIO) + 43  [0x250abb93]
                 1 CFDataGetLength  (in CoreFoundation) + 3  [0x23fdf273]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087860</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-23 10:01:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/20667695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087863</commentid>
    <comment_count>2</comment_count>
      <attachid>251451</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-23 10:12:30 -0700</bug_when>
    <thetext>Created attachment 251451
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087870</commentid>
    <comment_count>3</comment_count>
      <attachid>251451</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-23 10:22:52 -0700</bug_when>
    <thetext>Comment on attachment 251451
patch

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

r=me

&gt; Source/WebCore/ChangeLog:25
&gt; +            Decrease the pruning size targer from 0.95 to 0.8 so we don&apos;t need to prune so often.

&quot;target&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087883</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-23 10:51:03 -0700</bug_when>
    <thetext>https://trac.webkit.org/r183194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087928</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-23 12:32:57 -0700</bug_when>
    <thetext>I&apos;m afraid we have some new Windows crashes with this patch. I&apos;ll try to get a stack trace for you ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087937</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-23 12:36:18 -0700</bug_when>
    <thetext>This also broke http/tests/cache/disk-cache/disk-cache-disable.html on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087949</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-23 13:00:49 -0700</bug_when>
    <thetext>Specifically it seems to have become flaky. 

https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r183196%20(3707)/results.html

I&apos;ll see what is going on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087974</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-23 13:35:42 -0700</bug_when>
    <thetext>Looks like this may have broken more tests, namely http/tests/ssl/referer-301.html and http/tests/ssl/referer-303.html

https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK2%20(Tests)/r183202%20(4649)/results.html

Antti, are you still looking into this? I need to roll out the patch, as it&apos;s way more flakiness than we can live with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087995</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-23 14:12:48 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 144121</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088092</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-23 16:27:17 -0700</bug_when>
    <thetext>Turns out that http/tests/ssl/referer-301.html and http/tests/ssl/referer-303.html failures were not caused by this.

Trying to find the culprit. It may be an issue with Xcode dependency tracking, will try a clean build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088097</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-23 16:49:36 -0700</bug_when>
    <thetext>The rollout did fix http/tests/cache/disk-cache/disk-cache-disable.html on Mac, and it did fix Windows crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088201</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-24 01:28:33 -0700</bug_when>
    <thetext>Where are the crash stacks for Windows? The most likely cause is that the implementation of RunLoop::main().dispatch() is buggy (this looks like the first WebCore client for it that would run on Windows).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088212</commentid>
    <comment_count>13</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-04-24 04:26:15 -0700</bug_when>
    <thetext>Relanded in https://trac.webkit.org/r183261 

Fixed the test case and switched to Timer for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088262</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-24 11:02:01 -0700</bug_when>
    <thetext>Everything looks good now! The referrer test failures were indeed bad code generation on incremental builds.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251451</attachid>
            <date>2015-04-23 10:12:30 -0700</date>
            <delta_ts>2015-04-23 10:22:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memorycache-prune.patch</filename>
            <type>text/plain</type>
            <size>5496</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA0LTIzICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNZW1vcnkgY2FjaGUgbGl2ZSBy
ZXNvdXJjZXMgcmVwZWF0ZWRseSBwdXJnZWQgZHVyaW5nIHBhaW50aW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxMDQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIwNjY3Njk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE9uIHNvbWUgUExUIHBhZ2VzIChsaWtlIG55dGltZXMuY29tKSB3ZSBnZXQg
aW50byBzdGF0ZSB3aGVyZSBwYWludGluZyByZXBlYXRlZGx5IHB1cmdlcyBsaXZlIGJpdG1hcHMu
CisgICAgICAgIFRoaXMgc2xvd3MgZG93biBwYWdlIGxvYWRzIHNpZ25pZmljYW50bHkuCisKKyAg
ICAgICAgVGhpcyBtaWdodCBoYXZlIHJlZ3Jlc3NlZCBiZWNhdXNlIGltcHJvdmVtZW50cyBpbiBw
YWdlIGNhY2hpbmcga2VlcCBtb3JlIHBhZ2VzIGFuZCBzbyByZXNvdXJjZXMgJ2xpdmUnLgorCisg
ICAgICAgIFdpdGggdGhpcyBwYXRoIHdlIGRvIGFsbCByZWd1bGFyIGNhY2hlIHBydW5pbmcgYXN5
bmNocm9ub3VzbHkuIElmIG1lbW9yeSBpcyByZWFsbHkgY3JpdGljYWwKKyAgICAgICAgdGhlIGxv
dyBtZW1vcnkgaGFuZGxpbmcgY29kZSB3aWxsIHN0aWxsIHBydW5lIHN5bmNocm9ub3VzbHkuCisK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEpOgorCisgICAgICAgICAgICBwcnVu
ZSgpIC0+IHBydW5lU29vbigpCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwOgorCisgICAgICAgICAgICBEZWNyZWFzZSB0aGUgcHJ1bmluZyBzaXplIHRhcmdlciBmcm9t
IDAuOTUgdG8gMC44IHNvIHdlIGRvbid0IG5lZWQgdG8gcHJ1bmUgc28gb2Z0ZW4uCisKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpuZWVkc1BydW5pbmcpOgorCisgICAgICAgICAgICBG
YWN0b3IgaW50byBhIGZ1bmN0aW9uLgorCisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
cHJ1bmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisKKyAg
ICAgICAgICAgIFBydW5lIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgICogbG9hZGVyL2NhY2hl
L01lbW9yeUNhY2hlLmg6CisKIDIwMTUtMDQtMjMgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbWFrZSBhIHN1Z2dlc3RlZCBjaGFu
Z2UgSSBvdmVybG9va2VkIGluIERhcmluJ3MgcmV2aWV3IG9mCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDE4Mjk4MikK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ2MCw3ICs0NjAsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1vdmVD
bGllbnQoQ2FjaGVkCiAgICAgICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJlIGNvbnRlbnQg
dG8gYmUgcmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2VjdXJlIGNvbnRl
bnQgdG8gYmUgcmV1c2VkLgogICAgICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlKCp0aGlzKTsK
ICAgICAgICAgfQotICAgICAgICBtZW1vcnlDYWNoZS5wcnVuZSgpOworICAgICAgICBtZW1vcnlD
YWNoZS5wcnVuZVNvb24oKTsKICAgICB9CiAgICAgLy8gVGhpcyBvYmplY3QgbWF5IGJlIGRlYWQg
aGVyZS4KIH0KQEAgLTU1Nyw3ICs1NTcsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkaWRBY2Nl
c3NEZWNvZGVkRGF0CiAgICAgICAgICAgICBtZW1vcnlDYWNoZS5yZW1vdmVGcm9tTGl2ZURlY29k
ZWRSZXNvdXJjZXNMaXN0KCp0aGlzKTsKICAgICAgICAgICAgIG1lbW9yeUNhY2hlLmluc2VydElu
TGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KCp0aGlzKTsKICAgICAgICAgfQotICAgICAgICBtZW1v
cnlDYWNoZS5wcnVuZSgpOworICAgICAgICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKICAgICB9
CiB9CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHAJKHJldmlzaW9uIDE4Mjk4MikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9N
ZW1vcnlDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRl
IDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5j
bHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIApAQCAtNTAsNyArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25z
dCBpbnQgY0RlZmF1bHRDYWNoZUNhcGFjaXR5ID0gODE5MiAqIDEwMjQ7CiBzdGF0aWMgY29uc3Qg
ZG91YmxlIGNNaW5EZWxheUJlZm9yZUxpdmVEZWNvZGVkUHJ1bmUgPSAxOyAvLyBTZWNvbmRzLgot
c3RhdGljIGNvbnN0IGZsb2F0IGNUYXJnZXRQcnVuZVBlcmNlbnRhZ2UgPSAuOTVmOyAvLyBQZXJj
ZW50YWdlIG9mIGNhcGFjaXR5IHRvd2FyZCB3aGljaCB3ZSBwcnVuZSwgdG8gYXZvaWQgaW1tZWRp
YXRlbHkgcHJ1bmluZyBhZ2Fpbi4KK3N0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1bmVQZXJj
ZW50YWdlID0gMC44OyAvLyBQZXJjZW50YWdlIG9mIGNhcGFjaXR5IHRvd2FyZCB3aGljaCB3ZSBw
cnVuZSwgdG8gYXZvaWQgaW1tZWRpYXRlbHkgcHJ1bmluZyBhZ2Fpbi4KIHN0YXRpYyBjb25zdCBh
dXRvIGRlZmF1bHREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDAgfTsKIAogTWVtb3J5Q2FjaGUmIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKQpAQCAt
NzQ1LDE1ICs3NDYsMzQgQEAgdm9pZCBNZW1vcnlDYWNoZTo6ZXZpY3RSZXNvdXJjZXMoU2Vzc2lv
bgogICAgIEFTU0VSVCghbV9zZXNzaW9uUmVzb3VyY2VzLmNvbnRhaW5zKHNlc3Npb25JRCkpOwog
fQogCitib29sIE1lbW9yeUNhY2hlOjpuZWVkc1BydW5pbmcoKSBjb25zdAoreworICAgIHJldHVy
biBtX2xpdmVTaXplICsgbV9kZWFkU2l6ZSA+IG1fY2FwYWNpdHkgfHwgbV9kZWFkU2l6ZSA+IG1f
bWF4RGVhZENhcGFjaXR5OworfQorCiB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgpCiB7Ci0gICAg
aWYgKG1fbGl2ZVNpemUgKyBtX2RlYWRTaXplIDw9IG1fY2FwYWNpdHkgJiYgbV9kZWFkU2l6ZSA8
PSBtX21heERlYWRDYXBhY2l0eSkgLy8gRmFzdCBwYXRoLgorICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBwcnVuZURlYWRSZXNvdXJjZXMo
KTsgLy8gUHJ1bmUgZGVhZCBmaXJzdCwgaW4gY2FzZSBpdCB3YXMgImJvcnJvd2luZyIgY2FwYWNp
dHkgZnJvbSBsaXZlLgogICAgIHBydW5lTGl2ZVJlc291cmNlcygpOwogfQogCit2b2lkIE1lbW9y
eUNhY2hlOjpwcnVuZVNvb24oKQoreworICAgIGlmIChtX3dpbGxQcnVuZVNvb24pCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX3dpbGxQcnVuZVNvb24gPSB0cnVlOworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChb
dGhpc10geworICAgICAgICBwcnVuZSgpOworICAgICAgICBtX3dpbGxQcnVuZVNvb24gPSBmYWxz
ZTsKKyAgICB9KTsKK30KKwogI2lmbmRlZiBOREVCVUcKIHZvaWQgTWVtb3J5Q2FjaGU6OmR1bXBT
dGF0cygpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAkocmV2aXNpb24gMTgyOTgyKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNSw4ICsxMTUsOSBAQCBwdWJsaWM6CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGV2aWN0UmVzb3VyY2VzKCk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBldmljdFJlc291cmNlcyhTZXNzaW9uSUQpOwotICAgIAorCiAgICAgdm9pZCBwcnVu
ZSgpOworICAgIHZvaWQgcHJ1bmVTb29uKCk7CiAgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbGl2ZVNpemUgKyBtX2RlYWRTaXplOyB9CiAKICAgICB2b2lkIHNldERlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZh
bCkgeyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQpAQCAt
MTg0LDYgKzE4NSw3IEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBsaXZlQ2FwYWNpdHkoKSBj
b25zdDsKICAgICB1bnNpZ25lZCBkZWFkQ2FwYWNpdHkoKSBjb25zdDsKKyAgICBib29sIG5lZWRz
UHJ1bmluZygpIGNvbnN0OwogCiAgICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlRm9yUmVxdWVz
dEltcGwoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVkUmVzb3VyY2VNYXAmKTsKIApAQCAt
MjEzLDYgKzIxNSw4IEBAIHByaXZhdGU6CiAgICAgLy8gcmVmZXJlbmNlZCBieSBhIFdlYiBwYWdl
KS4KICAgICB0eXBlZGVmIEhhc2hNYXA8U2Vzc2lvbklELCBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVk
UmVzb3VyY2VNYXA+PiBTZXNzaW9uQ2FjaGVkUmVzb3VyY2VNYXA7CiAgICAgU2Vzc2lvbkNhY2hl
ZFJlc291cmNlTWFwIG1fc2Vzc2lvblJlc291cmNlczsKKworICAgIGJvb2wgbV93aWxsUHJ1bmVT
b29uIHsgZmFsc2UgfTsKIH07CiAKIH0K
</data>
<flag name="review"
          id="276239"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>