Bug 558005 - AssertionError: should not get here
Summary: AssertionError: should not get here
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: dmraid
Version: 12
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Heinz Mauelshagen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: anaconda_trace_hash:848c3f72705ceedcc...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-23 03:56 UTC by Locque
Modified: 2010-12-03 23:57 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-03 23:57:08 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Attached traceback automatically from anaconda. (86.13 KB, text/plain)
2010-01-23 03:56 UTC, Locque
no flags Details
Output from requested dmraid command (5.13 KB, text/plain)
2010-01-26 04:36 UTC, Locque
no flags Details
dmraid -rD Output (920 bytes, application/x-gzip)
2010-04-22 02:17 UTC, Locque
no flags Details

Description Locque 2010-01-23 03:56:09 UTC
The following was filed automatically by anaconda:
anaconda 12.46 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.6/site-packages/block/device.py", line 652, in get_members
    for c in self.rs.children:
  File "/usr/lib64/python2.6/site-packages/block/device.py", line 749, in get_valid
    for x in self.members:
  File "/usr/lib64/python2.6/site-packages/block/__init__.py", line 201, in getRaidSets
    if set.valid:
  File "/usr/lib64/python2.6/site-packages/block/__init__.py", line 376, in getRaidSetFromRelatedMem
    for rs in getRaidSets():
  File "/usr/lib/anaconda/storage/devicetree.py", line 1606, in handleUdevDMRaidMemberFormat
    major=major, minor=minor)
  File "/usr/lib/anaconda/storage/devicetree.py", line 1738, in handleUdevDeviceFormat
    self.handleUdevDMRaidMemberFormat(info, device)
  File "/usr/lib/anaconda/storage/devicetree.py", line 1282, in addUdevDevice
    self.handleUdevDeviceFormat(info, device)
  File "/usr/lib/anaconda/storage/devicetree.py", line 1974, in populate
    self.addUdevDevice(dev)
  File "/usr/lib/anaconda/storage/__init__.py", line 339, in reset
    self.devicetree.populate()
  File "/usr/lib/anaconda/storage/__init__.py", line 81, in storageInitialize
    storage.reset()
  File "/usr/lib/anaconda/dispatch.py", line 200, in moveStep
    rc = stepFunc(self.anaconda)
  File "/usr/lib/anaconda/dispatch.py", line 123, in gotoNext
    self.moveStep()
  File "/usr/lib/anaconda/text.py", line 503, in run
    anaconda.dispatch.gotoNext()
  File "/usr/sbin/anaconda", line 968, in <module>
    anaconda.intf.run(anaconda)
AssertionError: should not get here

Comment 1 Locque 2010-01-23 03:56:12 UTC
Created attachment 386277 [details]
Attached traceback automatically from anaconda.

Comment 2 Hans de Goede 2010-01-23 14:20:29 UTC
Hmm, weird can you please start the installer again and when at the
welcome screen switch to tty2 (ctrl + alt + F2) and then run:
dmraid -vvv -ay -t &> log

And then atatch the resulting log file here ? (you can use scp, or
cp it to a usbstick to get it out of the installer environment).

Comment 3 Locque 2010-01-26 04:35:59 UTC
I've attached the requested log file... 

A little more background. I had UBUNTU installed on these drives. I have 5 drives (4 active + 1 spare):

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xff381ade

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          14      112423+  fd  Linux raid autodetect
/dev/sda2              15       60801   488271577+  fd  Linux raid autodetect

The small raid partition was a raid 1 used for boot (created with mdadm).

The larger one was the raid10 used as an LVM2 PV...

I am not sure but could the superblocks from the mdadm partitions be causing this error?

Comment 4 Locque 2010-01-26 04:36:46 UTC
Created attachment 386759 [details]
Output from requested dmraid command

Comment 5 Hans de Goede 2010-01-26 10:42:36 UTC
Hi,

Thanks for the new log file.

So there definitely is something funky going on here inside libdmraid, so I'm going to change the component to dmraid.

To save us all some time (as I already know Heinz the dmraid maintainer is going to ask this), can you please start the installer again and from tty2 run:
dmraid -rD

This should create a dmraid.pdc directory, tar gz this up and attach it here.

Thanks,

Hans


Heinz,

The problem pyblock is hitting here is that it does the following to discover
sets:

count_devices(ctx->lc, RAID)
group_set(ctx->lc, argv)
n = count_devices(ctx->lc, SETS)

And n here is not 0, iow a set is found. Then some point further it looks
for children in the set, but both:
list_empty(&rs->sets) and
list_empty(&rs->devs)

are true, iow there are no devices in the set, which triggers a should not get here assert in pyblock.

It might well be that under certain circumstances this can happen, and we should
not assert here, but instead treat the set as not valid. Still dmraid should probably do something different on the system in question (dmraid -ay does not work either).

Regards,

Hans

Comment 6 Heinz Mauelshagen 2010-01-26 11:30:27 UTC
Will look at the dump once we get it and see if the issue is repoducible. If so a fix should be simple.

Comment 7 Locque 2010-04-22 02:17:46 UTC
Created attachment 408215 [details]
dmraid -rD Output

Sorry it took me so long to get this to you guys... Here is the dmraid output you requested...

Comment 8 Bug Zapper 2010-11-04 00:10:16 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 9 Bug Zapper 2010-12-03 23:57:08 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


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