Bug 222400

Summary: Packages updated but not the rpmdb updated.
Product: [Fedora] Fedora Reporter: Jim Cornette <jim.cornette>
Component: yumAssignee: Jeremy Katz <katzj>
Status: CLOSED INSUFFICIENT_DATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-01-31 23:04:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
yum log showing updating packages twice none

Description Jim Cornette 2007-01-12 02:45:14 UTC
Description of problem:

After running the update for the 20070111 changes, yum did not give any
indication that there was an error. After upgrading, I removed the package cache
and ran yum list updates to see which few packages remained in need of updating.

I was surprised, all of the packages I thought were successfully installed were
not in the rpmdb.
Checking the actual filesystem and older packages revealed that the older
removed packages would show a slew of missing files. I used the older kernel
that was actually removed as a test case so there were not a lot of changed file
times to check.

Version-Release number of selected component (if applicable):
yum-3.0.1-6.fc7

How reproducible:

Run the update listed above and maybe rekindling of the error would result.

Steps to Reproduce:
1. Update system
2. Run yum list updates
3. check rpms for integrity from updated packages
  
Actual results:
rpm -Qv kernel-oldestversion showed missing files for the older removed
physically (or datawise)
Checking /etc/grub.conf showed newest kernel which was not in DB entries. Files
were in place within the /boot directory.

Expected results:
rpmdb to match actual files installed on the computer.

Additional info:

I posted a message to the test list to see if anyone else was having this sort
of error. Running the transaction again added the actual packages installed onto
the system.
However, I now have older entries hanging out in the database as below script
ouput reveals. I can correct the errors below but posting for evidence.

I'll attach the yum.log and other files to show the repeated transaction.

/root/scripts/sg-dupes-mv.sh 
Searching for duplicates
Duplicates were found:
atk-devel-1.13.1-1.fc7
atk-devel-1.12.4-1.fc7
atk-1.13.1-1.fc7
atk-1.12.4-1.fc7
at-spi-1.7.14-1.fc7
at-spi-1.7.15-1.fc7
coreutils-5.97-16.fc7
coreutils-6.7-1.fc7
elfutils-libelf-0.124-1.fc6
elfutils-libelf-0.125-3.fc7
elfutils-libs-0.125-3.fc7
elfutils-libs-0.124-1.fc6
evolution-data-server-1.9.5-3.fc7
evolution-data-server-1.9.5-2.fc7
evolution-2.9.5-1.fc7
evolution-2.9.5-2.fc7
gail-devel-1.10.0-1.fc7
gail-devel-1.9.4-1.fc7
gail-1.10.0-1.fc7
gail-1.9.4-1.fc7
gcalctool-5.9.9-1.fc7
gcalctool-5.9.10-1.fc7
gimp-print-4.2.7-23.fc7
gimp-print-4.2.7-24.fc7
gnome-applets-2.17.1-1.fc7
gnome-applets-2.16.2-5.fc7
gnome-desktop-2.17.5-1.fc7
gnome-desktop-2.17.2-1.fc7
gnome-icon-theme-2.17.4.1-1.fc7
gnome-icon-theme-2.17.5-1.fc7
gnome-keyring-devel-0.7.3-1.fc7
gnome-keyring-devel-0.7.2-1.fc7
gnome-keyring-0.7.2-1.fc7
gnome-keyring-0.7.3-1.fc7
gnome-mag-0.14.0-1.fc7
gnome-mag-0.14.1-1.fc7
gnome-media-2.17.2-1.fc7
gnome-media-2.17.1-1.fc7
gnome-utils-2.17.1-1.fc7
gnome-utils-2.17.0-1.fc7
gtk2-engines-2.9.0-1.fc7
gtk2-engines-2.9.1-1.fc7
gtksourceview-1.8.2-1.fc7
gtksourceview-1.8.3-1.fc7
hpijs-1.6.10-7.fc7
hpijs-1.6.12-1.fc7
iptables-1.3.7-1.1
iptables-1.3.7-1
libbonoboui-devel-2.17.0-1.fc7
libbonoboui-devel-2.16.0-1.fc6
libbonoboui-2.16.0-1.fc6
libbonoboui-2.17.0-1.fc7
libgnome-devel-2.17.3-1.fc7
libgnome-devel-2.17.1-1.fc7
libgnome-2.17.1-1.fc7
libgnome-2.17.3-1.fc7
libgnomeui-devel-2.17.1-1.fc7
libgnomeui-devel-2.17.0-1.fc7
libgnomeui-2.17.0-1.fc7
libgnomeui-2.17.1-1.fc7
libsane-hpaio-1.6.10-7.fc7
libsane-hpaio-1.6.12-1.fc7
nautilus-cd-burner-2.17.5-1.fc7
nautilus-cd-burner-2.17.4-1.fc7
ncurses-5.6-1.20070106.fc7
ncurses-5.5-27.20061209.fc7
postgresql-8.2.0-2.fc7
postgresql-8.2.1-1.fc7
postgresql-libs-8.2.1-1.fc7
postgresql-libs-8.2.0-2.fc7
zenity-2.17.2-1.fc7
zenity-2.17.3-1.fc7

