Bug 604253 - Yum history recording install as reinstall
Yum history recording install as reinstall
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: yum (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Seth Vidal
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-15 13:53 EDT by Shawn
Modified: 2014-01-21 18:15 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-06-16 00:55:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Grab all the text from the terminal to show the steps and results (7.76 KB, text/plain)
2010-06-15 13:58 EDT, Shawn
no flags Details

  None (edit)
Description Shawn 2010-06-15 13:53:27 EDT
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.
Comment 1 Shawn 2010-06-15 13:58:59 EDT
Created attachment 424250 [details]
Grab all the text from the terminal to show the steps and results
Comment 2 seth vidal 2010-06-15 14:13:15 EDT
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?
Comment 3 James Antill 2010-06-15 14:23:03 EDT
 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.
Comment 4 Shawn 2010-06-15 14:59:11 EDT
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?
Comment 5 James Antill 2010-06-15 19:25:04 EDT
> 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".
Comment 6 James Antill 2010-06-15 19:27:53 EDT
Here's the fix:


commit 10b718b3a09904789de8139dec4f1cd36a43e449
Author: James Antill <james@and.org>
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.

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