Bug 1016467

Summary: External processes leak file descriptors
Product: [Fedora] Fedora Reporter: Jan Synacek <jsynacek>
Component: python-blivetAssignee: David Lehman <dlehman>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: amulhern, anaconda-maint-list, bcl, dlehman, jsafrane
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1020013 (view as bug list) Environment:
Last Closed: 2013-10-23 19:48:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1020013    
Attachments:
Description Flags
[Patch] upstream fix against the current master (25be7b9) none

Description Jan Synacek 2013-10-08 08:41:11 UTC
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):
python-blivet-0.22-1.fc21.noarch


How reproducible:
Always


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:

Comment 1 Jan Synacek 2013-10-08 08:43:03 UTC
Created attachment 809179 [details]
[Patch] upstream fix against the current master (25be7b9)

Comment 2 Jan Safranek 2013-10-08 08:49:32 UTC
Note that leaked file descriptors produce also several AVCs, like mdadm accessing /dev/mapper/control.

Comment 3 David Lehman 2013-10-23 19:48:19 UTC
Fixed by upstream commit dc64a4d3c74fd90f61 (master) in python-blivet-0.24-1 (f21/rawhide) and python-blivet-0.23.2-1 (f20).