Bug 625757

Summary: software update GUI error
Product: [Fedora] Fedora Reporter: Marco Ceresoli <marco_ceresoli>
Component: PackageKitAssignee: Richard Hughes <rhughes>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: chunnayya, cmiramon, dcantrell, gbanchelli, henrique, jlarrew, jonathan, keith, luiggi_ff, p.kis, rhughes, seroyer, smparrish, tvolin
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-18 08:36:31 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:
Attachments:
Description Flags
gpk-update-viewer-debug.log
none
Python error to add/remove packages Fedora 12
none
strace output for gpk-application --verbose none

Description Marco Ceresoli 2010-08-20 11:25:31 UTC
Description of problem:
Traceback (most recent call last):
  File "/usr/share/PackageKit/helpers/yum/yumBackend.py", line 3270, in __init__
    self.repos.confirm_func = self._repo_gpg_confirm
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 823, in <lambda>
    repos = property(fget=lambda self: self._getRepos(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 551, in _getRepos
    prerepoconf = self.prerepoconf
AttributeError: 'PackageKitYumBase' object has no attribute 'prerepoconf'

Comment 1 Cesar Miramontes 2010-08-21 19:56:50 UTC
I'm having this same error in Fedora 12 x86_64 after an update was installed yesterday. Right after the install of the update finished I saw that error, closed it but after a few minutes it always comes back.

What Marco included is the contents of the "More details" section. The pop up that suddenly appears says:

"An internal system error has occurred
A problem that we were not expecting has occurred. Please report this bug in your distribution bugtracker with the error description."

In Fedora 12 the Traceback is the same, with the only difference that the reported line on yumBackend.py is 3078 instead of 3270.

Comment 2 Marco Hartgring 2010-08-23 05:02:03 UTC
Created attachment 440288 [details]
gpk-update-viewer-debug.log

I would say this bug is urgent as it makes updating using PackageKit impossible.

Comment 3 Henrique Doiche 2010-08-23 21:52:41 UTC
Yep, i have the same error since 21-08-2010, Fedora 12.


Traceback (most recent call last):
  File "/usr/share/PackageKit/helpers/yum/yumBackend.py", line 3078, in __init__
    self.repos.confirm_func = self._repo_gpg_confirm
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 823, in <lambda>
    repos = property(fget=lambda self: self._getRepos(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 551, in _getRepos
    prerepoconf = self.prerepoconf
AttributeError: 'PackageKitYumBase' object has no attribute 'prerepoconf'





So, I already tried clean my rpm DB:

rm -f /var/lib/rpm/__db*

rpm -vv --rebuilddb

yum clean all


But this python error still here.


[root@T400 rpm]# rpm -qa | grep python*
libproxy-python-0.2.3-12.fc12.i686
python-simplejson-2.0.9-3.fc12.i686
python-oauth-1.0.1-1.fc12.noarch
gnome-python2-gnomevfs-2.28.0-1.fc12.i686
python-inotify-0.9.0-1.fc12.noarch
python-httplib2-0.4.0-4.fc12.noarch
libselinux-python-2.0.90-5.fc12.i686
gnome-python2-gnome-2.28.0-1.fc12.i686
python-alsaaudio-0.6-1.fc12.i686
python-sqlite2-2.3.5-2.fc12.i686
rpm-python-4.7.2-2.fc12.i686
python-devel-2.6.2-8.fc12.i686
python-slip-gtk-0.2.11-1.fc12.noarch
python-slip-0.2.11-1.fc12.noarch
python-sexy-0.1.9-9.fc12.i686
gstreamer-python-0.10.16-1.fc12.i686
python-alsa-1.0.22-1.fc12.i686
python-2.6.2-8.fc12.i686
gnome-python2-extras-2.25.3-19.fc12.i686
python-beaker-1.5.3-1.fc12.noarch
python-deltarpm-3.5-0.4.20090913git.fc12.i686
python-mako-0.3.4-1.fc12.noarch
python-crypto-2.0.1-19.i686
python-decorator-3.0.1-3.fc12.noarch
gnome-python2-gconf-2.28.0-1.fc12.i686
python-imaging-1.1.6-17.fc12.i686
python-imgcreate-031-1.fc12.1.i686
python-markupsafe-0.9.2-3.fc12.i686
python-libs-2.6.2-8.fc12.i686
python-gdata-2.0.11-1.fc12.noarch
abrt-addon-python-1.1.1-2.fc12.i686
gnome-python2-libwnck-2.28.0-2.fc12.i686
compizconfig-python-0.8.4-1.fc12.i686
python-BeautifulSoup-3.0.8.1-1.fc12.noarch
cracklib-python-2.8.13-6.i686
python-iwlib-0.1-1.fc12.i686
python-iniparse-0.4-1.fc12.noarch
python-numeric-24.2-14.fc12.i686
python-feedparser-4.1-10.fc12.noarch
gnome-python2-gtkmozembed-2.25.3-19.fc12.i686
newt-python-0.52.11-1.fc12.i686
gnome-python2-gnomekeyring-2.28.0-2.fc12.i686
gnome-python2-applet-2.28.0-2.fc12.i686
python-pycurl-7.19.0-4.fc12.i686
python-dns-1.7.1-2.fc12.noarch
python-ldap-2.3.10-1.fc12.i686
gnome-python2-2.28.0-1.fc12.i686
gnome-python2-canvas-2.28.0-1.fc12.i686
python-paramiko-1.7.6-1.fc12.noarch
python-urlgrabber-3.9.1-4.2.fc12.noarch
notify-python-0.1.1-8.fc12.i686
python-meh-0.7-1.fc12.noarch
libuser-python-0.56.13-1.fc12.i686
gnome-python2-gnomedesktop-2.28.0-2.fc12.i686
gnome-python2-desktop-2.28.0-2.fc12.i686
gnome-python2-bonobo-2.28.0-1.fc12.i686
gnome-python2-rsvg-2.28.0-2.fc12.i686
python-desktop-agnostic-0.3.90-7.fc12.i686
libxml2-python-2.7.6-2.fc12.i686
python-distutils-extra-2.19-1.fc12.noarch
libxslt-python-1.1.26-1.fc12.i686
python-xklavier-0.2-2.fc12.i686
at-spi-python-1.28.1-1.fc12.i686
python-slip-dbus-0.2.11-1.fc12.noarch
gnome-python2-evolution-2.28.0-2.fc12.i686
python-dateutil-1.4.1-4.fc12.noarch
gamin-python-0.1.10-5.fc12.i686
python-vobject-0.8.1c-2.fc12.noarch
python-ethtool-0.3-5.fc12.i686
dbus-python-0.83.0-6.fc12.i686
python-bugzilla-0.5.1-3.fc12.noarch
gnome-python2-libegg-2.25.3-19.fc12.i686



[root@T400 rpm]# uname -a
Linux T400.ibm.com 2.6.32.16-150.fc12.i686.PAE #1 SMP Sat Jul 24 05:25:42 UTC 2010 i686 i686 i386 GNU/Linux


Please let me know if I can help with more informations.


Regards

Comment 4 Henrique Doiche 2010-08-23 22:00:41 UTC
Created attachment 440510 [details]
Python error to add/remove packages Fedora 12

Since 21-08-2010
Fedora 12

Comment 5 Gaia Banchelli 2010-08-24 07:11:27 UTC
I'm also seeing this error on FC12 since applying updates yesterday - yum-3.2.28-3 among them. 
Packagekit has not been updated in two months (2.28.3-1.fc12.i686), which seems to suggest some other package may have introduced the error.
This is the verbose output from a gpk-application run:

TI:08:59:09	FI:egg-debug.c	FN:egg_debug_init,311
 - Verbose debugging 1 (on console 1)GPK_VERBOSE
TI:08:59:10	FI:gpk-common.c	FN:gpk_window_set_size_request,248
 - using native mode: 600x300
TI:08:59:10	FI:gpk-application.c	FN:gpk_application_perform_search,1790
 - doing nothing
TI:08:59:10	FI:gpk-application.c	FN:gpk_application_perform_search,1790
 - doing nothing
TI:08:59:10	FI:gpk-application.c	FN:gpk_application_perform_search,1790
 - doing nothing
TI:08:59:10	FI:gpk-application.c	FN:gpk_application_perform_search,1790
 - doing nothing
TI:08:59:10	FI:gpk-common.c	FN:gpk_window_set_size_request,248
 - using native mode: 1000x500
TI:08:59:11	FI:gpk-application.c	FN:gpk_application_connection_changed_cb,2306
 - connected=1
TI:08:59:11	FI:gpk-animated-icon.c	FN:gpk_animated_icon_enable_animation,229
 - ignoring stop on stopped icon
TI:08:59:16	FI:gpk-animated-icon.c	FN:gpk_animated_icon_enable_animation,229
 - ignoring stop on stopped icon
TI:08:59:16	FI:gpk-application.c	FN:gpk_application_finished_cb,1455
 - role: get-categories, exit: failed
TI:08:59:16	FI:gpk-application.c	FN:gpk_application_categories_finished,3513
 - no results from GetCategories
TI:08:59:16	FI:gpk-application.c	FN:gpk_application_create_group_list_categories,3582
 - failed to get categories: failed: failed
TI:08:59:16	FI:gpk-application.c	FN:gpk_application_menu_search_by_description,2410
 - set search type=1
TI:08:59:16	FI:gpk-animated-icon.c	FN:gpk_animated_icon_enable_animation,229
 - ignoring stop on stopped icon
TI:08:59:20	FI:gpk-animated-icon.c	FN:gpk_animated_icon_enable_animation,229
 - ignoring stop on stopped icon
TI:08:59:20	FI:gpk-application.c	FN:gpk_application_finished_cb,1455
 - role: get-repo-list, exit: failed
TI:08:59:24	FI:gpk-application.c	FN:gpk_application_quit,1860
 - emitting action-close
TI:08:59:24	FI:gpk-animated-icon.c	FN:gpk_animated_icon_free_pixbufs,50
 - nothing to free
TI:08:59:24	FI:gpk-animated-icon.c	FN:gpk_animated_icon_free_pixbufs,50
 - nothing to free
[gaia@mordac ~]$

Comment 6 Gaia Banchelli 2010-08-24 07:19:01 UTC
Created attachment 440574 [details]
strace output for gpk-application --verbose

Comment 7 Graham White 2010-08-24 09:12:20 UTC
Just a "me too" comment on Fedora 12 32-bit.  I'm seeing this error since the latest yum update (did mine yesterday).

Comment 8 Jesse Larrew 2010-08-24 23:16:28 UTC
On line 545 of /usr/lib/python2.6/site-packages/yum/__init__.py we see this code block:

if hasattr(self, 'prerepoconf'):
            self.conf # touch the config class first

            self.getReposFromConfig()

            # Recursion
--------->  prerepoconf = self.prerepoconf
            del self.prerepoconf

            self.repos.setProgressBar(prerepoconf.progressbar)
            self.repos.callback = prerepoconf.callback
            self.repos.setFailureCallback(prerepoconf.failure_callback)
            self.repos.setInterruptCallback(prerepoconf.interrupt_callback)
            self.repos.confirm_func = prerepoconf.confirm_func
            self.repos.gpg_import_func = prerepoconf.gpg_import_func
            if prerepoconf.cachedir is not None:
                self.repos.setCacheDir(prerepoconf.cachedir)
            if prerepoconf.cache is not None:
                self.repos.setCache(prerepoconf.cache)

It first checks for the 'prerepoconf' attribute, and if it is found, it does some additional setup. It then dies on the indicated line, and the error message tells us that it actually doesn't have the 'prerepoconf' attribute. I don't know enough about python to determine why it passes the first 'prerepoconf' check but fails when trying to access it. However, I can guess that since we actually don't have that attribute, then this code block shouldn't be executing at all.

We can work around the problem by making the following changes to line 545:

- if hasattr(self, 'prerepoconf'):
+ if False: #hasattr(self, 'prerepoconf'):

This will stop those error messages whenever PackageKit checks for updates. I haven't seen any new updates since I made this change however, so I can't say for sure that things are back to normal. YMMV. ;-) As a bonus, whenever yum is updated next (hopefully with a fix for this), this file should be overwritten, so we won't have to remember to undo this edit later. :P

I hope this helps!

Comment 9 Chunnayya Munnayya 2010-08-28 11:54:05 UTC
I tried the above change - while it did prevent the error messages, it also (as noted) prevents any updates at all - not just when PackageKit checks, but also, when manually doing a "yum update"; I've subsequently reverted to the original __init__.py (I'll deal with the error messages, but I would prefer to keep the capability of updating my system).

Comment 10 Keith Matthews 2010-08-31 06:06:57 UTC
I have 3 Fedora Core 13 systems that have had this bug for about 3-4 weeks,since an update.

yum update works fine from the command line.

rpm db seems in good shape.


But both the Supftware Update and Add/Remove Software GUI tools result in the following

Traceback (most recent call last):
  File "/usr/share/PackageKit/helpers/yum/yumBackend.py", line 3270, in __init__
    self.repos.confirm_func = self._repo_gpg_confirm
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 823, in <lambda>
    repos = property(fget=lambda self: self._getRepos(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 551, in _getRepos
    prerepoconf = self.prerepoconf
AttributeError: 'PackageKitYumBase' object has no attribute 'prerepoconf'

Comment 11 Troy Volin 2010-10-12 16:41:14 UTC
I think it's worth noting that everybody reporting this (speak up if I'm incorrect) is using the IBM-internal openclient repository.
I include myself in that category.

I just checked the openclient tracker, and found this ticket:

[#129404] yum update breaks PackageKit on OpenClient
http://w3.opensource.ibm.com/tracker/?func=detail&aid=129404
(That URL is IBM-internal)

RedHat, you have my vote to close this defect.

Comment 12 groug 2010-10-13 08:36:15 UTC
(In reply to comment #11)
> I think it's worth noting that everybody reporting this (speak up if I'm
> incorrect) is using the IBM-internal openclient repository.
> I include myself in that category.
> 
> I just checked the openclient tracker, and found this ticket:
> 
> [#129404] yum update breaks PackageKit on OpenClient
> http://w3.opensource.ibm.com/tracker/?func=detail&aid=129404
> (That URL is IBM-internal)
> 
> RedHat, you have my vote to close this defect.

+1

Comment 13 Richard Hughes 2010-10-18 08:36:31 UTC
Okay, thanks.