Bug 299331 - repoquery often crashes with --requires --resolve
Summary: repoquery often crashes with --requires --resolve
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: yum-utils
Version: 7
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-20 21:43 UTC by Rasmus Ory Nielsen
Modified: 2007-11-30 22:12 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-09-28 13:10:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Rasmus Ory Nielsen 2007-09-20 21:43:37 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); da-DK; rv:1.8.1.5) Gecko/20070718 Fedora/2.0.0.5-1.fc7 Firefox/2.0.0.5

Description of problem:
When running repoquery --requires --resolve it crashes on some rpms. Without the --resolve I haven't seen it crash.


Version-Release number of selected component (if applicable):
yum-utils-1.1.7-1.fc7

How reproducible:
Always


Steps to Reproduce:
1. repoquery --requires --resolve aspell-en
2.
3.

Actual Results:
Traceback (most recent call last):
  File "/usr/bin/repoquery", line 806, in <module>
    main(sys.argv)
  File "/usr/bin/repoquery", line 803, in main
    repoq.runQuery(regexs)
  File "/usr/bin/repoquery", line 479, in runQuery
    for p in self.doQuery(oper, prco): print p
  File "/usr/bin/repoquery", line 484, in doQuery
    return getattr(self, "fmt_%s" % method)(*args, **kw)
  File "/usr/bin/repoquery", line 541, in fmt_requires
    for res in self.fmt_whatprovides(req):
  File "/usr/bin/repoquery", line 494, in fmt_whatprovides
    return self.returnPackagesByDepStr(name)
  File "/usr/bin/repoquery", line 416, in returnPackagesByDepStr
    matches = yum.YumBase.searchPackageProvides(self, [depstring])
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 1381, in searchPackageProvides
    where = self.returnInstalledPackagesByDep(arg)
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 1718, in returnInstalledPackagesByDep
    pkglist = self.rpmdb.whatProvides(depname, depflags, depver)
  File "/usr/lib/python2.5/site-packages/yum/rpmsack.py", line 419, in whatProvides
    return [po.pkgtup for po in self.getProvides(name, flags, version)]
  File "/usr/lib/python2.5/site-packages/yum/rpmsack.py", line 412, in getProvides
    'provides', (name, flags, (r_e, r_v, r_r)))
UnboundLocalError: local variable 'r_e' referenced before assignment


Expected Results:
A list of deps.

Additional info:
Without the '--resolve' it doesn't crash:
[root@lucy ~]# repoquery --requires aspell-en
aspell >= 12:0.60

Comment 1 Rasmus Ory Nielsen 2007-09-20 21:49:48 UTC
To get a list of the rpms that makes repoquery crash:

for i in $(rpm -qa); do echo ">>> $i"; repoquery --requires --resolve $i; done

Comment 2 Rasmus Ory Nielsen 2007-09-20 22:00:30 UTC
I've tested two older versions of repoquery and found that they do not crash.

yum-utils-1.0.3-1.fc6
yum-utils-1.1.4-1.fc7


Comment 3 Tim Lauridsen 2007-09-28 13:10:04 UTC
Fixed upstream, will be available in yum-utils-1.1.8



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