Bug 608984 - yum-complete-transaction failure
Summary: yum-complete-transaction failure
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: 14
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 719078
TreeView+ depends on / blocked
 
Reported: 2010-06-29 06:16 UTC by Dave Jones
Modified: 2015-01-04 22:31 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 719078 (view as bug list)
Environment:
Last Closed: 2012-08-16 20:35:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
all (9.41 KB, text/plain)
2010-06-29 18:19 UTC, Dave Jones
no flags Details
done (4.59 KB, text/plain)
2010-06-29 18:20 UTC, Dave Jones
no flags Details
rpm -qa (13.99 KB, text/plain)
2010-06-29 18:20 UTC, Dave Jones
no flags Details
--dupes (6.59 KB, text/plain)
2010-06-29 18:22 UTC, Dave Jones
no flags Details
-d7 info (19.08 KB, text/plain)
2010-06-29 19:43 UTC, Dave Jones
no flags Details

Description Dave Jones 2010-06-29 06:16:37 UTC
I had a machine crash during a yum update (it oom'd during selinux policy upgrade).  When I brought it back up after fscking, yum-complete-transaction doesn't succeed..

I don't know why it thinks the transaction size changed, as the package set to be installed hasn't changed on the local mirror.

# yum-complete-transaction 
There are 1 outstanding transactions to complete. Finishing the most recent one
The remaining transaction had 128 elements left to run
Package selinux-policy-targeted-3.8.5-1.fc14.noarch already installed and latest version
--> Running transaction check
---> Package bash.i686 0:4.1.7-1.fc14 set to be erased
---> Package bind.i686 32:9.7.1-0.1.b1.fc14 set to be erased
---> Package bind-chroot.i686 32:9.7.1-0.1.b1.fc14 set to be erased
---> Package bind-chroot.i686 32:9.7.1-0.2.rc1.fc14 set to be updated
---> Package bind-libs.i686 32:9.7.1-0.1.b1.fc14 set to be erased
---> Package bind-utils.i686 32:9.7.1-0.1.b1.fc14 set to be erased
---> Package binutils.i686 0:2.20.51.0.7-3.fc14 set to be erased
---> Package c-ares.i686 0:1.7.1-1.fc14 set to be erased
---> Package checkpolicy.i686 0:2.0.21-1.fc13 set to be erased
---> Package compat-db47.i686 0:4.7.25-2.fc13 set to be erased
---> Package cryptsetup-luks.i686 0:1.1.2-1.fc14 set to be erased
---> Package cryptsetup-luks-libs.i686 0:1.1.2-1.fc14 set to be erased
---> Package curl.i686 0:7.20.1-6.fc14 set to be erased
---> Package dash.i686 0:0.5.5.1-3.fc12 set to be erased
---> Package dbus.i686 1:1.2.24-1.fc13 set to be erased
---> Package dbus-libs.i686 1:1.2.24-1.fc13 set to be erased
---> Package device-mapper.i686 0:1.02.48-2.fc14 set to be erased
---> Package device-mapper-event.i686 0:1.02.48-2.fc14 set to be erased
---> Package device-mapper-event-libs.i686 0:1.02.48-2.fc14 set to be erased
---> Package device-mapper-libs.i686 0:1.02.48-2.fc14 set to be erased
---> Package diffutils.i686 0:2.8.1-28.fc14 set to be erased
---> Package dracut.noarch 0:005-3.fc13 set to be erased
---> Package fedora-logos.noarch 0:13.0.2-1.fc14 set to be erased
---> Package file.i686 0:5.04-8.fc14 set to be erased
---> Package file-libs.i686 0:5.04-8.fc14 set to be erased
---> Package fontconfig.i686 0:2.8.0-1.fc13 set to be erased
---> Package glib2.i686 0:2.25.7-1.fc14 set to be erased
---> Package glibc.i686 0:2.12.90-2 set to be erased
---> Package glibc-common.i686 0:2.12.90-2 set to be erased
---> Package gnupg2.i686 0:2.0.14-2.fc13 set to be erased
---> Package grep.i686 0:2.6.3-2.fc14 set to be erased
---> Package initscripts.i686 0:9.14-1.fc14 set to be erased
---> Package iproute.i686 0:2.6.33-2.fc14 set to be erased
---> Package js.i686 0:1.70-10.fc13 set to be erased
---> Package kbd.i686 0:1.15-9.fc12 set to be erased
---> Package kernel-PAE.i686 0:2.6.34-20.fc14 set to be erased
---> Package kernel-PAE.i686 0:2.6.35-0.2.rc3.git0.fc14 set to be installed
---> Package krb5-libs.i686 0:1.8.1-6.fc14 set to be erased
---> Package libX11.i686 0:1.3.1-3.fc14 set to be erased
---> Package libX11-common.noarch 0:1.3.1-3.fc14 set to be erased
---> Package libXext.i686 0:1.1-2.fc13 set to be erased
---> Package libXrender.i686 0:0.9.5-1.fc13 set to be erased
---> Package libblkid.i686 0:2.17.2-4.fc13 set to be erased
---> Package libcap-ng.i686 0:0.6.4-2.fc14 set to be erased
---> Package libcurl.i686 0:7.20.1-6.fc14 set to be erased
---> Package libdrm.i686 0:2.4.21-0.1.fc14 set to be erased
---> Package libdrm.i686 0:2.4.21-2.fc14 set to be updated
---> Package libevent.i686 0:1.4.13-2.fc14 set to be erased
---> Package libgcc.i686 0:4.4.4-6.fc14 set to be erased
---> Package libnih.i686 0:1.0.1-6.fc14 set to be erased
---> Package libprelude.i686 1:1.0.0-3.fc14 set to be erased
---> Package libselinux.i686 0:2.0.92-1.fc14 set to be erased
---> Package libselinux-python.i686 0:2.0.92-1.fc14 set to be erased
---> Package libselinux-utils.i686 0:2.0.92-1.fc14 set to be erased
---> Package libsepol.i686 0:2.0.41-3.fc13 set to be erased
---> Package libstdc++.i686 0:4.4.4-6.fc14 set to be erased
---> Package libsysfs.i686 0:2.1.0-7.fc13 set to be erased
---> Package libtool-ltdl.i686 0:2.2.6-20.fc14 set to be erased
---> Package libudev.i686 0:156-2.fc14 set to be erased
---> Package libusb.i686 0:0.1.12-22.fc12 set to be erased
---> Package libuuid.i686 0:2.17.2-4.fc13 set to be erased
---> Package logrotate.i686 0:3.7.8-9.fc14 set to be erased
---> Package lvm2.i686 0:2.02.66-2.fc14 set to be erased
---> Package lvm2-libs.i686 0:2.02.66-2.fc14 set to be erased
---> Package make.i686 1:3.81-18.fc12 set to be erased
---> Package mc.i686 1:4.7.2-1.fc14 set to be erased
---> Package net-snmp.i686 1:5.5-12.fc13 set to be erased
---> Package net-snmp-libs.i686 1:5.5-12.fc13 set to be erased
---> Package net-snmp-utils.i686 1:5.5-12.fc13 set to be erased
---> Package net-tools.i686 0:1.60-102.fc14 set to be erased
---> Package nfs-utils.i686 1:1.2.2-4.fc14 set to be erased
---> Package nmap.i686 2:5.21-2.fc14 set to be erased
---> Package nscd.i686 0:2.12.90-2 set to be erased
---> Package nss.i686 0:3.12.6-5.fc14 set to be erased
---> Package nss-softokn.i686 0:3.12.4-21.fc14 set to be erased
---> Package nss-softokn-freebl.i686 0:3.12.4-21.fc14 set to be erased
---> Package nss-sysinit.i686 0:3.12.6-5.fc14 set to be erased
---> Package nss-tools.i686 0:3.12.6-5.fc14 set to be erased
---> Package openssh.i686 0:5.5p1-12.fc14 set to be erased
---> Package openssh-clients.i686 0:5.5p1-12.fc14 set to be erased
---> Package openssh-server.i686 0:5.5p1-12.fc14 set to be erased
---> Package openssl.i686 0:1.0.0-5.fc14 set to be erased
---> Package perf.noarch 0:2.6.34-20.fc14 set to be erased
---> Package perl.i686 4:5.10.1-118.fc14 set to be erased
---> Package perl-Date-Manip.noarch 0:6.07-1.fc14 set to be erased
---> Package perl-ExtUtils-MakeMaker.noarch 0:6.55-118.fc14 set to be erased
---> Package perl-ExtUtils-ParseXS.noarch 1:2.20-118.fc14 set to be erased
---> Package perl-IO-Socket-INET6.noarch 0:2.57-1.fc13 set to be erased
---> Package perl-IO-Socket-INET6.noarch 0:2.57-2.fc14 set to be updated
---> Package perl-Module-Pluggable.noarch 1:3.90-118.fc14 set to be erased
---> Package perl-Pod-Escapes.noarch 1:1.04-118.fc14 set to be erased
---> Package perl-Pod-Simple.noarch 1:3.07-118.fc14 set to be erased
---> Package perl-SNMP_Session.noarch 0:1.12-4.fc13 set to be erased
---> Package perl-SNMP_Session.noarch 0:1.12-5.fc14 set to be updated
---> Package perl-Socket6.i686 0:0.23-3.fc13 set to be erased
---> Package perl-Test-Harness.noarch 0:3.17-118.fc14 set to be erased
---> Package perl-YAML-Syck.i686 0:1.07-3.fc13 set to be erased
---> Package perl-devel.i686 4:5.10.1-118.fc14 set to be erased
---> Package perl-libs.i686 4:5.10.1-118.fc14 set to be erased
---> Package perl-version.i686 3:0.82-1.fc13 set to be erased
---> Package perl-version.noarch 3:0.82-123.fc14 set to be updated
---> Package policycoreutils.i686 0:2.0.82-26.fc14 set to be erased
---> Package policycoreutils-python.i686 0:2.0.82-26.fc14 set to be erased
---> Package psacct.i686 0:6.5.4-3.fc14 set to be erased
---> Package python.i686 0:2.6.5-12.fc14 set to be erased
---> Package python-iniparse.noarch 0:0.3.1-2.fc13 set to be erased
---> Package python-libs.i686 0:2.6.5-12.fc14 set to be erased
---> Package rpm.i686 0:4.8.0-18.fc14 set to be erased
---> Package rpm-libs.i686 0:4.8.0-18.fc14 set to be erased
---> Package rpm-python.i686 0:4.8.0-18.fc14 set to be erased
---> Package selinux-policy.noarch 0:3.8.1-5.fc14 set to be erased
---> Package selinux-policy-targeted.noarch 0:3.8.1-5.fc14 set to be erased
---> Package sendmail.i686 0:8.14.4-5.fc14 set to be erased
---> Package sendmail-cf.noarch 0:8.14.4-5.fc14 set to be erased
---> Package sendmail-cf.noarch 0:8.14.4-8.fc14 set to be updated
---> Package setup.noarch 0:2.8.20-1.fc14 set to be erased
---> Package shadow-utils.i686 2:4.1.4.2-6.fc14 set to be erased
---> Package tcp_wrappers.i686 0:7.6-58.fc13 set to be erased
---> Package tcp_wrappers-libs.i686 0:7.6-58.fc13 set to be erased
---> Package udev.i686 0:156-2.fc14 set to be erased
---> Package util-linux-ng.i686 0:2.17.2-4.fc13 set to be erased
---> Package vim-common.i686 2:7.2.441-1.fc14 set to be erased
---> Package vim-enhanced.i686 2:7.2.441-1.fc14 set to be erased
---> Package vim-minimal.i686 2:7.2.441-1.fc14 set to be erased
---> Package yum.noarch 0:3.2.27-14.fc14 set to be erased
---> Package yum-utils.noarch 0:1.1.26-7.fc14 set to be erased
---> Package zlib.i686 0:1.2.5-1.fc14 set to be erased
--> Finished Dependency Resolution
--> Running transaction check
---> Package kernel-PAE.i686 0:2.6.33.4-95.fc13 set to be erased
--> Finished Dependency Resolution


Transaction size changed - this means we are not doing the
same transaction as we were before. Aborting and disabling
this transaction.

You could try running: package-cleanup --problems
                       package-cleanup --dupes
                       rpm -Va --nofiles --nodigest

Transaction files renamed to:
  /var/lib/yum/transaction-all.2010-06-29.00:42.32.disabled
  /var/lib/yum/transaction-done.2010-06-29.00:42.32.disabled

# package-cleanup --problems
No Problems Found

Comment 1 seth vidal 2010-06-29 12:22:58 UTC
Dave,
 Can you attach these two files:
  /var/lib/yum/transaction-all.2010-06-29.00:42.32.disabled
  /var/lib/yum/transaction-done.2010-06-29.00:42.32.disabled


and the output of:

rpm -qa
and
package-cleanup --dupes



thanks

Comment 2 Dave Jones 2010-06-29 18:19:36 UTC
Created attachment 427755 [details]
all

Comment 3 Dave Jones 2010-06-29 18:20:15 UTC
Created attachment 427756 [details]
done

Comment 4 Dave Jones 2010-06-29 18:20:56 UTC
Created attachment 427758 [details]
rpm -qa

Comment 5 Dave Jones 2010-06-29 18:22:08 UTC
Created attachment 427759 [details]
--dupes

Comment 6 seth vidal 2010-06-29 18:38:15 UTC
okay - so here's what happened.

selinux-policy-targeted-3.8.5-1.fc14.noarch 

was installed but your system oomed before finishing the install and yum could not count it as installed in the transaction-done.

So when you go to complete the transaction yum tries to install it again, it says 'it is already installed' so the number of items yum thought it had to do doesn't match anymore and it bails out to avoid, obliterating your system.

I'll add some code to yum-complete-transaction to discount the operation by the number of pkgs if some of them report back already installed.

Can you test a patch if I get you one quickly?

Comment 7 seth vidal 2010-06-29 18:53:07 UTC
Correction. - I'm not entirely right on something here.

need some more info.

can you rename the files from .disabled

and run

yum-complete-transaction -d 7

please

I need some more info on whast the depsolve is adding to the transaction.

thanks

Comment 8 seth vidal 2010-06-29 19:01:53 UTC
ah - I might have found it.

Did you remove or install a kernel in between the yum run which oom'd and the y-c-t run?

Comment 9 Dave Jones 2010-06-29 19:38:51 UTC
I don't recall doing so.

(debug info coming soon..)

Comment 10 Dave Jones 2010-06-29 19:43:35 UTC
Created attachment 427772 [details]
-d7 info

Comment 11 seth vidal 2010-06-29 20:11:57 UTC
Talked to dave a bit on irc and figured out what happened.

1. system was running kernel-PAE 0:2.6.33.4-95.fc13 when he did the original update

2. yum would have wanted to remove that kernel b/c of installonly_limit but could not b/c it was the running kernel

3. transaction runs and system ooms then reboots

4. y-c-t runs and when it goes to build the transaction it can now remove that kernel so it adds the kernel as a removal to the transaction.

5. what should have happened from the transaction journal and what was going to happen differed so y-c-t bailed to keep things safer.

6. Dave rebooted back into the 2.6.33 kernel, ran y-c-t and it cleaned up the transaction properly.

So - our options are:
 add code to y-c-t and yum to tell it to 'not' clean up things post-depsolve in buildtransaction - just do what the transaction journal said to do.

or

Not - since this is a kinda hairy edge case.

anyone have any thoughts?

Comment 12 Bug Zapper 2010-07-30 12:17:42 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 14 development cycle.
Changing version to '14'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 13 Fedora End Of Life 2012-08-16 20:35:37 UTC
This message is a notice that Fedora 14 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 14. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained.  At this time, all open bugs with a Fedora 'version'
of '14' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this 
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen 
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we were unable to fix it before Fedora 14 reached end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" (top right of this page) and open it against that 
version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping


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