Bug 1110147 - IOError: [Errno 9] Bad file descriptor
Summary: IOError: [Errno 9] Bad file descriptor
Keywords:
Status: CLOSED DUPLICATE of bug 1103450
Alias: None
Product: Fedora
Classification: Fedora
Component: python
Version: 20
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Bohuslav "Slavek" Kabrda
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:321bb09025685db23cf26aa5aa9...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-17 06:57 UTC by William Brown
Modified: 2014-10-09 16:00 UTC (History)
12 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-10-09 16:00:46 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: anaconda-tb (223.23 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: anaconda.log (6.88 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: environ (405 bytes, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: ks.cfg (2.23 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: lsblk_output (1.22 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: nmcli_dev_list (4.34 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: os_info (375 bytes, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: program.log (25.09 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: storage.log (69.80 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: syslog (69.38 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: ifcfg.log (3.87 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details
File: packaging.log (1.10 KB, text/plain)
2014-06-17 06:57 UTC, William Brown
no flags Details

Description William Brown 2014-06-17 06:57:01 UTC
Description of problem:
Kick started VM. Issue is likely around partitioning. 

Version-Release number of selected component:
anaconda-20.25.15-1

The following was filed automatically by anaconda:
anaconda 20.25.15-1 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/subprocess.py", line 799, in communicate
    self.stdout.close()
  File "/usr/lib/python2.7/site-packages/blivet/util.py", line 42, in _run_program
    out = proc.communicate()[0]
  File "/usr/lib/python2.7/site-packages/blivet/util.py", line 56, in run_program
    return _run_program(*args, **kwargs)[0]
  File "/usr/lib/python2.7/site-packages/blivet/udev.py", line 86, in udev_settle
    util.run_program(["udevadm", "settle", "--timeout=300"])
  File "/usr/lib/python2.7/site-packages/blivet/udev.py", line 150, in udev_get_block_devices
    udev_settle()
  File "/usr/lib/python2.7/site-packages/blivet/udev.py", line 104, in udev_resolve_devspec
    for dev in udev_get_block_devices():
  File "/usr/lib64/python2.7/site-packages/pyanaconda/kickstart.py", line 315, in execute
    spec = udev.udev_resolve_devspec(self.bootDrive)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/kickstart.py", line 1745, in doKickstartStorage
    ksdata.bootloader.execute(storage, ksdata, instClass)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/storage.py", line 429, in _doExecute
    doKickstartStorage(self.storage, self.data, self.instclass)
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 192, in run
    threading.Thread.run(self, *args, **kwargs)
IOError: [Errno 9] Bad file descriptor

Additional info:
cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   inst.repo=http://mion.ipa.blackhats.net.au/pub/fedora/linux/releases/20/Fedora/x86_64/os/ ks=file:///lorna-ks.cfg 
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         3.11.10-301.fc20.x86_64
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        20

Comment 1 William Brown 2014-06-17 06:57:06 UTC
Created attachment 909412 [details]
File: anaconda-tb

Comment 2 William Brown 2014-06-17 06:57:09 UTC
Created attachment 909413 [details]
File: anaconda.log

Comment 3 William Brown 2014-06-17 06:57:11 UTC
Created attachment 909414 [details]
File: environ

Comment 4 William Brown 2014-06-17 06:57:13 UTC
Created attachment 909415 [details]
File: ks.cfg

Comment 5 William Brown 2014-06-17 06:57:15 UTC
Created attachment 909416 [details]
File: lsblk_output

Comment 6 William Brown 2014-06-17 06:57:17 UTC
Created attachment 909417 [details]
File: nmcli_dev_list

Comment 7 William Brown 2014-06-17 06:57:19 UTC
Created attachment 909418 [details]
File: os_info

Comment 8 William Brown 2014-06-17 06:57:22 UTC
Created attachment 909419 [details]
File: program.log

Comment 9 William Brown 2014-06-17 06:57:24 UTC
Created attachment 909420 [details]
File: storage.log

Comment 10 William Brown 2014-06-17 06:57:27 UTC
Created attachment 909421 [details]
File: syslog

Comment 11 William Brown 2014-06-17 06:57:29 UTC
Created attachment 909422 [details]
File: ifcfg.log

Comment 12 William Brown 2014-06-17 06:57:31 UTC
Created attachment 909423 [details]
File: packaging.log

Comment 13 Brian Lane 2014-06-17 21:24:28 UTC
Somehow the stdout object vanished, possibly a python bug.

Is this reproducible?

Comment 14 William Brown 2014-06-18 03:18:34 UTC
Yes: The kickstart attached will always cause this issue to occur. i have a similar issue in rawhide also.

Comment 15 Bohuslav "Slavek" Kabrda 2014-06-19 09:34:18 UTC
I think this may be caused by bug 1103450 - Python attempts to close subprocess pipes twice when the child process starts failing. I'll try to backport patch for that bug to F20 and we'll see if that solves the issue. Otherwise I'll continue investigating.

Comment 16 William Brown 2014-06-19 22:22:43 UTC
That may fix the bad file descriptor issue (Which is always good to fix more things) but the root of the cause is partitioning. See:

zerombr
clearpart --all --drives=sda
clearpart --initlabel --drives=sda
# Disk partitioning information
part /boot --fstype=xfs --size=1024 --asprimary
part pv.2 --size=16384 --grow --asprimary
# LVM
volgroup vg00 pv.2
logvol /  --fstype=xfs --size=2048 --name=root_lv --vgname=vg00
logvol /usr  --fstype=xfs --size=4096 --name=usr_lv --vgname=vg00
logvol /var  --fstype=xfs --size=4096 --name=var_lv --vgname=vg00
logvol /home  --fstype=xfs --size=2048 --name=home_lv --vgname=vg00
logvol swap  --fstype=swap --size=2048 --name=swap_lv --vgname=vg00

However, looking at the storage log only /boot, home_lv and swap_lv are created. Is there an issue where anaconda can't kickstart with more than 2 lvs defined? IMO this is not an unreasonable partitioning.

Comment 17 David Lehman 2014-10-09 15:52:52 UTC
(In reply to William Brown from comment #16)
> However, looking at the storage log only /boot, home_lv and swap_lv are
> created. Is there an issue where anaconda can't kickstart with more than 2
> lvs defined? IMO this is not an unreasonable partitioning.

There is nothing to suggest that this is related to your relatively simple ks.cfg. It did not get to the point of creating anything. It does find the old/preexisting home_lv and swap_lv and schedules them for removal. The reason you don't see any evidence of us creating your new layout that is because the installation process was interrupted, as reported here.

Comment 18 David Shea 2014-10-09 16:00:46 UTC
Underlying cause is that subprocess.py is closing things it shouldn't be closing.

*** This bug has been marked as a duplicate of bug 1103450 ***


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