<?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>133185</bug_id>
          
          <creation_ts>2014-05-22 10:53:45 -0700</creation_ts>
          <short_desc>[Curl] Crash when exceeding maximum cache limit.</short_desc>
          <delta_ts>2014-05-22 23:40:16 -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>WebCore Misc.</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>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex.christensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>galpeter</cc>
    
    <cc>mmatyas</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1011014</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-05-22 10:53:45 -0700</bug_when>
    <thetext>When the maximum cache limit is exceeded, I get a crash.
This happens when deleting cache entries, because a reference to the url string object in the LRU list
is used as a parameter to invalidateCacheEntry(), when called from makeRoomForNewEntry().
When the string is removed from the LRU list in makeRoomForNewEntry(), the string is deleted.
Next, the string is accessed again to remove the url from the index, and we crash.

This can be fixed by removing the string from the LRU list after it is removed from the index.

Fixing the crash also revealed an infinite loop problem.
If the url for some reason only exist in the LRU list, and not in the index,
we will inifitely loop in makeRoomForNewEntry(), trying to remove this url from the cache, but never succeeding.
This can be fixed by removing the url from the LRU list, also when it&apos;s not in the index.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011018</commentid>
    <comment_count>1</comment_count>
      <attachid>231897</attachid>
    <who name="">peavo</who>
    <bug_when>2014-05-22 11:03:45 -0700</bug_when>
    <thetext>Created attachment 231897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011026</commentid>
    <comment_count>2</comment_count>
      <attachid>231900</attachid>
    <who name="">peavo</who>
    <bug_when>2014-05-22 11:28:43 -0700</bug_when>
    <thetext>Created attachment 231900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011174</commentid>
    <comment_count>3</comment_count>
      <attachid>231900</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-05-22 23:06:35 -0700</bug_when>
    <thetext>Comment on attachment 231900
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011177</commentid>
    <comment_count>4</comment_count>
      <attachid>231900</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-22 23:36:33 -0700</bug_when>
    <thetext>Comment on attachment 231900
Patch

Clearing flags on attachment: 231900

Committed r169249: &lt;http://trac.webkit.org/changeset/169249&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011178</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-22 23:36:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011179</commentid>
    <comment_count>6</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-05-22 23:40:16 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 231900 [details])
&gt; r=me

Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231897</attachid>
            <date>2014-05-22 11:03:45 -0700</date>
            <delta_ts>2014-05-22 11:27:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133185-20140522200315.patch</filename>
            <type>text/plain</type>
            <size>2832</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2OTIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA1LTIyICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBDcmFzaCB3
