Bug 17528 - crash in gpk-update-viewer
Summary: crash in gpk-update-viewer
Status: RESOLVED FIXED
Alias: None
Product: PackageKit
Classification: Unclassified
Component: backend-yum (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Richard Hughes
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-10 19:24 UTC by Peter Jones
Modified: 2008-09-26 08:15 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
what's in git (1.22 KB, patch)
2008-09-12 03:14 UTC, Richard Hughes
Details | Splinter Review
Messages in error window (646 bytes, text/plain)
2008-09-12 08:21 UTC, Peter Jones
Details
Typescript from running the commands suggested (contains display escape codes in up-arrow form) (52.72 KB, application/octet-stream)
2008-09-12 08:34 UTC, Peter Jones
Details
Typescript after applying patch (122.06 KB, text/plain)
2008-09-12 08:44 UTC, Peter Jones
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Jones 2008-09-10 19:24:23 UTC
After prompt for updates, if I select Show and Review, a "Getting Description" message is displayed, and then a crash box appears, containing:

Error Type: <type 'exceptions.AttributeError'>
Error Value: Updates instance has no attribute 'obsoletes'
  File : /usr/share/PackageKit/helpers/yum/get-update-detail.py , line 17, in <module>
    backend.get_update_detail(package)
  File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1490, in get_update_detail
    obsolete = self._get_obsoleted(pkg.name)
  File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1400, in _get_obsoleted
    obsoletes = self.yumbase.up.getObsoletesTuples(newest=1)
  File : /usr/lib/python2.5/site-packages/rpmUtils/updates.py , line 568, in getObsoletesTuples
    obslist = self.obsoletes.keys()

Version is
PackageKit-libs-0.2.5-1.fc9.i386
PackageKit-0.2.5-1.fc9.i386

I was unable to enter these values in the Version field of this form.
Comment 1 Richard Hughes 2008-09-11 10:10:18 UTC
Can you please tell me which repos you have enabled please? Thanks.
Comment 2 Peter Jones 2008-09-11 15:54:10 UTC
Fedora 9 - i386
Fedora 9 - i386 Updates
Fedora 9 - i386 Updates Newkey
Livna for Fedora Core 9 -i386 - Base

Shall I try turning on just one at a time?
Comment 3 Peter Jones 2008-09-11 21:06:34 UTC
Bug occurs with just
Fedora 9 - i386 Updates Newkey
enabled.
Comment 4 Richard Hughes 2008-09-12 03:10:33 UTC
What package are you selecting to make it crash? Could you get me the output of:

killall gpk-update-viewer
gpk-update-viewer -v

and then get it to crash? I just need to see the last 10 or so lines. Thanks.
Comment 5 Richard Hughes 2008-09-12 03:14:09 UTC
Created attachment 18846 [details] [review]
what's in git

You can apply this patch doing:

cd /usr/share/PackageKit/helpers/yum/helpers
patch -p3 < pk-getObsoletesTuples-workaround.patch

This should at least get rid of the backtrace, although I would like to see the real cause.
Comment 6 Peter Jones 2008-09-12 08:21:47 UTC
Created attachment 18848 [details]
Messages in error window
Comment 7 Peter Jones 2008-09-12 08:34:03 UTC
Created attachment 18849 [details]
Typescript from running the commands suggested (contains display escape codes in up-arrow form)

I made a typescript, and am showing what I think are the lines of interest. I have removed the display code representations. I note, in the fourth line
from the top of my excerpt, "client_error_code_cb,708", which did not appear in the error display window:
TI:09:24:54  TH:0x8a1f3f0    FI:gpk-animated-icon.c  FN:gpk_animated_icon_update,127
 - polling check
TI:09:24:54  TH:0x8a1f3f0    FI:pk-client.c  FN:pk_client_error_code_cb,708
 - emit error-code 3, Error Type: <type 'exceptions.AttributeError'>
Error Value: Updates instance has no attribute 'obsoletes'
  File : /usr/share/PackageKit/helpers/yum/get-update-detail.py , line 17, in <module>
    backend.get_update_detail(package)
  File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1490, in get_update_detail
    obsolete = self._get_obsoleted(pkg.name)
  File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1400, in _get_obsoleted
    obsoletes = self.yumbase.up.getObsoletesTuples(newest=1)
  File : /usr/lib/python2.5/site-packages/rpmUtils/updates.py , line 568, in getObsoletesTuples
    obslist = self.obsoletes.keys()

TI:09:24:54  TH:0x8a1f3f0    FI:pk-task-list.c       FN:gpk_task_list_error_code_cb,193
 - emit error-code
TI:09:24:54  TH:0x8a1f3f0    FI:pk-client.c  FN:pk_client_error_code_cb,708
Type: <type 'exceptions.AttributeError'>
Error Value: Updates instance has no attribute 'obsoletes'
  File : /usr/share/PackageKit/helpers/yum/get-update-detail.py , line 17, in <module>
    backend.get_update_detail(package)
  File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1490, in get_update_detail
    obsolete = self._get_obsoleted(pkg.name)
  File : /usr/share/PackageKit/helpers/yum/yumBackend.py , line 1400, in _get_obsoleted
    obsoletes = self.yumbase.up.getObsoletesTuples(newest=1)
  File : /usr/lib/python2.5/site-packages/rpmUtils/updates.py , line 568, in getObsoletesTuples
    obslist = self.obsoletes.keys()

TI:09:24:54  TH:0x8a1f3f0    FI:gpk-animated-icon.c  FN:gpk_animated_icon_update,127
 - polling check
Comment 8 Peter Jones 2008-09-12 08:44:08 UTC
Created attachment 18850 [details]
Typescript after applying patch

Tried the patch. I had to use
 cd /usr/share/PackageKit/helpers/yum in order to apply it.

I have included the resulting typescript, in case it is useful.
Comment 9 Richard Hughes 2008-09-26 08:15:25 UTC
Cool, thanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.