[libvirt-users] python-libvirt for 0.9.3 leaking file descriptors

Matthias Bolte matthias.bolte at googlemail.com
Tue Jul 26 16:29:58 UTC 2011


2011/7/26 Igor Serebryany <igor47 at moomers.org>:
> i've reported this issue before, so i guess this is a regression. looks
> like the python bindings for 0.9.3 are leaking file descriptors:
>
> root at cloud1:~# python
> Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
> [GCC 4.4.5] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import libvirt
>>>> libvirt.getVersion()
> 9003
>>>> def openclose():
> ...     c = libvirt.open('qemu:///system')
> ...     c.close()
> ...
>>>> import os
>>>> os.system('lsof -p %d | wc -l' % os.getpid())
> 37
>>>> openclose()
>>>> os.system('lsof -p %d | wc -l' % os.getpid())
> 40
>>>> openclose()
>>>> os.system('lsof -p %d | wc -l' % os.getpid())
> 43
>
> every time I open and close a connection to libvirt, i loose 3 file
> descriptors. these are a socket and two fifo pipes. i'm using the -3
> build on debian sid.
>
> can someone test this on a fedora machine? curious if this is something
> inside libvirt or a problem with the build...

I can reproduce this with libvirt 0.9.3, but not with current git.
Therefore, this problem seems to be fixed in git. I've you want to
backport the fix to libvirt 0.9.3 you should be able to find it using
git bisect.

That one of the FDs is a socket suggests that this is related to the
remote driver.

-- 
Matthias Bolte
http://photron.blogspot.com




More information about the libvirt-users mailing list