I'm trying to upgrade a machine from a 7.0 custom install (mostly stock RH,
does have more recent openssh, modutils, procmail, and postfix rpms
installed, as well as a 2.4 SMP kernel not from rpm) to qa0322. Using
either NFS install or local CD install, it dies at the "finding packages to
upgrade" step. This occurs whether or not I select the "customize
packages" option. The only error message I get (and it's the same from all
four scenarios) is
python: header.c:511: headerLoad: Assertion `rdlen == dl` failed
Let me know what other information would be useful (list of installed
RPMs?), and if there's any way to get more debugging output than that....
This appears to be due to a subtly corrupted rpm database on the 7.0 box. rpm
--rebuilddb didn't fix the problem, but doing an rpm -Va showed that gcc had
gotten part of the postfix log overwriting its description. Removing and
reinstalling gcc cleared the corruption from the rpm db, and then the upgrade
You can probably go ahead and close this bug. More robust handling of corrupt
rpm dbs and / or a more informative error than "python: header.c:511:
headerLoad: Assertion `rdlen == dl` failed" would be nice, though.
Also, failed upgrades due to corrupt db leave lots of droppings behind. I have
a lot of /var/lib/anaconda-rebuilddb* directories full of rpm db dumps....
Jeff any idea what is going on here, and if its been fixed?
Nope, there's no way to tell how or when the gcc package was installed before
the upgrade was attempted.