Bug 480188

Summary: kpackagekit crashes with dbus error
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: PackageKitAssignee: Richard Hughes <richard>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: lmacken, rhughes, richard, robin.norwood, tuxbrewr
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: 2009-01-16 16:24:50 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:

Description Orion Poplawski 2009-01-15 16:42:18 UTC
Description of problem:

With PackageKit-0.3.13-1.fc10.i386, I'm starting to see:

$ kpackagekit
SHOW UI!
GO UI!
enumFromString ( Action ) : converted "" to "Action" , enum value -1
enumFromString ( Group ) : converted "" to "" , enum value -1
enumFromString ( Filter ) : converted "" to "Filter" , enum value -1
enumFromString ( Action ) : converted "" to "Action" , enum value -1
Error, cannot create transaction proxy
New transaction with tid ""
process 6819: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file dbus-message.c line 1070.
This is normally a bug in some application using the D-Bus library.
  D-Bus not built with -rdynamic so unable to print a backtrace
<unknown program name>(6813)/: Communication problem with  "KPackageKit" , it probably crashed.
Error message was:  "org.freedesktop.DBus.Error.NoReply" : " "Message did not receive a reply (timeout by message bus)" "

every time I run kpackagekit.

Comment 1 Orion Poplawski 2009-01-15 16:44:41 UTC
#8  0x07137e28 in abort () from /lib/libc.so.6
#9  0x06cf3a05 in _dbus_abort () at dbus-sysdeps.c:86
#10 0x06cef419 in _dbus_warn_check_failed (
    format=0x6cfc820 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at dbus-internals.c:283
#11 0x06ce2f6e in dbus_message_new_method_call (destination=0x8868e90 "org.freedesktop.PackageKit", path=0x0, interface=0x8868ac8 "org.freedesktop.PackageKit.Transaction", 
    method=0x8867b80 "GetUpdates") at dbus-message.c:1071
#12 0x0835b874 in ?? () from /usr/lib/libQtDBus.so.4
#13 0x083576fb in ?? () from /usr/lib/libQtDBus.so.4
#14 0x08343751 in QDBusConnection::call () from /usr/lib/libQtDBus.so.4
#15 0x083606eb in QDBusAbstractInterface::callWithArgumentList () from /usr/lib/libQtDBus.so.4
#16 0x008a5cfd in PackageKit::TransactionProxy::GetUpdates () at transactionproxy.h:173
#17 PackageKit::Client::getUpdates (this=0x8849608, filters={q_hash = {{d = 0x8865070, e = 0x8865070}}}) at client.cpp:327

Comment 2 Orion Poplawski 2009-01-15 16:54:16 UTC
Sorry, my bad - caused by a empty /etc/PackageKit/PackageKit.conf file, though you might argue that that shouldn't cause a segfault...

Comment 3 Richard Hughes 2009-01-15 17:17:21 UTC
What should PackageKit do in this case? The daemon does this:

TI:17:14:14	TH:0x94d43f0	FI:egg-debug.c	FN:egg_debug_init,306
 - Verbose debugging 1 (on console 1)PK_VERBOSE
TI:17:14:14	TH:0x94d43f0	FI:pk-conf.c	FN:pk_conf_get_filename,153
 - local config file not found '../etc/PackageKit.conf'
TI:17:14:14	TH:0x94d43f0	FI:pk-conf.c	FN:pk_conf_get_filename,163
 - config file not found '/home/hughsie/.root/etc/PackageKit/PackageKit.conf'
TI:17:14:14	TH:0x94d43f0	FI:pk-conf.c	FN:pk_conf_init,186
 - config file not found

And then exits. I guess we need to handle this in QPackageKit library.

Comment 4 Orion Poplawski 2009-01-15 17:55:50 UTC
Note that is my case /etc/PackageKit/PackageKit.conf existed but was 0 bytes.

Comment 5 Richard Hughes 2009-01-16 09:50:22 UTC
Okay, the glib library handles this rather well:

[hughsie@hughsie-work PackageKit]$ pkcon search name power
Command failed:  cannot start daemon: cannot GetTid: Launch helper exited with unknown return code 1

Comment 6 Richard Hughes 2009-01-16 10:16:20 UTC
and with kpackagekt in F10:

[hughsie@hughsie-work src]$ kpackagekit
SHOW UI! 
GO UI! 
enumFromString ( Action ) : converted "" to "Action" , enum value -1 
enumFromString ( Group ) : converted "" to "" , enum value -1 
enumFromString ( Filter ) : converted "" to "Filter" , enum value -1 
enumFromString ( Action ) : converted "" to "Action" , enum value -1 
Error, cannot create transaction proxy

Can you give soem more versions about how you got the backtrace please? Thanks.

Comment 7 Orion Poplawski 2009-01-16 16:24:50 UTC
I can't reproduce it any more, even with emptying PackageKit.conf.  Ah, well.  Thanks for looking into it though.