Re: Memory leaks




On 8 Feb 2011, at 09:36, John Emmas wrote:


int main (int argc, char *argv[])
{
     Gtk::Main *app = new Gtk::Main (&argc, &argv);

     delete app;

     return 0;
}

The above code causes hundreds of memory leaks.


I spent a few minutes on this (literally just a few) this morning, while I was sipping my first coffee and 
still trying to wake up!  During gtk_init() I discovered a couple of places where g_strdup() gets used but 
the allocated memory never gets freed.  For example in gdk/gdkinternals.h, the memory allocated to the 
variable '_gdk_display_arg_name' never gets properly freed (it gets freed if it needs to get reallocated but 
otherwise, it just leaks).  I also discovered (although it wasn't relevant to my original post) that simply 
calling g_warning() results in about 15 memory leaks, although I didn't have enough time to find any of them.

I don't know what to do about this.  I remember from about a year ago that a guy was offering to track down 
memory leaks and if I could find some spare time over the next few months I'd be happy to assist in finding 
them, a few at a time if it would help - but even just that one line of code produces many hundreds of leaks, 
so I don't want to be wasting my time if they're just an inevitable part of the way gtk+ is structured.  This 
seems like one of those tasks that could soon turn into a can of worms!!

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]