Bug 432362 - Traceback from isys.py with dmraid
Summary: Traceback from isys.py with dmraid
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda   
(Show other bugs)
Version: rawhide
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Peter Jones
QA Contact: Fedora Extras Quality Assurance
: 437162 439367 (view as bug list)
Depends On:
Blocks: F9Blocker
TreeView+ depends on / blocked
Reported: 2008-02-11 16:02 UTC by Andy Wingo
Modified: 2013-01-10 04:34 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-04-08 17:47:29 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Anaconda crash traceback (17.42 KB, text/plain)
2008-03-26 02:57 UTC, Dawid Zamirski
no flags Details
Traceback in anaconda- (17.44 KB, text/plain)
2008-03-30 05:48 UTC, Dawid Zamirski
no flags Details
Anaconda debug log (309.03 KB, text/plain)
2008-04-02 09:59 UTC, Daniel Rindt
no flags Details

Description Andy Wingo 2008-02-11 16:02:13 UTC
Right after choosing my keyboard (US english), anaconda had a fatal error. PDB
says that isys.py:494 there is an error that RaidSet instances have no __getitem__.

Fatal, can't go on any farther than that :(

Comment 1 Henk Spaan 2008-02-20 15:56:37 UTC
I got the same thing, but I wrote down the stacktrace (as I was not able to
upload it to a remote site).

The problem occurs when a RaidSet is present as can be seen in the stacktrace (I
copied another stacktrace and filled it out).

I got a fakeraid controller, ICH9R, but I guess the bug is not chipset specific.  

The stacktrace:
anaconda exception report
Traceback (most recent call first):
  File "/usr/lib/anaconda/isys.py", line 494, in hardDriveDict
    ret[item] = dict[item]['description']
  File "/usr/lib/anaconda/partedUtils.py", line 841, in driveList
    drives = isys.hardDriveDict().keys()
  File "/usr/lib/anaconda/partedUtils.py", line 615, in startDmRaid
    (self.driveList(), ))

AttributeError: RaidSet instance has no attribute '__getitem__'

Local variables in innermost frame:
item: mapper/isw_cjabddijaa_Spin500Raid1V1
dict: {'mapper/isw_cjabddijaa_Spin500Raid1V1' : <block.device.RaidSet instance
at 0x...., [second raid set ...], [dbus items ...]>

Comment 2 Henk Spaan 2008-02-21 08:02:07 UTC
CC me

Comment 3 Chris Adams 2008-03-22 19:45:15 UTC
*** Bug 437162 has been marked as a duplicate of this bug. ***

Comment 4 Chris Adams 2008-03-24 03:13:54 UTC
Digging around a little (and maybe I'm missing something), but I don't see that
the description set in hardDriveDict is used anywhere.  I changed it like:

-        ret[item] = dict[item]['description']
+       try:
+           ret[item] = dict[item]['description']
+       except:
+           ret[item] = "no description"

and anaconda appeared to find the dmraid drives okay.

The description is copied in partedUtils.py drivesByName, but I don't see that
it is called anywhere.  If the description really isn't used, maybe just drop
trying to copy it?

Comment 5 Dawid Zamirski 2008-03-26 02:57:10 UTC
Created attachment 299091 [details]
Anaconda crash traceback

I've run on the same problem today when trying to install Fedora 9 Beta. I
tried installing from both full install DVD and Live DVD.

Comment 6 Jeremy Katz 2008-03-27 19:59:14 UTC
Fixed in git

Comment 7 Jeremy Katz 2008-03-28 13:57:03 UTC
*** Bug 439367 has been marked as a duplicate of this bug. ***

Comment 8 Dawid Zamirski 2008-03-30 05:48:03 UTC
Created attachment 299612 [details]
Traceback in anaconda-


I'm still getting the traceback (attached). I've tested with the released
rawhide 20080328 snaphot and also reproduced with Fedora 9 Beta Live after
updating anacona via yum to version that's available in rawhide as
of now.

Comment 9 Chris Adams 2008-03-30 18:57:25 UTC
The change in git adds an empty description.  However, the problem isn't a
missing description; it is that a RaidSet object doesn't have __getitem__ but
hardDriveDict() in isys.py tries to access it that way.  Either the RaidSet
object (I believe from python-pyblock) needs to be updated to add __getitem__ or
isys.py needs to be changed to not try to access it.

Comment 10 Jesse Keating 2008-04-01 21:25:54 UTC
Confirmed, this still happens in rawhide 04/01.  Going to get some attention on
it since we have a box in the office that can reproduce.

Comment 11 Daniel Rindt 2008-04-02 09:59:39 UTC
Created attachment 300036 [details]
Anaconda debug log

Comment 12 Jesse Keating 2008-04-02 11:48:25 UTC
Changing the subject to reflect what the bug actually is.  This should be fixed
with the work Peter Jones did last night and was built into anaconda this
morning.  It missed rawhide though, so will try later.

Comment 13 Jesse Keating 2008-04-08 17:47:29 UTC
This is fixed.  dmraid installs now boot.

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