Comment 1 Jim Cornette 2007-01-12 02:45:14 UTC
Created attachment 145423 [details]
yum log showing updating packages twice

Comment 2 Jim Cornette 2007-01-12 03:13:49 UTC
Using the first listed multiversion rpm shows this output. 

rpm -qV atk-devel-1.13.1-1.fc7
[root@cornette-dell-hdb packages]# rpm -qV atk-devel-1.12.4-1.fc7
.......T   /usr/include/atk-1.0/atk/atk-enum-types.h
S.5....T   /usr/include/atk-1.0/atk/atk.h
.......T   /usr/include/atk-1.0/atk/atkaction.h
.......T   /usr/include/atk-1.0/atk/atkcomponent.h
.......T   /usr/include/atk-1.0/atk/atkdocument.h
.......T   /usr/include/atk-1.0/atk/atkeditabletext.h
.......T   /usr/include/atk-1.0/atk/atkgobjectaccessible.h
.......T   /usr/include/atk-1.0/atk/atkhyperlink.h
.......T   /usr/include/atk-1.0/atk/atkhyperlinkimpl.h
.......T   /usr/include/atk-1.0/atk/atkhypertext.h
.......T   /usr/include/atk-1.0/atk/atkimage.h
.......T   /usr/include/atk-1.0/atk/atknoopobject.h
.......T   /usr/include/atk-1.0/atk/atknoopobjectfactory.h
.......T   /usr/include/atk-1.0/atk/atkobject.h
.......T   /usr/include/atk-1.0/atk/atkobjectfactory.h
.......T   /usr/include/atk-1.0/atk/atkregistry.h
.......T   /usr/include/atk-1.0/atk/atkrelation.h
.......T   /usr/include/atk-1.0/atk/atkrelationset.h
.......T   /usr/include/atk-1.0/atk/atkrelationtype.h
.......T   /usr/include/atk-1.0/atk/atkselection.h
.......T   /usr/include/atk-1.0/atk/atkstate.h
.......T   /usr/include/atk-1.0/atk/atkstateset.h
.......T   /usr/include/atk-1.0/atk/atkstreamablecontent.h
.......T   /usr/include/atk-1.0/atk/atktable.h
.......T   /usr/include/atk-1.0/atk/atktext.h
.......T   /usr/include/atk-1.0/atk/atkutil.h
.......T   /usr/include/atk-1.0/atk/atkvalue.h
....L...   /usr/lib/libatk-1.0.so
..5....T   /usr/lib/pkgconfig/atk.pc
S.5....T   /usr/share/gtk-doc/html/atk/AtkAction.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkComponent.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkDocument.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkEditableText.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkGObjectAccessible.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkHyperlink.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkHypertext.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkImage.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkNoOpObject.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkNoOpObjectFactory.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkObject.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkObjectFactory.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkRegistry.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkRelation.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkRelationSet.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkSelection.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkStreamableContent.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkTable.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkText.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkUtil.html
S.5....T   /usr/share/gtk-doc/html/atk/AtkValue.html
S.5....T   /usr/share/gtk-doc/html/atk/atk-AtkHyperlinkImpl.html
S.5....T   /usr/share/gtk-doc/html/atk/atk-AtkState.html
S.5....T   /usr/share/gtk-doc/html/atk/atk-AtkStateSet.html
.......T   /usr/share/gtk-doc/html/atk/atk.devhelp
.......T   /usr/share/gtk-doc/html/atk/atk.devhelp2
.......T   /usr/share/gtk-doc/html/atk/atk.html
.......T   /usr/share/gtk-doc/html/atk/home.png
..5....T   /usr/share/gtk-doc/html/atk/index.html
.......T   /usr/share/gtk-doc/html/atk/index.sgml
..5....T   /usr/share/gtk-doc/html/atk/ix01.html
..5....T   /usr/share/gtk-doc/html/atk/ix02.html
..5....T   /usr/share/gtk-doc/html/atk/ix03.html
..5....T   /usr/share/gtk-doc/html/atk/ix04.html
..5....T   /usr/share/gtk-doc/html/atk/ix05.html
..5....T   /usr/share/gtk-doc/html/atk/ix06.html
..5....T   /usr/share/gtk-doc/html/atk/ix07.html
.......T   /usr/share/gtk-doc/html/atk/left.png
.......T   /usr/share/gtk-doc/html/atk/right.png
.......T   /usr/share/gtk-doc/html/atk/style.css
.......T   /usr/share/gtk-doc/html/atk/up.png


