[packagekit] problem with yum2

Tim Lauridsen tim.lauridsen at googlemail.com
Mon Mar 17 12:17:05 PDT 2008


Robin Norwood wrote:
> On Mon, 17 Mar 2008 11:41:56 +0000
> Richard Hughes <hughsient at gmail.com> wrote:
> 
>> $ pkcon --verbose get updatedetail "boost;1.34.1-7.fc8;i386;updates"
>>
>> [hughsie at hughsie-laptop helpers]$ sudo ./yumDBUSBackend.py 
>> __init__
>> INFO:Init()
>> Now in doInit()
>> new yumbase object
>> yum set up
>> INFO:GetUpdateDetail()
>> INFO:AllowCancel (1)
>> __init__ done
>> DEBUG:PercentageChanged (101)
>> INFO:StatusChanged (info)
>> INFO:UpdateDetail (boost;1.34.1-7.fc8;i386;updates,
>> boost;1.34.1-5.fc8;i386;installed, , ,
>> https://bugzilla.redhat.com/show_bug.cgi?id=428975;CVE-2008-0171
>> CVE-2008-0172 Multiple boost vulnerabilities [Fedora 8]
>> https://bugzilla.redhat.com/show_bug.cgi?id=428316;CVE-2008-0171
>> boost regular expression memory corruption flaws
>> https://bugzilla.redhat.com/show_bug.cgi?id=428320;CVE-2008-0172
>> boost regular expression NULL dereference flaw, , none, None)
>> Exception in thread Thread-1: Traceback (most recent call last): File
>> "/usr/lib/python2.5/threading.py", line 460, in __bootstrap
>> self.run() File "/usr/lib/python2.5/threading.py", line 440, in run
>> self.__target(*self.__args, **self.__kwargs) File
>> "./yumDBUSBackend.py", line 1094, in doGetUpdateDetail
>> self.UpdateDetail(package,update,obsolete,vendor_url,bz_url,cve_url,reboot,desc)
>> File
>> "/home/hughsie/Code/PackageKit/backends/yum2/helpers/packagekit/daemonBackend.py",
>> line 111, in wrapper return func(*args,**kwargs) File
>> "/usr/lib/python2.5/site-packages/dbus/decorators.py", line 289, in
>> emit_signal message.append(signature=signature, *args) TypeError:
>> Expected a string or unicode object
>>
>> Two problems:
>> * the traceback error
>> * the traceback wasn't propagated to the daemon as an ErrorCode() and
>> hence the daemon hung.
>>
> 
> Well, I was able to reproduce this...once.  After that it magically
> started working again, no matter what I tried.  We weren't filtering
> the update detail string through the utf8 filter, so I did that.
> 
> Since this traceback is because of our code, not a yum error or
> anything, do we really want to wrap it?  I guess we could wrap all of
> our actions in a 'try' block and spooge up any exceptions, but that
> seems unwise to me.
> 
> -RN
> 

We can install an generic exception handler like i did in backend.py 
(check the end of the file), but the threading can give us some troubles.

Tim



More information about the PackageKit mailing list