[libvirt] libvirt-client leaks memory, Ubuntu and Debian-specific

Michal Privoznik mprivozn at redhat.com
Mon Feb 18 10:31:45 UTC 2013


On 15.02.2013 19:20, Igor Lukyanov wrote:
> Hello.
> We faced a very strange leak while using libvirt library in long-running server application for cluster orchestration.
> Leak does not directly related to libvirt code and exposed only on specific build options (?) and/or system environment (?).
> 
> Here are the key points:
> 1. Libvirt client leaks memory while making (RPC) calls to a server. I mean that RSS memory usage shown by ps, top, etc. indefinitely grows (plz check an attachment ps.log). Test app attached.
> 
> 2. Leak detected on Debian and Ubuntu and absent on Mac OS and Gentoo, so it's exactly an environment or build problem.
> 
> 3. Valgrind does not see the leak. From valgrind's point of view from start to finish application constantly consumes 110kb of memory (while ps shows multiple megabytes) and does not contain any leaks.
> 
> 4. Logging activity of virMalloc, virRealloc, etc. functions does not show anything: as expected, all allocated memory is correctly freed, so it's definitely not a bug of code (we tested that before recognized that problem is distrib/platform specific).
> 
> Some useful logs and test code attached. I think digging build options and legoing system libraries will help us to beat the problem but it would be nice if someone already had a working solution. Thank you for help.
> 
> 
> 
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
> 

I don't think there's any leak. I mean, not the true one. From your
attached valgrind output, and from my own try, I see the only libvirt
leak is the one by virInitialize() where init of underlying libraries
(like gnutls) takes place. Unfortunately, we cannot de-init them (e.g.
by introducing virDeinit API) since the mgmt application can still want
to use the libraries. For more info see discussion in:

http://www.redhat.com/archives/libvir-list/2011-August/msg01127.html

Michal




More information about the libvir-list mailing list