<?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>113469</bug_id>
          
          <creation_ts>2013-03-27 19:59:05 -0700</creation_ts>
          <short_desc>Safari hangs during test262 run in CodeCache::pruneSlowCase</short_desc>
          <delta_ts>2013-03-28 13:19:21 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>865117</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-27 19:59:05 -0700</bug_when>
    <thetext>I added some logging which shows that we hang for a really long time in pruneSlowCase removing many very small entries from the map. Most of the short keys appear to be regular expressions with 16-bit characters (e.g. Chinese characters). Maybe having a limit on the number of entries in combination with a limit on the total size of all entries in the map would be a better solution than just size alone to prevent these long hangs churning on pruning many small objects from the cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865685</commentid>
    <comment_count>1</comment_count>
      <attachid>195613</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 12:11:04 -0700</bug_when>
    <thetext>Created attachment 195613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865697</commentid>
    <comment_count>2</comment_count>
      <attachid>195613</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 12:19:01 -0700</bug_when>
    <thetext>Comment on attachment 195613
Patch

Hmm, this patch is an improvement, but the resulting behavior is still a regression in performance over shipping Safari. I think we&apos;re hitting the prune case a lot (add 1 element, remove 1 element). Maybe it makes more sense to coalesce a lot of calls to m_map.remove() into a single call to pruneSlowCase?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865709</commentid>
    <comment_count>3</comment_count>
      <attachid>195613</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 12:36:32 -0700</bug_when>
    <thetext>Comment on attachment 195613
Patch

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

