On 07/23/2013 09:59 AM, John Ferlan wrote: > Update based on recent run/failures seen > --- > tests/.valgrind.supp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 60 insertions(+) > > diff --git a/tests/.valgrind.supp b/tests/.valgrind.supp > index 10cc3c0..f04912d 100644 > --- a/tests/.valgrind.supp > +++ b/tests/.valgrind.supp > @@ -75,3 +75,63 @@ > ... > obj:*/lib*/libc-2.*so* > } > +# > +# commandtest validates the various threaded commands. The > +# virThreadCreate() routine allocates and passes args to the > +# new thread which now owns the 'args' and thus cannot be free'd > +# > +{ > + commandtestLeak1 > + Memcheck:Leak > + fun:calloc > + fun:virAlloc > + fun:virThreadCreate > + fun:mymain > + fun:virtTestMain Can't we call VIR_FREE(args) in the forked process? Or is this one of those inconsequential leaks right before we exec in the child process? > +} > +# > +# The Error code requires static memory that is never free'd > +# for thread local storage to store error message/data > +# > +{ > + commandtestLeak2 > + Memcheck:Leak > + fun:calloc > + fun:virAlloc > + ... > + fun:vir*LastError* > + fun:virEventRunDefaultImpl > + fun:virCommandThreadWorker > + fun:virThreadHelper > + fun:start_thread > + fun:clone I thought we had the ability to wire up destructors for thread local storage, that gets called when the thread completes? At any rate, since all of these suppressions are solely for test files, we aren't masking leaks in libvirtd proper, so if it makes it easier to spot the introduction of new leaks, I'm okay with this patch as-is. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list