Bug 1020013 - External processes leak file descriptors
External processes leak file descriptors
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: python-blivet (Show other bugs)
All Linux
unspecified Severity medium
: rc
: ---
Assigned To: David Lehman
Release Test Team
: Patch
Depends On: 1016467
  Show dependency treegraph
Reported: 2013-10-16 15:05 EDT by David Lehman
Modified: 2014-06-18 00:44 EDT (History)
7 users (show)

See Also:
Fixed In Version: python-blivet-0.18.7-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1016467
Last Closed: 2014-06-13 05:50:36 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description David Lehman 2013-10-16 15:05:39 EDT
+++ This bug was initially created as a clone of Bug #1016467 +++

Description of problem:
When working with lvm from blivet, I keep seeing messages like this in the log:

  INFO:program: Running... lvm pvs --unit=k --nosuffix --nameprefixes --rows --unquoted --noheadings -opv_uuid,pe_start,vg_name,vg_uuid,vg_size,vg_free,vg_extent_size,vg_extent_count,vg_free_count,pv_count --config global {locking_type=4}  /dev/vda4
  INFO:program: File descriptor 8 (/dev/mapper/control) leaked on lvm invocation. Parent PID 19615: python

Those may not be a problem, but they are a real problem if blivet tries to parse the output of an external program and instead of the real output, it gets something like "File descriptor 8 (/dev/mapper/control) leaked on lvm invocation. Parent PID 19976: python".

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. run blivet so it executes thinlvpoolname() in devicelibs/lvm.py
2. observe the output returned by the function

Actual results:
Output contains "File descriptor 8 (/dev/mapper/control) leaked on lvm invocation..." message and not the real output.

Expected results:
Output contains the name of the thin pool name as expected.

Additional info:

--- Additional comment from Jan Synacek on 2013-10-08 04:43:03 EDT ---

--- Additional comment from Jan Safranek on 2013-10-08 04:49:32 EDT ---

Note that leaked file descriptors produce also several AVCs, like mdadm accessing /dev/mapper/control.
Comment 1 David Lehman 2013-10-16 15:06:56 EDT
I have a patch for this.
Comment 3 Jan Stodola 2014-04-08 07:23:06 EDT
Reproduced with python-blivet-0.18.2-1.el7:

>>> blivet.devicelibs.lvm.thinlvpoolname("vgtest", "thin_pool")
'File descriptor 8 (/dev/mapper/control) leaked on lvm invocation. Parent PID 975: python'

Verified with python-blivet-0.18.34-1.el7:
>>> blivet.devicelibs.lvm.thinlvpoolname("vgtest", "thin_pool")

Moving to VERIFIED.
Comment 4 Ludek Smid 2014-06-13 05:50:36 EDT
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

Note You need to log in before you can comment on or make changes to this bug.