Bug 168712 - yum crashes processing dependency
Summary: yum crashes processing dependency
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeremy Katz
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-09-19 17:38 UTC by Steve Grubb
Modified: 2014-01-21 22:52 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-09-21 17:35:19 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Steve Grubb 2005-09-19 17:38:27 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8b3) Gecko/20050827 Fedora/1.1-0.2.8.deerpark.alpha2 Firefox/1.0+

Description of problem:
Reading repository metadata in from local files
Excluding Packages in global exclude list
Finished
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for libselinux to pack into transaction set.
libselinux-1.26-6.x86_64. 100% |=========================|  21 kB    00:00
---> Package libselinux.x86_64 0:1.26-6 set to be updated
---> Downloading header for libselinux to pack into transaction set.
libselinux-1.26-6.i386.rp 100% |=========================|  22 kB    00:00
---> Package libselinux.i386 0:1.26-6 set to be updated
--> Running transaction check
--> Processing Dependency: libselinux = 1.25.7-1 for package: libselinux-devel
Traceback (most recent call last):
  File "/usr/bin/yum", line 27, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 133, in main
    (result, resultmsgs) = base.buildTransaction()
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 339, in buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 251, in resolveDeps
    (checkdep, missing, conflict, errormsgs) = self._processReq(dep)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 382, in _processReq
    requirementTuple, errormsgs)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 489, in _requiringFromInstalled
    for pkg in pkgs:
TypeError: iteration over non-sequence


Version-Release number of selected component (if applicable):
yum-2.4.0-3

How reproducible:
Always

Steps to Reproduce:
1. yum update libselinux

Additional info:

Comment 1 Jeremy Katz 2005-09-20 17:15:56 UTC
This is being caused by the new kudzu conflicting with kernels < 2.6.13.  If you
remove any old kernels (<= 2.6.12), that should work around for now.

Comment 2 Steve Grubb 2005-09-20 17:25:39 UTC
I don't have any old kernels:

[root@spirit ~]# rpm -q kernel
kernel-2.6.13-1.1526_FC5
kernel-2.6.13-1.1529_FC5
kernel-2.6.13-1.1530_FC5
kernel-2.6.13-1.1549_FC5
kernel-2.6.13-1.1560_FC5
[root@spirit ~]# yum update glibc-headers.x86_64
Setting up Update Process
Setting up repositories
development               100% |=========================| 1.1 kB    00:00
extras-development        100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.1 MB    00:00
developmen: ################################################## 3928/3928
Added 100 new packages, deleted 95 old in 4.02 seconds
primary.xml.gz            100% |=========================| 789 kB    00:00
extras-dev: ################################################## 2219/2219
Added 16 new packages, deleted 0 old in 1.71 seconds
Excluding Packages in global exclude list
Finished
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package glibc-headers.x86_64 0:2.3.90-12 set to be updated
--> Running transaction check
--> Processing Dependency: glibc-headers = 2.3.90-11 for package: glibc-devel
Traceback (most recent call last):
  File "/usr/bin/yum", line 27, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 133, in main
    (result, resultmsgs) = base.buildTransaction()
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 339, in
buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 251, in resolveDeps
    (checkdep, missing, conflict, errormsgs) = self._processReq(dep)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 382, in _processReq
    requirementTuple, errormsgs)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 489, in
_requiringFromInstalled
    for pkg in pkgs:
TypeError: iteration over non-sequence

Comment 3 Jeremy Katz 2005-09-20 21:51:48 UTC
Can you add 
  print pkgs
to line 489 of /usr/lib/python2.4/site-packages/yum/depsolve.py?  



Comment 4 Steve Grubb 2005-09-20 22:18:06 UTC
I added it and did "yum update cyrus-sasl-lib" I got this:

cyrus-sasl-devel - 2.1.21-5.x86_64

Immediately before it said that it was processing the dependency for
cyrus-sasl-lib = 2.1.21-4 for package cyrus-sasl-devel.

Not all packages cause the error. For example, "yum update cyrus-sasl-md5"
worked fine.

Comment 5 Radek Vokál 2005-09-21 07:05:03 UTC
Same here, happens for sendmail

# yum update sendmail
...
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package sendmail.i386 0:8.13.5-1 set to be updated
--> Running transaction check
--> Processing Dependency: sendmail = 8.13.4-2 for package: sendmail-doc

line 489: print pkgs
sendmail-doc - 8.13.5-1.i386

Traceback (most recent call last):
  File "/usr/bin/yum", line 27, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 133, in main
    (result, resultmsgs) = base.buildTransaction()
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 339, in
buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 251, in resolveDeps
    (checkdep, missing, conflict, errormsgs) = self._processReq(dep)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 382, in _processReq
    requirementTuple, errormsgs)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 491, in
_requiringFromInstalled
    for pkg in pkgs:
TypeError: iteration over non-sequence


Comment 6 Panu Matilainen 2005-09-21 11:07:36 UTC
Seems to me this is caused by the yum-2.4-sqlite-by-name.patch patch which in at
least some circumstances doesn't return a list but a single package object.

Comment 7 Jeremy Katz 2005-09-21 13:29:08 UTC
Panu -- yep.  Although it also looks like returnNewestByName* is inconsistent in
what it returns with some skew between the sqlite and non-sqlite versions.  Will
 clean up shortly.

Comment 8 Jeremy Katz 2005-09-21 17:35:19 UTC
Fixed in -4 so that returnNewestByName and returnNewestByNameArch always return
a list


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