Bug 520232

Summary: yumBackend.py: get_updates TypeError
Product: [Fedora] Fedora Reporter: Christoph A. <casmls>
Component: PackageKitAssignee: Richard Hughes <richard>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: amylaar, eb30750, ffesti, james.antill, jmccoy1121, jreiser, lorisdianna, maxamillion, mclasen, pmatilai, rdoty, rhughes, richard, smparrish, tla
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-03 03:52:42 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 473303    
Description Flags
fix traceback none

Description Christoph A. 2009-08-29 08:22:22 EDT
Description of problem:
I'm testing the fc12 alpha image. 
A new window poped up:
"An internal system error has occurred"

Version-Release number of selected component (if applicable):
rpm -qa yum*

How reproducible:
first occurance today I will see if it appears again

Steps to Reproduce:
1. wait for the automatic update check (yum) to occur
Actual results:
a new window pops up: "An internal system error has occurred"
containing the traceback of yumBackend.py

Expected results:

Additional info:

Traceback output:
Traceback (most recent call last):
  File "/usr/share/PackageKit/helpers/yum/yumBackend.py", line 2180, in get_updates
    ygl = self.yumbase.doPackageLists(pkgnarrow='updates')
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1714, in doPackageLists
    for (n,a,e,v,r) in self.up.getUpdatesList():
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 715, in <lambda>
    up = property(fget=lambda self: self._getUpdates(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 595, in _getUpdates
    self._up = rpmUtils.updates.Updates(self.rpmdb.simplePkgList(), self.pkgSack.simplePkgList())
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 702, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 538, in _getSacks
  File "/usr/lib/python2.6/site-packages/yum/repos.py", line 277, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 164, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 222, in _check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1220, in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1384, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1376, in _getRepoXML
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1366, in _loadRepoXML
    return self._groupLoadRepoXML(text, ["primary"])
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1349, in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1195, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 976, in _getFileRepoXML
    cache=self.http_caching == 'all')
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 754, in _getFile
    result = self.mediafunc(local = local, checkfunc = checkfunc, relative = relative, text = text, copy_local = copy_local, url = url, mediaid = self.mediaid, name = self.name, discnum = discnum, range = (start, end))
  File "/usr/share/PackageKit/helpers/yum/yumBackend.py", line 2863, in MediaGrabber
    manager = MediaManager()
  File "/usr/share/PackageKit/helpers/yum/yumMediaManager.py", line 101, in __init__
    raise NotImplemented
TypeError: exceptions must be classes or instances, not NotImplementedType
Comment 1 Christoph A. 2009-08-29 08:31:45 EDT
Changed component from "yum" to "PackageKit".

rpm -q -f /usr/share/PackageKit/helpers/yum/yumBackend.py
Comment 2 Christoph A. 2009-08-29 08:39:05 EDT
The error can also be triggered by manually choosing the following menu entry:
System -> Administration -> Software Update

How reproducible:
Comment 3 seth vidal 2009-09-02 13:02:41 EDT
class MediaManager (object):
    """Just iterate over an instance of this class to get MediaDevice objects"""
    def __init__(self):
        raise NotImplemented

    def __iter__(self):
        raise NotImplemented

I think NotImplemented in those methods just needs to change to:
Comment 4 seth vidal 2009-09-02 16:41:34 EDT
*** Bug 520262 has been marked as a duplicate of this bug. ***
Comment 5 Tim Lauridsen 2009-09-03 03:37:44 EDT
Created attachment 359635 [details]
fix traceback

This patch should fix it
Comment 6 Richard Hughes 2009-09-03 03:49:35 EDT
*** Bug 516957 has been marked as a duplicate of this bug. ***
Comment 7 Richard Hughes 2009-09-03 03:52:42 EDT
(In reply to comment #5)
> Created an attachment (id=359635) [details]
> fix traceback
> This patch should fix it  

Applied, thanks.

Comment 8 seth vidal 2009-09-04 10:29:20 EDT
*** Bug 520313 has been marked as a duplicate of this bug. ***
Comment 9 seth vidal 2009-09-04 10:29:38 EDT
*** Bug 521251 has been marked as a duplicate of this bug. ***
Comment 10 seth vidal 2009-09-11 11:19:01 EDT
*** Bug 522674 has been marked as a duplicate of this bug. ***
Comment 11 seth vidal 2009-09-11 23:44:27 EDT
*** Bug 522889 has been marked as a duplicate of this bug. ***