(Cc'ing autgeas-devel and netcf-devel to see if anyone else has encountered this)

On 03/04/2011 11:06 AM, Neil Wilson wrote:
Do you know if there is a known FD leak in the 0.8.8 netcf subsystem of
libvirt on RHEL6?

I'm not aware of any. Has anyone seen leaks like this with other multi-threaded uses of augeas?

I'm confused a bit by the version numbers here, though.

0.8.8 looks like a libvirt version number, but the official libvirt in RHEL6.0 is 0.8.1-something, and in RHEL6.1 is 0.8.7-something.

netcf is currently at 0.1.7, but your debug info below shows that lokkit.aug and iptables.aug are being accessed, yet that version of netcf no longer does anything with lokkit or iptables. (or at least it shouldn't be anyway; I was pretty sure I removed all of that).

Just so we know exactly what we're working with, can you provide the output of:

    rpm -qa augeas netcf libvirt

I've done a bit of stracing here this afternoon and occasionally two
threads end up trying to open the augeas files at the same time. When
this happens one or more of the FDs doesn't get closed. So you end up
with:

libvirtd 23103 root   22r   REG                8,2     3600
509 /usr/share/augeas/lenses/dist/shellvars.aug
libvirtd 23103 root   23r   REG                8,2     3600
509 /usr/share/augeas/lenses/dist/shellvars.aug
libvirtd 23103 root   24u   REG                8,2     3600
509 /usr/share/augeas/lenses/dist/shellvars.aug
libvirtd 23103 root   25r   REG                8,2      170
607 /usr/share/netcf/lenses/netcf.aug
libvirtd 23103 root   26r   REG                8,2     2202
589 /usr/share/augeas/lenses/dist/util.aug
libvirtd 23103 root   27r   REG                8,2      809
458 /usr/share/augeas/lenses/dist/build.aug
libvirtd 23103 root   28r   REG                8,2     1542
487 /usr/share/augeas/lenses/dist/modprobe.aug
libvirtd 23103 root   29r   REG                8,2     3600
509 /usr/share/augeas/lenses/dist/shellvars.aug
libvirtd 23103 root   30r   REG                8,2     2216
486 /usr/share/augeas/lenses/dist/lokkit.aug
libvirtd 23103 root   31r   REG                8,2     2202
589 /usr/share/augeas/lenses/dist/util.aug
libvirtd 23103 root   33r   REG                8,2     3600
509 /usr/share/augeas/lenses/dist/shellvars.aug
libvirtd 23103 root   34r   REG                8,2     2339
481 /usr/share/augeas/lenses/dist/iptables.aug
libvirtd 23103 root   35r   REG                8,2     3600
509 /usr/share/augeas/lenses/dist/shellvars.aug
libvirtd 23103 root   36r   REG                8,2      170
607 /usr/share/netcf/lenses/netcf.aug

And so on until the process dies through lack of FDs.

I don't see this behaviour on RHEL5 where the program is built without
netcf.

I'm not actually using the interface facilities of libvirt, so I'm not
even sure what is triggering the code. Any pointers as to what to do
with this gratefully received.

Are you running virt-manager? It will query libvirt once a second for a bunch of things, including the interface info. I wouldn't think virt-manager itself would be doing this in multiple threads, though.

_______________________________________________
augeas-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/augeas-devel

Reply via email to