<?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>26716</bug_id>
          
          <creation_ts>2009-06-25 01:51:43 -0700</creation_ts>
          <short_desc>[Gtk] Each XMLHttpRequest leaks memory.</short_desc>
          <delta_ts>2009-07-20 03:05:29 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Kjellberg">john.kjellberg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>128132</commentid>
    <comment_count>0</comment_count>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-06-25 01:51:43 -0700</bug_when>
    <thetext>I have tried this with WebKit-r43841(and earlier versions also in the past) and GtkLauncher.
I have loaded the attached file which makes a XMLHttpRequest request every 100ms. After a half an hour some MB of memory is missing. This continues until the system is really low on memory and slows down and the the oom-killer kills the app. I have checked memory usage in: /proc/&lt;pid&gt;/smaps and it shows increase in &quot;[heap]&quot; memory.

This bug is really critical since it makes it impossible to create stable kiosk-applications and such.

(This bug is sort of Bug#: 17534, however, I felt that that bug report was really misleading)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128133</commentid>
    <comment_count>1</comment_count>
      <attachid>31840</attachid>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-06-25 01:53:13 -0700</bug_when>
    <thetext>Created attachment 31840
Test case making XMLHttpRequest every 100ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130194</commentid>
    <comment_count>2</comment_count>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-07-07 06:42:58 -0700</bug_when>
    <thetext>I have now done more testing with the nightly build r41128. That is the last version supporting both &quot;curl&quot; and &quot;soup&quot; as HTTP backend. When using &quot;soup&quot; as backend it leaks memory, when using &quot;curl&quot; it doesn&apos;t. That the leak is related to &quot;soup&quot; is also confirmed by valgrid testing.

I don&apos;t know if the leak is in how WebKit uses &quot;soup&quot; of if the leak is in soup itself. I use version 2.26.1 of libsoup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130198</commentid>
    <comment_count>3</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-07-07 06:47:45 -0700</bug_when>
    <thetext>Marking this a Gtk bug for now since it&apos;s confirmed that it&apos;s in the soup backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130241</commentid>
    <comment_count>4</comment_count>
    <who name="John Kjellberg">john.kjellberg</who>
    <bug_when>2009-07-07 10:49:58 -0700</bug_when>
    <thetext>I think I how found the problem in:
  WebCore/platform/network/soup/ResourceHandleSoup.cpp
line 581

  if ((equalIgnoringCase(protocol, &quot;http&quot;) || equalIgnoringCase(protocol, &quot;https&quot;)) &amp;&amp; SOUP_URI_VALID_FOR_HTTP(soup_uri_new(urlString.utf8().data())))

the call to &quot;soup_uri_new()&quot; should be followed by a &quot;soup_uri_free()&quot;.


I will take a deeper look at it tomorrow and perhaps create a &quot;proposed patch&quot; if no one beats me too it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133089</commentid>
    <comment_count>5</comment_count>
      <attachid>33075</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-07-20 02:38:59 -0700</bug_when>
    <thetext>Created attachment 33075
fixleak.patch

I think you are totally right; patch attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133101</commentid>
    <comment_count>6</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-07-20 03:05:29 -0700</bug_when>
    <thetext>Patch landed as r46117.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>31840</attachid>
            <date>2009-06-25 01:53:13 -0700</date>
            <delta_ts>2009-06-25 01:53:13 -0700</delta_ts>
            <desc>Test case making XMLHttpRequest every 100ms</desc>
            <filename>mem_test.htm</filename>
            <type>text/html</type>
            <size>232</size>
            <attacher name="John Kjellberg">john.kjellberg</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciB4bWxIdHRw
PW5ldyBYTUxIdHRwUmVxdWVzdCgpOwoKZnVuY3Rpb24gdGVzdCgpIHsKCXhtbEh0dHAub3Blbigi
R0VUIiwibWVtX3Rlc3QuaHRtIiwgZmFsc2UpOwoJeG1sSHR0cC5zZW5kKG51bGwpOwogICAgc2V0
VGltZW91dCh0ZXN0LDEwMCk7Cn0KCnRlc3QoKTsKPC9zY3JpcHQ+ClRlc3QKPC9ib2R5Pgo8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33075</attachid>
            <date>2009-07-20 02:38:59 -0700</date>
            <delta_ts>2009-07-20 02:54:47 -0700</delta_ts>
            <desc>fixleak.patch</desc>
            <filename>fixleak.patch</filename>
            <type>text/plain</type>
            <size>2380</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhNWFiMmRiNWM4ZTkyYzdhMzZhNzQ1NDVlNDc2ODU0MmQzNTY4NTA3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDIwIEp1bCAyMDA5IDEyOjM3OjMxICswMzAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wNy0y
MCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjY3MTYKICAgICAgICBbR3RrXSBFYWNoIFhNTEh0dHBSZXF1ZXN0IGxlYWtzIG1lbW9y
eS4KCiAgICAgICAgRnJlZSB0aGUgU291cFVSSSB3ZSBjcmVhdGUgdG8gY2hlY2sgdGhlIFVSSS4g
Rml4IHN1Z2dlc3RlZCBieSBKb2huCiAgICAgICAgS2plbGxiZXJnLgoKICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgogICAgICAgIChXZWJDb3Jl
OjopOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxMyArKysrKysrKysrKysrCiAuLi4vcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlSGFuZGxlU291cC5jcHAgICB8ICAgIDYgKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDE4IGlu
c2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMzdkYmViLi43NGM1NmU2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4
IEBACiAyMDA5LTA3LTIwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY3MTYKKyAgICAgICAgW0d0a10gRWFjaCBYTUxIdHRw
UmVxdWVzdCBsZWFrcyBtZW1vcnkuCisKKyAgICAgICAgRnJlZSB0aGUgU291cFVSSSB3ZSBjcmVh
dGUgdG8gY2hlY2sgdGhlIFVSSS4gRml4IHN1Z2dlc3RlZCBieSBKb2huCisgICAgICAgIEtqZWxs
YmVyZy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6KToKKworMjAwOS0wNy0yMCAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3Jvbmhh
LgogCiAgICAgICAgIENoYW5nZSB0aGUgZ2xpYiB2ZXJzaW9uIGNoZWNrIHRvIGNoZWNrIGZvciB0
aGUgZmlyc3QgdW5zdGFibGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDM5MGNiYzMuLjlhYzU5NTMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cApAQCAtNTgzLDcgKzU4MywxMSBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzdGFydChGcmFtZSog
ZnJhbWUpCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHByb3RvY29sLCAiZGF0YSIpKQogICAg
ICAgICByZXR1cm4gc3RhcnREYXRhKHVybFN0cmluZyk7CiAKLSAgICBpZiAoKGVxdWFsSWdub3Jp
bmdDYXNlKHByb3RvY29sLCAiaHR0cCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHByb3RvY29sLCAi
aHR0cHMiKSkgJiYgU09VUF9VUklfVkFMSURfRk9SX0hUVFAoc291cF91cmlfbmV3KHVybFN0cmlu
Zy51dGY4KCkuZGF0YSgpKSkpCisgICAgU291cFVSSSogdXJpID0gc291cF91cmlfbmV3KHVybFN0
cmluZy51dGY4KCkuZGF0YSgpKTsKKyAgICBib29sIGlzSFRUUE9ySFRUUFMgPSAoZXF1YWxJZ25v
cmluZ0Nhc2UocHJvdG9jb2wsICJodHRwIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2ws
ICJodHRwcyIpKSAmJiBTT1VQX1VSSV9WQUxJRF9GT1JfSFRUUCh1cmkpOworICAgIHNvdXBfdXJp
X2ZyZWUodXJpKTsKKworICAgIGlmIChpc0hUVFBPckhUVFBTKQogICAgICAgICByZXR1cm4gc3Rh
cnRIdHRwKHVybFN0cmluZyk7CiAKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2ws
ICJmaWxlIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2wsICJmdHAiKSB8fCBlcXVhbEln
bm9yaW5nQ2FzZShwcm90b2NvbCwgImZ0cHMiKSkKLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="17407"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>