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 worked. 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 the upgrade was attempted.