I have a valgrind file here I use for my large gtk2 program:

http://www.vips.ecs.soton.ac.uk/development/nip2a.supp

I get clean runs with this file. Run with something like:

        export G_DEBUG=gc-friendly
        export G_SLICE=always-malloc
        valgrind --suppressions=/home/john/nip2.supp \
          --leak-check=yes \
          nip2 ... > nip2-vg.log 2>&1

I've not used it for a while, it might need a bit of updating.





On 5 November 2013 21:01, David Buchan <pdbuc...@yahoo.com> wrote:
> Aaaah. I see.
>
> Thanks guys.
>
>
>
>
> ________________________________
>  From: Bernhard Schuster <schuster.bernh...@gmail.com>
> To: David Buchan <pdbuc...@yahoo.com>
> Cc: David Nečas <y...@physics.muni.cz>; gtk-app-devel-list list 
> <gtk-app-devel-list@gnome.org>
> Sent: Tuesday, November 5, 2013 3:59 PM
> Subject: Re: Valgrind is grinding my gears
>
>
>
> No, as soon as you use GObject derived types (or call g_types_init/gtk_init) 
> the class structures for all your gobject derived classes will be created 
> _once_. This unevitable, but nothing to worry about (same for GThread and 
> friends), just be aware of their existance (and/or suppress them in the 
> valgrind output).
>
> This has nothing to do with G_SLICE=always-malloc, it actually just reduces 
> the false-positives of valgrind as g_malloc internally allocates big chunks 
> of memory and feeds them as chunks to g_malloc calls, which in turn valgrind 
> sometimes counts as "possibly lost" and clutters the output.
>
> Bernhard
>
>
> On Tue, Nov 5, 2013 at 9:54 PM, David Buchan <pdbuc...@yahoo.com> wrote:
>
> Hi Dave, "GObject type registration machinery is, under normal circumstances, 
> only ever used tocreate structures that will exist during the entire program 
> lifetime." Does that mean that if I just use straight old malloc() instead of 
> g_slice(), most of the errors would go away? I gather that's essentially what 
> using G_SLICE=always-malloc would do. I can't try this out until late 
> tonight, unfortunately. ________________________________ From: David Nečas 
> <y...@physics.muni.cz>
> To: David Buchan <pdbuc...@yahoo.com>
> Cc: gtk-app-devel-list list <gtk-app-devel-list@gnome.org>
> Sent: Tuesday, November 5, 2013 2:51 PM
> Subject: Re: Valgrind is grinding my gears On Tue, Nov 05, 2013 at 09:47:13AM 
> -0800, David Buchan wrote:
>>But when I invoke Valgrind at runtime, I get a lot of errors which I can't 
>>make any sense of. I have grabbed a small sample of them here: 
>>http://pdbuchan.com/valgrind.txt I don't like ignoring errors and warnings, 
>>but I don't know what to do with these. Has anybody else come across these 
>>types of Valgrind notifications?
> Yes, everyone.  You must understand that all the GObject type
> registration machinery is, under normal circumstances, only ever used to
> create structures that will exist during the entire program lifetime.
> So although things such as class reference leaks can exists, eveything
> inside g_type_class_ref() should be ignorable – and you can clearly see
> from the log that these allocations happen once, not a thousand times.
> The same for g_thread_init(), gtk_init(), etc.  Create a suppression
> file or google one... Regards, Yeti
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org 
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to