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/<pid>/smaps and it shows increase in "[heap]" 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)
Created attachment 31840 [details]
Test case making XMLHttpRequest every 100ms
I have now done more testing with the nightly build r41128. That is the last version supporting both "curl" and "soup" as HTTP backend. When using "soup" as backend it leaks memory, when using "curl" it doesn't. That the leak is related to "soup" is also confirmed by valgrid testing.
I don't know if the leak is in how WebKit uses "soup" of if the leak is in soup itself. I use version 2.26.1 of libsoup.
Marking this a Gtk bug for now since it's confirmed that it's in the soup backend.
I think I how found the problem in:
if ((equalIgnoringCase(protocol, "http") || equalIgnoringCase(protocol, "https")) && SOUP_URI_VALID_FOR_HTTP(soup_uri_new(urlString.utf8().data())))
the call to "soup_uri_new()" should be followed by a "soup_uri_free()".
I will take a deeper look at it tomorrow and perhaps create a "proposed patch" if no one beats me too it.
Created attachment 33075 [details]
I think you are totally right; patch attached.
Patch landed as r46117.