&gt; Source/JavaScriptCore/runtime/CodeCache.cpp:50
&gt; +    while (m_size &gt; m_capacity &amp;&amp; numberOfEntries() &gt;= workingSetMaxEntries) {

This is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865715</commentid>
    <comment_count>4</comment_count>
      <attachid>195622</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 12:46:12 -0700</bug_when>
    <thetext>Created attachment 195622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865735</commentid>
    <comment_count>5</comment_count>
      <attachid>195622</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-03-28 13:04:17 -0700</bug_when>
    <thetext>Comment on attachment 195622
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865737</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-03-28 13:04:58 -0700</bug_when>
    <thetext>&gt; the resulting behavior is still a regression in performance over shipping Safari

Is this still the case in your latest patch? Regression on what?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865741</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 13:10:31 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; the resulting behavior is still a regression in performance over shipping Safari
&gt; 
&gt; Is this still the case in your latest patch? Regression on what?

Nope, it behaves the same now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865743</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 13:13:52 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; &gt; the resulting behavior is still a regression in performance over shipping Safari
&gt; &gt; 
&gt; &gt; Is this still the case in your latest patch? Regression on what?
&gt; 
&gt; Nope, it behaves the same now.

Sorry, the regression was in performance. The first patch was better in performance than on ToT, but it would still hang a little. The latest patch&apos;s performance matches that of shipping Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865747</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-03-28 13:19:21 -0700</bug_when>
    <thetext>Committed r147150: &lt;http://trac.webkit.org/changeset/147150&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195613</attachid>
            <date>2013-03-28 12:11:04 -0700</date>
            <delta_ts>2013-03-28 12:46:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113469-20130328121101.patch</filename>
            <type>text/plain</type>
            <size>3706</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3MTM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEzLTAzLTI4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU2FmYXJpIGhhbmdzIGR1cmluZyB0ZXN0MjYyIHJ1biBpbiBDb2RlQ2FjaGU6OnBy
dW5lU2xvd0Nhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMzQ2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIGNhbiBlbmQgdXAgaGFuZ2luZyBmb3IgcXVpdGUgc29tZSB0aW1lIGlmIHdlIGFkZCBh
IGxvdCBvZiBzbWFsbCBrZXlzIHRvIHRoZSBDb2RlQ2FjaGUuCisgICAgICAgIEJ5IHRoZSB0aW1l
IHdlIGdldCBhcm91bmQgdG8gcHJ1bmluZyB0aGUgY2FjaGUsIHdlIGhhdmUgYSBwb3RlbnRpYWxs
eSB0ZW5zIG9yIGh1bmRyZWRzIG9mIAorICAgICAgICB0aG91c2FuZHMgb2Ygc21hbGwgZW50cmll
cywgd2hpY2ggY2FuIGNhdXNlIGEgbm90aWNlYWJsZSBoYW5nIHdoZW4gcHJ1bmluZyB0aGVtLgor
CisgICAgICAgIFRvIGZpeCB0aGlzIGlzc3VlIHdlIGFkZGVkIGEgaGFyZCBjYXAgdG8gdGhlIG51
bWJlciBvZiBlbnRyaWVzIGluIHRoZSBjYWNoZSBiZWNhdXNlIHdlIAorICAgICAgICBjb3VsZCBw
b3RlbnRpYWxseSBoYXZlIHRvIHJlbW92ZSBldmVyeSBlbGVtZW50IGluIHRoZSBtYXAuCisKKyAg
ICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5jcHA6CisgICAgICAgIChKU0M6OkNvZGVDYWNoZU1h
cDo6cHJ1bmVTbG93Q2FzZSk6IFdlIG5lZWQgdG8gcHJ1bmUgdW50aWwgd2UncmUgYm90aCB1bmRl
ciB0aGUgaGFyZCBjYXAgYW5kIHRoZQorICAgICAgICBjYXBhY2l0eSBpbiBieXRlcy4KKyAgICAg
ICAgKiBydW50aW1lL0NvZGVDYWNoZS5oOgorICAgICAgICAoQ29kZUNhY2hlTWFwKToKKyAgICAg
ICAgKEpTQzo6Q29kZUNhY2hlTWFwOjpudW1iZXJPZkVudHJpZXMpOiBDb252ZW5pZW5jZSBhY2Nl
c3NvciBmdW5jdGlvbiB0byB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gCisgICAgICAgIHRoZSBt
YXAgdGhhdCBkb2VzIHRoZSBjYXN0IHRvIHNpemVfdCBvZiBtX21hcC5zaXplKCkgZm9yIHVzLiAK
KyAgICAgICAgKEpTQzo6Q29kZUNhY2hlTWFwOjpwcnVuZSk6IENoZWNrIHRoZSBudW1iZXIgb2Yg
ZW50cmllcyBhZ2FpbnN0IG91ciBoYXJkIGNhcC4gSWYgaXQncyBncmVhdGVyIHRoYW4KKyAgICAg
ICAgdGhlIGNhcCB0aGVuIHdlIG5lZWQgdG8gZHJvcCBkb3duIHRvIHBydW5lU2xvd0Nhc2UuCisK
IDIwMTMtMDMtMjggIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciB0aGUgRUZMIGFuZCBHVEsgcG9ydHMuCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAJKHJldmlzaW9u
IDE0NzEzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgdm9pZCBDb2RlQ2FjaGVNYXA6OnBydW5l
U2xvd0Nhc2UoKQogICAgIGlmIChtX2NhcGFjaXR5IDwgbV9taW5DYXBhY2l0eSkKICAgICAgICAg
bV9jYXBhY2l0eSA9IG1fbWluQ2FwYWNpdHk7CiAKLSAgICB3aGlsZSAobV9zaXplID4gbV9jYXBh
Y2l0eSkgeworICAgIHdoaWxlIChtX3NpemUgPiBtX2NhcGFjaXR5ICYmIG51bWJlck9mRW50cmll
cygpID49IHdvcmtpbmdTZXRNYXhFbnRyaWVzKSB7CiAgICAgICAgIE1hcFR5cGU6Oml0ZXJhdG9y
IGl0ID0gbV9tYXAuYmVnaW4oKTsKICAgICAgICAgbV9zaXplIC09IGl0LT5rZXkubGVuZ3RoKCk7
CiAgICAgICAgIG1fbWFwLnJlbW92ZShpdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db2RlQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db2RlQ2FjaGUuaAkocmV2aXNpb24gMTQ3MTM2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5Niw3ICsxOTYs
OCBAQCBwcml2YXRlOgogICAgIC8vIFRoaXMgY29uc3RhbnQgZmFjdG9yIGJpYXNlcyBjYWNoZSBj
YXBhY2l0eSB0b3dhcmQgYWxsb3dpbmcgYSBtaW5pbXVtCiAgICAgLy8gd29ya2luZyBzZXQgdG8g
ZW50ZXIgdGhlIGNhY2hlIGJlZm9yZSBpdCBzdGFydHMgZXZpY3RpbmcuCiAgICAgc3RhdGljIGNv
bnN0IGRvdWJsZSB3b3JraW5nU2V0VGltZTsKLSAgICBzdGF0aWMgY29uc3QgaW50NjRfdCB3b3Jr
aW5nU2V0TWF4ID0gMTYwMDAwMDA7CisgICAgc3RhdGljIGNvbnN0IGludDY0X3Qgd29ya2luZ1Nl
dE1heEJ5dGVzID0gMTYwMDAwMDA7CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCB3b3JraW5nU2V0
TWF4RW50cmllcyA9IDIwMDA7CiAKICAgICAvLyBUaGlzIGNvbnN0YW50IGZhY3RvciBiaWFzZXMg
Y2FjaGUgY2FwYWNpdHkgdG93YXJkIHJlY2VudCBhY3Rpdml0eS4gV2UKICAgICAvLyB3YW50IHRv
IGFkYXB0IHRvIGNoYW5naW5nIHdvcmtsb2Fkcy4KQEAgLTIwNywxNCArMjA4LDIwIEBAIHByaXZh
dGU6CiAgICAgLy8gc2FtcGxlIHRoZW0sIHNvIHdlIG5lZWQgdG8gZXh0cmFwb2xhdGUgZnJvbSB0
aGUgb25lcyB3ZSBkbyBzYW1wbGUuCiAgICAgc3RhdGljIGNvbnN0IGludDY0X3Qgb2xkT2JqZWN0
U2FtcGxpbmdNdWx0aXBsaWVyID0gMzI7CiAKKyAgICBzaXplX3QgbnVtYmVyT2ZFbnRyaWVzKCkK
KyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KG1fbWFwLnNpemUoKSk7
CisgICAgfQorCiAgICAgdm9pZCBwcnVuZVNsb3dDYXNlKCk7CiAgICAgdm9pZCBwcnVuZSgpCiAg
ICAgewotICAgICAgICBpZiAobV9zaXplIDw9IG1fY2FwYWNpdHkpCisgICAgICAgIGlmIChtX3Np
emUgPD0gbV9jYXBhY2l0eSAmJiBudW1iZXJPZkVudHJpZXMoKSA8IHdvcmtpbmdTZXRNYXhFbnRy
aWVzKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmIChtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAtIG1fdGltZUF0TGFzdFBydW5lIDwgd29ya2luZ1NldFRpbWUKLSAgICAg
ICAgICAgICYmIG1fc2l6ZSAtIG1fc2l6ZUF0TGFzdFBydW5lIDwgd29ya2luZ1NldE1heCkKKyAg
ICAgICAgICAgICYmIG1fc2l6ZSAtIG1fc2l6ZUF0TGFzdFBydW5lIDwgd29ya2luZ1NldE1heEJ5
dGVzCisgICAgICAgICAgICAmJiBudW1iZXJPZkVudHJpZXMoKSA8IHdvcmtpbmdTZXRNYXhFbnRy
aWVzKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBwcnVuZVNsb3dDYXNlKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195622</attachid>
            <date>2013-03-28 12:46:12 -0700</date>
            <delta_ts>2013-03-28 13:04:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113469-20130328124610.patch</filename>
            <type>text/plain</type>
            <size>4029</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3MTQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDEzLTAzLTI4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgU2FmYXJpIGhhbmdzIGR1cmluZyB0ZXN0MjYyIHJ1biBpbiBDb2RlQ2FjaGU6OnBy
dW5lU2xvd0Nhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMzQ2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIGNhbiBlbmQgdXAgaGFuZ2luZyBmb3IgcXVpdGUgc29tZSB0aW1lIGlmIHdlIGFkZCBh
IGxvdCBvZiBzbWFsbCBrZXlzIHRvIHRoZSBDb2RlQ2FjaGUuCisgICAgICAgIEJ5IHRoZSB0aW1l
IHdlIGdldCBhcm91bmQgdG8gcHJ1bmluZyB0aGUgY2FjaGUsIHdlIGhhdmUgYSBwb3RlbnRpYWxs
eSB0ZW5zIG9yIGh1bmRyZWRzIG9mIAorICAgICAgICB0aG91c2FuZHMgb2Ygc21hbGwgZW50cmll
cywgd2hpY2ggY2FuIGNhdXNlIGEgbm90aWNlYWJsZSBoYW5nIHdoZW4gcHJ1bmluZyB0aGVtLgor
CisgICAgICAgIFRvIGZpeCB0aGlzIGlzc3VlIHdlIGFkZGVkIGEgaGFyZCBjYXAgdG8gdGhlIG51
bWJlciBvZiBlbnRyaWVzIGluIHRoZSBjYWNoZSBiZWNhdXNlIHdlIAorICAgICAgICBjb3VsZCBw
b3RlbnRpYWxseSBoYXZlIHRvIHJlbW92ZSBldmVyeSBlbGVtZW50IGluIHRoZSBtYXAuCisKKyAg
ICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5jcHA6CisgICAgICAgIChKU0M6OkNvZGVDYWNoZU1h
cDo6cHJ1bmVTbG93Q2FzZSk6IFdlIG5lZWQgdG8gcHJ1bmUgdW50aWwgd2UncmUgYm90aCB1bmRl
ciB0aGUgaGFyZCBjYXAgYW5kIHRoZQorICAgICAgICBjYXBhY2l0eSBpbiBieXRlcy4KKyAgICAg
ICAgKiBydW50aW1lL0NvZGVDYWNoZS5oOgorICAgICAgICAoQ29kZUNhY2hlTWFwKToKKyAgICAg
ICAgKEpTQzo6Q29kZUNhY2hlTWFwOjpudW1iZXJPZkVudHJpZXMpOiBDb252ZW5pZW5jZSBhY2Nl
c3NvciBmdW5jdGlvbiB0byB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gCisgICAgICAgIHRoZSBt
YXAgdGhhdCBkb2VzIHRoZSBjYXN0IHRvIHNpemVfdCBvZiBtX21hcC5zaXplKCkgZm9yIHVzLiAK
KyAgICAgICAgKEpTQzo6Q29kZUNhY2hlTWFwOjpjYW5QcnVuZVF1aWNrbHkpOiBDaGVja3MgdGhh
dCB0aGUgdG90YWwgbnVtYmVyIGlzIHVuZGVyIHRoZSBoYXJkIGNhcC4gV2UgcHV0IHRoaXMgCisg
ICAgICAgIGNoZWNrIGluc2lkZSBhIGZ1bmN0aW9uIHRvIG1vcmUgYWNjdXJhdGVseSBkZXNjcmli
ZSB3aHkgd2UncmUgZG9pbmcgdGhlIGNoZWNrIGFuZCB0byBhYnN0cmFjdCBvdXQgCisgICAgICAg
IHRoZSBhY3R1YWwgY2FsY3VsYXRpb24gaW4gY2FzZSB3ZSB3YW50IHRvIGNvYWxlc2NlIGNhbGxz
IHRvIHBydW5lU2xvd0Nhc2UgaW4gdGhlIGZ1dHVyZS4KKyAgICAgICAgKEpTQzo6Q29kZUNhY2hl
TWFwOjpwcnVuZSk6IENoZWNrIHRoZSBudW1iZXIgb2YgZW50cmllcyBhZ2FpbnN0IG91ciBoYXJk
IGNhcC4gSWYgaXQncyBncmVhdGVyIHRoYW4KKyAgICAgICAgdGhlIGNhcCB0aGVuIHdlIG5lZWQg
dG8gZHJvcCBkb3duIHRvIHBydW5lU2xvd0Nhc2UuCisKIDIwMTMtMDMtMjggIFphbiBEb2JlcnNl
ayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4
IGZvciB0aGUgRUZMIGFuZCBHVEsgcG9ydHMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db2RlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAJKHJldmlzaW9uIDE0NzEzNikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcg
KzQ3LDcgQEAgdm9pZCBDb2RlQ2FjaGVNYXA6OnBydW5lU2xvd0Nhc2UoKQogICAgIGlmIChtX2Nh
cGFjaXR5IDwgbV9taW5DYXBhY2l0eSkKICAgICAgICAgbV9jYXBhY2l0eSA9IG1fbWluQ2FwYWNp
dHk7CiAKLSAgICB3aGlsZSAobV9zaXplID4gbV9jYXBhY2l0eSkgeworICAgIHdoaWxlIChtX3Np
emUgPiBtX2NhcGFjaXR5IHx8ICFjYW5QcnVuZVF1aWNrbHkoKSkgewogICAgICAgICBNYXBUeXBl
OjppdGVyYXRvciBpdCA9IG1fbWFwLmJlZ2luKCk7CiAgICAgICAgIG1fc2l6ZSAtPSBpdC0+a2V5
Lmxlbmd0aCgpOwogICAgICAgICBtX21hcC5yZW1vdmUoaXQpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmgJKHJldmlzaW9uIDE0NzEzNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTYsNyArMTk2LDggQEAgcHJpdmF0ZToKICAgICAvLyBUaGlzIGNvbnN0YW50IGZhY3RvciBiaWFz
ZXMgY2FjaGUgY2FwYWNpdHkgdG93YXJkIGFsbG93aW5nIGEgbWluaW11bQogICAgIC8vIHdvcmtp
bmcgc2V0IHRvIGVudGVyIHRoZSBjYWNoZSBiZWZvcmUgaXQgc3RhcnRzIGV2aWN0aW5nLgogICAg
IHN0YXRpYyBjb25zdCBkb3VibGUgd29ya2luZ1NldFRpbWU7Ci0gICAgc3RhdGljIGNvbnN0IGlu
dDY0X3Qgd29ya2luZ1NldE1heCA9IDE2MDAwMDAwOworICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90
IHdvcmtpbmdTZXRNYXhCeXRlcyA9IDE2MDAwMDAwOworICAgIHN0YXRpYyBjb25zdCBzaXplX3Qg
d29ya2luZ1NldE1heEVudHJpZXMgPSAyMDAwOwogCiAgICAgLy8gVGhpcyBjb25zdGFudCBmYWN0
b3IgYmlhc2VzIGNhY2hlIGNhcGFjaXR5IHRvd2FyZCByZWNlbnQgYWN0aXZpdHkuIFdlCiAgICAg
Ly8gd2FudCB0byBhZGFwdCB0byBjaGFuZ2luZyB3b3JrbG9hZHMuCkBAIC0yMDcsMTQgKzIwOCwx
OCBAQCBwcml2YXRlOgogICAgIC8vIHNhbXBsZSB0aGVtLCBzbyB3ZSBuZWVkIHRvIGV4dHJhcG9s
YXRlIGZyb20gdGhlIG9uZXMgd2UgZG8gc2FtcGxlLgogICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90
IG9sZE9iamVjdFNhbXBsaW5nTXVsdGlwbGllciA9IDMyOwogCisgICAgc2l6ZV90IG51bWJlck9m
RW50cmllcygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4obV9tYXAuc2l6ZSgp
KTsgfQorICAgIGJvb2wgY2FuUHJ1bmVRdWlja2x5KCkgY29uc3QgeyByZXR1cm4gbnVtYmVyT2ZF
bnRyaWVzKCkgPCB3b3JraW5nU2V0TWF4RW50cmllczsgfQorCiAgICAgdm9pZCBwcnVuZVNsb3dD
YXNlKCk7CiAgICAgdm9pZCBwcnVuZSgpCiAgICAgewotICAgICAgICBpZiAobV9zaXplIDw9IG1f
Y2FwYWNpdHkpCisgICAgICAgIGlmIChtX3NpemUgPD0gbV9jYXBhY2l0eSAmJiBjYW5QcnVuZVF1
aWNrbHkoKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAobW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSBtX3RpbWVBdExhc3RQcnVuZSA8IHdvcmtpbmdTZXRUaW1lCi0g
ICAgICAgICAgICAmJiBtX3NpemUgLSBtX3NpemVBdExhc3RQcnVuZSA8IHdvcmtpbmdTZXRNYXgp
CisgICAgICAgICAgICAmJiBtX3NpemUgLSBtX3NpemVBdExhc3RQcnVuZSA8IHdvcmtpbmdTZXRN
YXhCeXRlcworICAgICAgICAgICAgJiYgY2FuUHJ1bmVRdWlja2x5KCkpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIHBydW5lU2xvd0Nhc2UoKTsK
</data>
<flag name="review"
          id="217537"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>