[packagekit] problem with yum2

Robin Norwood rnorwood at redhat.com
Mon Mar 17 09:02:00 PDT 2008


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

-- 
Robin Norwood
Red Hat, Inc.

"The Sage does nothing, yet nothing remains undone."
-Lao Tzu, Te Tao Ching



More information about the PackageKit mailing list