aGVuIGV4Y2VlZGluZyBtYXhpbXVtIGNhY2hlIGxpbWl0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgbWF4aW11bSBjYWNoZSBsaW1pdCBp
cyBleGNlZWRlZCwgSSBnZXQgYSBjcmFzaC4KKyAgICAgICAgVGhpcyBoYXBwZW5zIHdoZW4gZGVs
ZXRpbmcgY2FjaGUgZW50cmllcywgYmVjYXVzZSBhIHJlZmVyZW5jZSB0byB0aGUgdXJsIHN0cmlu
ZyBvYmplY3QgaW4gdGhlIExSVSBsaXN0CisgICAgICAgIGlzIHVzZWQgYXMgYSBwYXJhbWV0ZXIg
dG8gaW52YWxpZGF0ZUNhY2hlRW50cnkoKSwgd2hlbiBjYWxsZWQgZnJvbSBtYWtlUm9vbUZvck5l
d0VudHJ5KCkuCisgICAgICAgIFdoZW4gdGhlIHN0cmluZyBpcyByZW1vdmVkIGZyb20gdGhlIExS
VSBsaXN0IGluIG1ha2VSb29tRm9yTmV3RW50cnkoKSwgdGhlIHN0cmluZyBpcyBkZWxldGVkLgor
ICAgICAgICBOZXh0LCB0aGUgc3RyaW5nIGlzIGFjY2Vzc2VkIGFnYWluIHRvIHJlbW92ZSB0aGUg
dXJsIGZyb20gdGhlIGluZGV4LCBhbmQgd2UgY3Jhc2guCisKKyAgICAgICAgVGhpcyBjYW4gYmUg
Zml4ZWQgYnkgcmVtb3ZpbmcgdGhlIHN0cmluZyBmcm9tIHRoZSBMUlUgbGlzdCBhZnRlciBpdCBp
cyByZW1vdmVkIGZyb20gdGhlIGluZGV4LgorCisgICAgICAgIEZpeGluZyB0aGUgY3Jhc2ggYWxz
byByZXZlYWxlZCBhbiBpbmZpbml0ZSBsb29wIHByb2JsZW0uCisgICAgICAgIElmIHRoZSB1cmwg
Zm9yIHNvbWUgcmVhc29uIG9ubHkgZXhpc3QgaW4gdGhlIExSVSBsaXN0LCBhbmQgbm90IGluIHRo
ZSBpbmRleCwKKyAgICAgICAgd2Ugd2lsbCBpbmlmaXRlbHkgbG9vcCBpbiBtYWtlUm9vbUZvck5l
d0VudHJ5KCksIHRyeWluZyB0byByZW1vdmUgdGhpcyB1cmwgZnJvbSB0aGUgY2FjaGUsIGJ1dCBu
ZXZlciBzdWNjZWVkaW5nLgorICAgICAgICBUaGlzIGNhbiBiZSBmaXhlZCBieSByZW1vdmluZyB0
aGUgdXJsIGZyb20gdGhlIExSVSBsaXN0LCBhbHNvIHdoZW4gaXQncyBub3QgaW4gdGhlIGluZGV4
LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlTWFuYWdlcjo6bWFrZVJvb21Gb3JOZXdFbnRy
eSk6IEF2b2lkIGluZmluaXRlIGxvb3AgYnkgY2hlY2tpbmcgaWYgdGhlcmUgYXJlIG1vcmUgY2Fj
aGUgZW50cmllcyB0byByZW1vdmUuCisgICAgICAgIChXZWJDb3JlOjpDdXJsQ2FjaGVNYW5hZ2Vy
OjppbnZhbGlkYXRlQ2FjaGVFbnRyeSk6IEF2b2lkIGNyYXNoIGFuZCBpbmZpbml0ZSBsb29wIGJ5
IHJlbW92aW5nIHVybCBmcm9tIExSVSBsaXN0IGxhc3QuCisKIDIwMTQtMDUtMjIgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04o
cjE2MzcxMik6IFtHVEtdIE1pc3NwZWxsaW5nIGFuZCBncmFtbWFyIHVuZGVybGluZSBtYXJrcyBh
cmUgbm8gbG9uZ2VyIGRyYXduCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNjky
MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFu
YWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIEN1cmxDYWNo
ZU1hbmFnZXI6Om1ha2VSb29tRm9yTmV3RW50CiAgICAgaWYgKG1fZGlzYWJsZWQpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHdoaWxlIChtX2N1cnJlbnRTdG9yYWdlU2l6ZSA+IG1fc3RvcmFnZVNp
emVMaW1pdCkgeworICAgIHdoaWxlICgobV9jdXJyZW50U3RvcmFnZVNpemUgPiBtX3N0b3JhZ2VT
aXplTGltaXQpICYmIG1fTFJVRW50cnlMaXN0LnNpemUoKSA+IDApIHsKICAgICAgICAgQVNTRVJU
KG1faW5kZXguZmluZChtX0xSVUVudHJ5TGlzdC5sYXN0KCkpICE9IG1faW5kZXguZW5kKCkpOwog
ICAgICAgICBpbnZhbGlkYXRlQ2FjaGVFbnRyeShtX0xSVUVudHJ5TGlzdC5sYXN0KCkpOwogICAg
IH0KQEAgLTMwMyw5ICszMDMsOSBAQCB2b2lkIEN1cmxDYWNoZU1hbmFnZXI6OmludmFsaWRhdGVD
YWNoZUVuCiAgICAgICAgICAgICBtX2N1cnJlbnRTdG9yYWdlU2l6ZSAtPSBpdC0+dmFsdWUtPmVu
dHJ5U2l6ZSgpOwogCiAgICAgICAgIGl0LT52YWx1ZS0+aW52YWxpZGF0ZSgpOwotICAgICAgICBt
X0xSVUVudHJ5TGlzdC5yZW1vdmUodXJsKTsKICAgICAgICAgbV9pbmRleC5yZW1vdmUodXJsKTsK
ICAgICB9CisgICAgbV9MUlVFbnRyeUxpc3QucmVtb3ZlKHVybCk7CiB9CiAKIHZvaWQgQ3VybENh
Y2hlTWFuYWdlcjo6ZGlkRmFpbChjb25zdCBTdHJpbmcmIHVybCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231900</attachid>
            <date>2014-05-22 11:28:43 -0700</date>
            <delta_ts>2014-05-22 23:36:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133185-20140522202808.patch</filename>
            <type>text/plain</type>
            <size>2832</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2OTIwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA1LTIyICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBDcmFzaCB3
