[webkit-gtk] webkit-gtk - memory leak?

Toni Koski toni.koski at firsttechnology.fi
Tue Nov 2 00:33:36 PDT 2010


No effect with g_free(). Still leaking.
Yes, I have tested with uzbl also.  With "www.hs.fi" I can see that the 
used memory increases when the page is reloaded again and again :-(

/toni


On 11/01/2010 04:06 PM, Calvin M wrote:
> you could call g_free() ?  try taking a look at some other webkit 
> examples. i'm also pretty sure that uzbl has covered FIFO piping so 
> maybe look at their code for example.
>
> On 1 November 2010 05:20, Toni Koski <toni.koski at firsttechnology.fi 
> <mailto:toni.koski at firsttechnology.fi>> wrote:
>
>     Hi list,
>
>     My goal is to create webkit/gtk based browser, which can be
>     controlled via Linux pipe (fifo).
>
>     I have made several test with webkit, but there is always "huge"
>     memory leaks.
>     I have used lastest webkit build: "WebKit r70732 was built on 28
>     October 2010".
>     I assume that the leak is in the cache(maybe I am wrong).  Amount
>     of the memory leak is related to loaded page.
>     So, everything to disabling cache has done. I have also set:
>     "m_disabled = true " in the :"WebCore/loader/Cache.cpp"
>
>     I have tested both cache modes with out any effects for the memory
>     leak:
>     - WEBKIT_CACHE_MODEL_WEB_BROWSER
>     - WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER
>
>     And same result with all methods:
>     - webkit_web_view_reload_bypass_cache
>     - webkit_web_view_load_uri
>     - webkit_web_view_reload
>
>
>
>
>
>     Even if I run callback function once with
>     "gtk_widget_destroy(wk);", it does not release used memory.
>
>
>     Plese help me, I am desperate ;-)
>
>
>
>
>
>     Here is my testcode:
>
>     #include <gtk/gtk.h>
>     #include <webkit/webkit.h>
>     #include <stdlib.h>
>     #include <time.h>
>
>
>
>     static WebKitWebView* web_view;
>
>     static char *urls[] = {"http://www.utu.fi",
>                        "http://www.ts.fi",
>                        "http://www.hs.fi",
>                        "http://www.google.fi",
>                        "http://www.hs.fi",
>                        "http://www.turku.fi"};
>
>     gboolean callback (gpointer wk)
>     {
>          g_print("loading\n");
>          //webkit_web_view_load_uri(wk, urls[rand() % 6]);
>          //webkit_web_view_load_uri(wk, "http://www.hs.fi");
>          webkit_web_view_reload_bypass_cache(wk);
>          return TRUE;
>     }
>
>
>     int main( int argc, char *argv[])
>     {
>        GtkWidget *window;
>        GtkWidget *vbox;
>
>        gtk_init(&argc, &argv);
>
>        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
>        gtk_window_set_default_size(GTK_WINDOW(window), 1024, 768);
>
>
>
>        web_view = WEBKIT_WEB_VIEW(webkit_web_view_new ());
>        gtk_widget_set_size_request(GTK_WIDGET(web_view), 1024,768);
>
>        //webkit_set_cache_model(WEBKIT_CACHE_MODEL_WEB_BROWSER);
>        webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
>
>        WebKitWebSettings *settings = webkit_web_settings_new();
>        g_object_set(G_OBJECT(settings),
>     "enable-offline-web-application-cache", FALSE, NULL);
>        g_object_set(G_OBJECT(settings), "enable-private-browsing",
>     TRUE, NULL);
>        g_object_set(G_OBJECT(settings), "enable-scripts", FALSE, NULL);
>        g_object_set(G_OBJECT(settings), "enable-plugins", FALSE, NULL);
>        webkit_web_view_set_settings(web_view, settings);
>
>        WebKitWebBackForwardList *back_forward_list =
>     webkit_web_view_get_back_forward_list(web_view);
>        webkit_web_back_forward_list_set_limit(back_forward_list, 1);
>
>        gtk_container_add(GTK_CONTAINER (window), GTK_WIDGET(web_view));
>        webkit_web_view_load_uri(web_view, "http://www.hs.fi");
>
>        gtk_widget_show_all(window);
>
>        g_timeout_add(12000, callback, web_view);
>        gtk_main();
>
>        return 0;
>     }
>
>
>
>
>
>
>     /toni
>
>
>     _______________________________________________
>     webkit-gtk mailing list
>     webkit-gtk at lists.webkit.org <mailto:webkit-gtk at lists.webkit.org>
>     http://lists.webkit.org/mailman/listinfo.cgi/webkit-gtk
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-gtk/attachments/20101102/56c70d4f/attachment-0001.html>


More information about the webkit-gtk mailing list