Bug 246332

Summary: yum crashes while trying to update the coreutils package
Product: [Fedora] Fedora Reporter: Need Real Name <dto>
Component: yumAssignee: Jeremy Katz <katzj>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 7CC: james.antill
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-07-06 20:20:29 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:

Description Need Real Name 2007-06-30 14:11:18 UTC
Description of problem: yum crashes while trying to update the coreutils package


Version-Release number of selected component (if applicable):
yum-3.2.1-1.fc7
coreutils - 6.9-2.fc7.i386


How reproducible: run "yum update coreutils"


Steps to Reproduce:
1.run "yum update" if coreutils is part of the updatelist or "yum update 
coreutils"

  
Actual results:

# yum -d10 update coreutils
Loading "installonlyn" plugin
Running "config" handler for "installonlyn" plugin
Yum Version: 3.2.1
COMMAND: yum -d10 update coreutils
Installroot: /
Ext Commands:

   coreutils
Setting up Update Process
Reading Local RPMDB
Building updates object
Setting up Package Sacks
skipping reposetup, pkgsack exists
putting mmv in simple update
putting libdaemon in complex update
putting kernel in complex update
putting kernel-headers in complex update
putting pm-utils in complex update
putting pm-utils in complex update
putting glibc in complex update
putting openssl in complex update
putting pm-utils in complex update
putting pm-utils in complex update
putting telnet-server in simple update
putting shadow-utils in complex update
putting coreutils in complex update
putting kernel in complex update
processing libdaemon
processing kernel.i686
processing kernel-headers
processing pm-utils
processing pm-utils
processing glibc.i386
processing openssl
processing pm-utils
processing pm-utils
processing shadow-utils
processing coreutils
processing kernel.i686
skipping reposetup, pkgsack exists
skipping reposetup, pkgsack exists
skipping reposetup, pkgsack exists
skipping reposetup, pkgsack exists
skipping reposetup, pkgsack exists
skipping reposetup, pkgsack exists
Resolving Dependencies
1183212497.29
--> Running transaction check
---> Package coreutils.i386 0:6.9-3.fc7 set to be updated
Checking deps for coreutils.i386 0-6.9-3.fc7 - u
Checking deps for coreutils.i386 0-6.9-2.fc7 - None
looking to see what requires ('stat', 'EQ', ('0', '6.9', '2.fc7')) of coreutils 
- 6.9-2.fc7.i386
looking to see what requires ('sh-utils', 'EQ', ('0', '6.9', '2.fc7')) of 
coreutils - 6.9-2.fc7.i386
looking at sh-utils as a requirement of ('j2re', 'i586', '0', '1.4.2_04', 'fcs')
looking at sh-utils as a requirement of ('sgml-common', 'noarch', '0', '0.6.3', 
'20.fc7')
looking at sh-utils as a requirement of ('a2ps', 'i386', '0', '4.13b', '65.fc7')
looking at sh-utils as a requirement of ('nfs-utils', 'i386', '1', '1.0.12', 
'4.fc7')
looking at sh-utils as a requirement of ('mysql-server', 'i386', '0', '5.0.37', 
'2.fc7')
looking at sh-utils as a requirement of ('module-init-tools', 'i386', '0', 
'3.3', '0.pre11.1.0.fc7')
looking at sh-utils as a requirement of ('xml-common', 'noarch', '0', '0.6.3', 
'20.fc7')
looking at sh-utils as a requirement of ('krb5-libs', 'i386', '0', '1.6.1', 
'2.1.fc7')
looking at sh-utils as a requirement of ('nscd', 'i386', '0', '2.6', '3')
looking to see what requires ('coreutils', 'EQ', ('0', '6.9', '2.fc7')) of 
coreutils - 6.9-2.fc7.i386
looking at coreutils as a requirement of ('fontconfig', 'i386', '0', '2.4.2', 
'3.fc7')
looking at coreutils as a requirement of ('hal', 'i386', '0', '0.5.9', '8.fc7')
looking at coreutils as a requirement of ('hicolor-icon-theme', 'noarch', '0', 
'0.10', '2')
looking at coreutils as a requirement of ('man', 'i386', '0', '1.6e', '3.fc7')
looking at coreutils as a requirement of ('mkinitrd', 'i386', '0', '6.0.9', 
'7.1')
looking at coreutils as a requirement of ('tcsh', 'i386', '0', '6.14', '15')
looking at coreutils as a requirement of ('policycoreutils', 'i386', '0', 
'2.0.16', '6.fc7')
looking at coreutils as a requirement of ('initscripts', 'i386', '0', '8.54', 
'1')
looking to see what requires ('config(coreutils)', 'EQ', ('0', '6.9', '2.fc7')) 
of coreutils - 6.9-2.fc7.i386
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 135, in main
    (result, resultmsgs) = base.buildTransaction()
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 527, in 
buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 804, in 
resolveDeps
    deps = self._mytsCheck()
  File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 776, in 
_mytsCheck
    thisneeds = self._checkRemove(txmbr)
  File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 1044, in 
_checkRemove
    for pkgtup in self.rpmdb.whatRequires(provname, None, None):
  File "/usr/lib/python2.5/site-packages/yum/rpmsack.py", line 422, in 
whatRequires
    pkgs = self.searchRequires(name)
  File "/usr/lib/python2.5/site-packages/yum/rpmsack.py", line 148, in 
searchRequires
    return self.searchPrco(name, 'requires')
  File "/usr/lib/python2.5/site-packages/yum/rpmsack.py", line 127, in 
searchPrco
    if not result.has_key(po.pkgid):
TypeError: list objects are unhashable

Expected results:
no crash

Comment 1 Need Real Name 2007-06-30 14:18:29 UTC
running "rpm -Uhv http://mirror.atrpms.net/fedora/linux/updates/7/i386/
coreutils-6.9-3.fc7.i386.rpm" manually works fine. after that yum is able to 
proceed as if nothing had happened.

Comment 2 Jeremy Katz 2007-07-06 20:20:29 UTC
You have a (very old) package installed which is tripping things up -- I've got
it fixed in yum CVS and it will go out in the next update