aGVuIGV4Y2VlZGluZyBtYXhpbXVtIGNhY2hlIGxpbWl0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgbWF4aW11bSBjYWNoZSBsaW1pdCBp
cyBleGNlZWRlZCwgSSBnZXQgYSBjcmFzaC4KKyAgICAgICAgVGhpcyBoYXBwZW5zIHdoZW4gZGVs
ZXRpbmcgY2FjaGUgZW50cmllcywgYmVjYXVzZSBhIHJlZmVyZW5jZSB0byB0aGUgdXJsIHN0cmlu
ZyBvYmplY3QgaW4gdGhlIExSVSBsaXN0CisgICAgICAgIGlzIHVzZWQgYXMgYSBwYXJhbWV0ZXIg
dG8gaW52YWxpZGF0ZUNhY2hlRW50cnkoKSwgd2hlbiBjYWxsZWQgZnJvbSBtYWtlUm9vbUZvck5l
d0VudHJ5KCkuCisgICAgICAgIFdoZW4gdGhlIHN0cmluZyBpcyByZW1vdmVkIGZyb20gdGhlIExS
VSBsaXN0IGluIG1ha2VSb29tRm9yTmV3RW50cnkoKSwgdGhlIHN0cmluZyBpcyBkZWxldGVkLgor
ICAgICAgICBOZXh0LCB0aGUgc3RyaW5nIGlzIGFjY2Vzc2VkIGFnYWluIHRvIHJlbW92ZSB0aGUg
dXJsIGZyb20gdGhlIGluZGV4LCBhbmQgd2UgY3Jhc2guCisKKyAgICAgICAgVGhpcyBjYW4gYmUg
Zml4ZWQgYnkgcmVtb3ZpbmcgdGhlIHN0cmluZyBmcm9tIHRoZSBMUlUgbGlzdCBhZnRlciBpdCBp
cyByZW1vdmVkIGZyb20gdGhlIGluZGV4LgorCisgICAgICAgIEZpeGluZyB0aGUgY3Jhc2ggYWxz
byByZXZlYWxlZCBhbiBpbmZpbml0ZSBsb29wIHByb2JsZW0uCisgICAgICAgIElmIHRoZSB1cmwg
Zm9yIHNvbWUgcmVhc29uIG9ubHkgZXhpc3QgaW4gdGhlIExSVSBsaXN0LCBhbmQgbm90IGluIHRo
ZSBpbmRleCwKKyAgICAgICAgd2Ugd2lsbCBpbmlmaXRlbHkgbG9vcCBpbiBtYWtlUm9vbUZvck5l
d0VudHJ5KCksIHRyeWluZyB0byByZW1vdmUgdGhpcyB1cmwgZnJvbSB0aGUgY2FjaGUsIGJ1dCBu
ZXZlciBzdWNjZWVkaW5nLgorICAgICAgICBUaGlzIGNhbiBiZSBmaXhlZCBieSByZW1vdmluZyB0
aGUgdXJsIGZyb20gdGhlIExSVSBsaXN0LCBhbHNvIHdoZW4gaXQncyBub3QgaW4gdGhlIGluZGV4
LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3VybENhY2hlTWFuYWdlcjo6bWFrZVJvb21Gb3JOZXdFbnRy
eSk6IEF2b2lkIGluZmluaXRlIGxvb3AgYnkgY2hlY2tpbmcgaWYgdGhlcmUgYXJlIG1vcmUgY2Fj
aGUgZW50cmllcyB0byByZW1vdmUuCisgICAgICAgIChXZWJDb3JlOjpDdXJsQ2FjaGVNYW5hZ2Vy
OjppbnZhbGlkYXRlQ2FjaGVFbnRyeSk6IEF2b2lkIGNyYXNoIGFuZCBpbmZpbml0ZSBsb29wIGJ5
IHJlbW92aW5nIHVybCBmcm9tIExSVSBsaXN0IGxhc3QuCisKIDIwMTQtMDUtMjIgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04o
cjE2MzcxMik6IFtHVEtdIE1pc3NwZWxsaW5nIGFuZCBncmFtbWFyIHVuZGVybGluZSBtYXJrcyBh
cmUgbm8gbG9uZ2VyIGRyYXduCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNjky
MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFu
YWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIEN1cmxDYWNo
ZU1hbmFnZXI6Om1ha2VSb29tRm9yTmV3RW50CiAgICAgaWYgKG1fZGlzYWJsZWQpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHdoaWxlIChtX2N1cnJlbnRTdG9yYWdlU2l6ZSA+IG1fc3RvcmFnZVNp
emVMaW1pdCkgeworICAgIHdoaWxlICgobV9jdXJyZW50U3RvcmFnZVNpemUgPiBtX3N0b3JhZ2VT
aXplTGltaXQpICYmIG1fTFJVRW50cnlMaXN0LnNpemUoKSA+IDApIHsKICAgICAgICAgQVNTRVJU
KG1faW5kZXguZmluZChtX0xSVUVudHJ5TGlzdC5sYXN0KCkpICE9IG1faW5kZXguZW5kKCkpOwog
ICAgICAgICBpbnZhbGlkYXRlQ2FjaGVFbnRyeShtX0xSVUVudHJ5TGlzdC5sYXN0KCkpOwogICAg
IH0KQEAgLTMwMyw5ICszMDMsOSBAQCB2b2lkIEN1cmxDYWNoZU1hbmFnZXI6OmludmFsaWRhdGVD
YWNoZUVuCiAgICAgICAgICAgICBtX2N1cnJlbnRTdG9yYWdlU2l6ZSAtPSBpdC0+dmFsdWUtPmVu
dHJ5U2l6ZSgpOwogCiAgICAgICAgIGl0LT52YWx1ZS0+aW52YWxpZGF0ZSgpOwotICAgICAgICBt
X0xSVUVudHJ5TGlzdC5yZW1vdmUodXJsKTsKICAgICAgICAgbV9pbmRleC5yZW1vdmUodXJsKTsK
ICAgICB9CisgICAgbV9MUlVFbnRyeUxpc3QucmVtb3ZlKHVybCk7CiB9CiAKIHZvaWQgQ3VybENh
Y2hlTWFuYWdlcjo6ZGlkRmFpbChjb25zdCBTdHJpbmcmIHVybCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>