Bug 681047

Summary: AttributeError: 'NoneType' object has no attribute 'addChild'
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: medium    
Version: 15CC: anaconda-maint-list, awilliam, bugzilla, jonathan, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: anaconda_trace_hash:c595d9ff49b0ef08a220eacf6b44cc02c6d4dfba4a9de241368bffa6aabcdc84
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-28 23:26:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Attached traceback automatically from anaconda.
none
Attached traceback automatically from anaconda.
none
Attached traceback automatically from anaconda. none

Description Adam Williamson 2011-02-28 22:47:51 UTC
The following was filed automatically by anaconda:
anaconda 15.20.1 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devices.py", line 231, in __init__
    parent.addChild()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devices.py", line 458, in __init__
    Device.__init__(self, name, parents=parents)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devices.py", line 2577, in __init__
    parents=parents, sysfsPath=sysfsPath)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 863, in addUdevDiskDevice
    sysfsPath=sysfs_path, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 977, in addUdevDevice
    device = self.addUdevDiskDevice(info)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1750, in _populate
    self.addUdevDevice(dev)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1708, in populate
    self._populate()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 434, in reset
    self.devicetree.populate()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 103, in storageInitialize
    storage.reset()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/dispatch.py", line 211, in moveStep
    rc = stepFunc(self.anaconda)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/dispatch.py", line 130, in gotoNext
    self.moveStep()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/gui.py", line 1346, in setScreen
    self.anaconda.dispatch.gotoNext()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/gui.py", line 1258, in nextClicked
    self.setScreen ()
AttributeError: 'NoneType' object has no attribute 'addChild'

Comment 1 Adam Williamson 2011-02-28 22:47:55 UTC
Created attachment 481462 [details]
Attached traceback automatically from anaconda.

Comment 2 Adam Williamson 2011-02-28 22:53:23 UTC
Created attachment 481464 [details]
Attached traceback automatically from anaconda.

Comment 3 Adam Williamson 2011-02-28 22:54:28 UTC
This crash happens reliably at 'Examining storage devices' in live install mode on my laptop, a Sony Vaio Z with two SSDs in an Intel BIOS RAID-0 (mdraid-handled) configuration (this is the factory setup). Fedora 14 is installed on the drive.

Comment 4 Adam Williamson 2011-02-28 23:08:20 UTC
If I select 'advanced' instead of 'basic', it becomes clear that anaconda's understanding of the disks/array is badly screwed up.

It shows five disks with no model, vendor, interconnect or serial number, only capacity is listed for each. The capacities are 512 MB, 3072 MB, 553 MB, 0 MB and 0 MB. The number of drives matches the number of 'real' partitions in the array; there are six, but p4 is an extended partition containing p5 and p6, so the 'real' partitions are p1, p2, p3, p5 and p6 - five in total.

If I do 'ls /dev/md*', I see /dev/md126 and /dev/md126p1 through /dev/md126p6 , which looks right. 'fdisk /dev/md126' and then 'p' shows a correct partition table for the array, so it seems like the kernel/mdraid are handling the array correctly, but anaconda isn't. Nautilus also shows the partitions on the array correctly and can mount and access them if I tell it to.

Comment 5 Adam Williamson 2011-02-28 23:10:30 UTC
er, that is, I pick 'specialized storage devices' rather than 'basic storage devices'.

Comment 6 Adam Williamson 2011-02-28 23:14:02 UTC
See also https://bugzilla.redhat.com/show_bug.cgi?id=678877 ; if I leave all the messed up 'drives' de-selected in the 'specialized storage devices' screen, and check off only a USB stick I also have plugged in, anaconda again crashes, but this time the bug is marked as being 678877.

Comment 7 Adam Williamson 2011-02-28 23:26:36 UTC

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

Comment 8 Gerhard 2011-03-13 01:25:03 UTC
Created attachment 483941 [details]
Attached traceback automatically from anaconda.