Description of problem:
grabber.py leaks file objects in function _do_grab()
Version-Release number of selected component (if applicable):
Easily reproducible with livecd-creator from livecd-tools as a mechanism to produce the behavior. 100% reproducible.
Steps to Reproduce:
0. make repo in livecd.ks unreachable or invalid
1. livecd-creator -c livecd.ks
2. Fails with unable to find repository but also faceplants when unmounting
livecd-creator faceplants when trying to cleanup()
in which time it should unmount some filesystems which are bind mounted and
cannot since the process still holds file descriptors open to files which once existed in the directories.
Should unmount cleanly.
Will attach a patch which cleans up this leaked fd.
Created attachment 434129 [details]
Cleans up leaked fds in grabber.py when some bad thing happens and exceptions aren't dealt with in all cases, stale fds are left
patch added and credited - thanks for the fix- it'll go out in the next release