Use yum to install some thing. #yum install some-package Wait for it to sucsessfully install and do an rpm -qa | some-package to make sure it did install correctly. Look for the history ID of the last transaction #yum history Grab the last transaction number #yum history undo <what ever the last number was> Yum will then pop up and offer to reinstall the application rather than delete it. Version-Release number of selected component (if applicable): rpm -qa |grep yum yum-utils-1.1.27-2.fc14.noarch anaconda-yum-plugins-1.0-5.fc12.noarch yum-presto-0.6.2-1.fc13.noarch yum-3.2.27-15.fc14.noarch yum-metadata-parser-1.1.4-1.fc13.x86_64 How reproducible: All ways Steps to Reproduce: As above Actual results: Continuing with the transaction will perform a reinstall Expected results: The transaction would be wound back and the packages from the transaction removed. Additional info: I will add an attachment showing all of the steps.
Created attachment 424250 [details] Grab all the text from the terminal to show the steps and results
So first: error: rpmdbNextIterator: skipping h# 1640 blob size(35556): BAD, 8 + 16 * il(352519424) + dl(1242096322) ^^^^ that is not good, not good at all. can you make this problem happen w/o the above happening? Can you run rpm --rebuilddb to see if you're rpm db is unwell?
Also on the off chance that this is a yum bug, this is likely where it started going wrong: 196 | <jvillain> | 2010-06-13 22:00 | Reinstall | 4 EE 195 | <jvillain> | 2010-06-12 13:21 | I, O, U | 65 EE So can you run: yum history info 196 ...and do you recall what you actually did at that point (or around that point). However the fact all the history entries are marked with "EE" suggests that the rpmdb errors have been happening for a long time, so I'm very suspicious of that being the problem.
I have had the DB error messages since around FC11. At the time I went in and deleted the RPM DB files and let them rebuild and I still get those messages. I eventually came to the conclusion that they were debugging messages put in by the developers. Guess I was wrong. I have dome many yum history undo transactions since those messages started. Just to check though. # rpm --rebuilddb error: rpmdbNextIterator: skipping h# 1640 blob size(35556): BAD, 8 + 16 * il(352519424) + dl(1242096322) # yum history undo 201 Loaded plugins: local, presto Undoing transaction 201, from Tue Jun 15 10:50:28 2010 Reinstall kdesvn-1.5.3-1.fc14.x86_64 Resolving Dependencies --> Running transaction check ---> Package kdesvn.x86_64 0:1.5.3-1.fc14 set to be reinstalled --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================================================================================= Reinstalling: kdesvn x86_64 1.5.3-1.fc14 rawhide 2.1 M Transaction Summary ============================================================================================================================================================================================================================================= Reinstall 1 Package(s) Total download size: 2.1 M Installed size: 4.4 M Is this ok [y/N]: So no change in behaviour. # yum history info 196 Loaded plugins: local, presto Transaction ID : 196 Begin time : Sun Jun 13 22:00:14 2010 Begin rpmdb : 1656:c4817c4b1ac6f0724654ed1d745b0eb3c50b2c7b End time : 22:01:09 2010 (55 seconds) End rpmdb : 1660:0d408313365bc72d519226794d8c09b79aeaa625 User : <jvillain> Return-Code : Success Command Line : install kdevelop Transaction performed with: Installed rpm-4.8.1-1.fc14.x86_64 Installed yum-3.2.27-15.fc14.noarch Installed yum-presto-0.6.2-1.fc13.noarch Packages Altered: Reinstall kdevelop-9:4.0.0-2.fc14.x86_64 Reinstall kdevelop-libs-9:4.0.0-2.fc14.x86_64 Reinstall kdevplatform-1.0.0-1.fc14.x86_64 Reinstall kdevplatform-libs-1.0.0-1.fc14.x86_64 Scriptlet output: 1 error: rpmdbNextIterator: skipping h# 1640 blob size(35556): BAD, 8 + 16 * il(352519424) + dl(1242096322) 2 error: rpmdb: damaged header #1640 retrieved -- skipping. history info Are you able to recreate this bug on your end?
> I have dome many yum history undo transactions since those messages started. It's not the "undo" operation that's the problem ... it's that yum is recording your "install" transactions as "reinstall" transactions. And I've just checked and this appears to be a bug in the latest HEAD/rawhide ... all installs are being converted to "reinstall".
Here's the fix: commit 10b718b3a09904789de8139dec4f1cd36a43e449 Author: James Antill <james> Date: Tue Jun 15 19:27:00 2010 -0400 Fix history recording installs, from the txmbr cleanup diff --git a/yum/history.py b/yum/history.py index a676773..ca87335 100644 --- a/yum/history.py +++ b/yum/history.py @@ -343,7 +343,7 @@ class YumHistory: def txmbr2state(txmbr): state = None if txmbr.output_state in (TS_INSTALL, TS_TRUEINSTALL): - if hasattr(txmbr, 'reinstall'): + if txmbr.reinstall: state = 'Reinstall' elif txmbr.downgrades: state = 'Downgrade' ...it should apply against rawhide. I'll get another rawhide out tonight. But you should get that rpm warning/problem fixed too.