Comment 3 Jim Cornette 2007-01-12 04:01:44 UTC
I had to take the list of removed rpms (the only database entry versions)and
feed them to rpm -e --nodeps in order to correct the rpmdb. I first checked that
the entries were only leftover by verification. Afterwards, no multiversions or
long list of updates showed available.

/root/scripts/sg-dupes-mv.sh 
Searching for duplicates
No duplicates found.
[root@cornette-dell-hdb packages]# yum list updates
Loading "installonlyn" plugin
Setting up repositories
Reading repository metadata in from local files
Updated Packages
gnome-menus.i386                         2.17.5-1.fc7           development 

Comment 4 Michal Jaegermann 2007-01-12 17:30:31 UTC
> I had to take the list of removed rpms (the only database entry
> versions) and feed them to rpm -e --nodeps

If you are doing that with duplicates there is a pretty good chance
that you will remove something which you do not want to remove or
leave something which should be gone.  'rpm -V ...' is in order
for every package you were "fixing".

A safer course of action is to remove _newer_ packages from duplicate
pairs and to rerun an update transaction again.  This should fix
lefover problems.

It would be the best, of course, if such shenanigans would be not
ever required.

Comment 5 Jim Cornette 2007-01-13 20:07:23 UTC
That would put me back to where I started when the rpms installed but the
datyabase entries were never entered into the database. Running it with the
older entries does not seem to remove the packages as they should and replace
only with the newer version entries.

Updating the whole operation did not do me any good. I used the downloaded cache
and ran --replacepkgs and --replacfiles which still left all the older versions
which would come back with missing files for kernel when verified. The older
versions always came back with time and filesize errors. Removing the older
entries with --justdb seemed to get the system back on track.

I'll check if the documentation for the older version is still in place as a
check for the old rpm being removed completely.. I imaging it should be removed
since the phantom kernel came back missing on verify.

Comment 6 Jim Cornette 2007-01-31 23:04:11 UTC
fortunatately this problem only happened once and never before or since. Either
the cause was patched or I had a non-reproducable glitch in the update process.
Closing bug as once bitten.