Re: valgrind memcheck shows gtk-hello leak memories.
- From: "David Necas (Yeti)" <yeti physics muni cz>
- To: Allin Cottrell <cottrell wfu edu>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: valgrind memcheck shows gtk-hello leak memories.
- Date: Tue, 22 Nov 2005 11:22:21 +0100
On Mon, Nov 21, 2005 at 11:38:27PM -0500, Allin Cottrell wrote:
On Tue, 22 Nov 2005, sigsegv11 wrote:
I test a very simple gtk program from the gtk-2.0
tutor(http://www.gtk.org/tutorial/x364.html) using valgrind, and
it reports the program leak memories. Is it a gtk's problem(really
have some memory leaks) or a valgrind's BUG?
Probably neither. To get good results with glib when using valgrind
(I think this is still good info), you should configure your glib
build using the flag
--enable-gc-friendly
If you mean more memory leaks by good results, then I agree.
This option makes GLib to wipe out zombie pointers in
logically unused memory -- like GList items waiting for
recycling -- allowing valgrind to detect the memory they
pointed to is not actually reachable.
But I don't understand how --enable-gc-friendly could make
valgrind report *less* memory leaks. I use it with
gc-unfriendly GLib and Gtk+ regularly and the leaks it finds
are real.
Instead, I'd suggest to compile GLib with -g and not to strip
it and to use --num-callers=20 or something like that to see
where the problem is (gtype.c, type_node_any_new_W()):
node = g_malloc0 (node_size);
if (!pnode) /* offset fundamental types */
{
node = G_STRUCT_MEMBER_P (node, SIZEOF_FUNDAMENTAL_INFO);
...
Well, some people might not call that a leak because the
type info for fundamental types is never freed anyway, but
it's clear node is lost and can't be freed any more (except
by some dirty code that calculates the original pointer
again).
Then you can create a suppression and add it to your
favourite Gtk+ suppression list...
Yeti
--
That's enough.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]