[Pkg-utopia-maintainers] Bug#507815: consolekit: race condition during D-Bus activation
Fabian Knittel
fabian.knittel at fsmi.uni-karlsruhe.de
Thu Dec 4 17:29:06 UTC 2008
Package: consolekit
Version: 0.2.10-2
Severity: normal
Hello,
on a system where ConsoleKit is only used sporadically, a race condition
caused by the interaction between D-Bus' activation code and
console-kit-daemon's backgrounding has surfaced.
If console-kit-daemon backgrounds quickly enough that the D-Bus code hasn't
returned to the caller yet, the caller receives the error "Launch helper
exited with unknown return code 0".
This can be demonstrated by the attached python script.
$ sudo killall /usr/sbin/console-kit-daemon
$ ./test-ck
Unable to use PackageKit: org.freedesktop.DBus.Error.Spawn.ChildExited:
Launch helper exited with unknown return code 0
(You might need to repeat the above steps a few times to reproduce.)
To avoid the race condition, the following change simply disables the
backgrounding in console-kit-daemon for the D-Bus activation case:
--- /usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service 2008-12-04 18:17:43.000000000 +0100
+++ /usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service 2008-12-04 18:17:34.000000000 +0100
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=org.freedesktop.ConsoleKit
-Exec=/usr/sbin/console-kit-daemon
+Exec=/usr/sbin/console-kit-daemon --no-daemon
User=root
The alternative would be to fix D-Bus to assume return code 0 is fine, as long
as someone continues to provide the requested service. So maybe this is a bug
in D-Bus and not in ConsoleKit.
Cheers, Fabian
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing'), (100, 'unstable'), (1, 'experimental')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.18-6-xen-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages consolekit depends on:
ii dbus 1.2.1-4 simple interprocess messaging syst
ii libc6 2.7-16 GNU C Library: Shared libraries
ii libck-connector0 0.2.10-2 ConsoleKit libraries
ii libdbus-1-3 1.2.1-4 simple interprocess messaging syst
ii libdbus-glib-1-2 0.76-1 simple interprocess messaging syst
ii libglib2.0-0 2.16.6-1 The GLib library of C routines
ii libx11-6 2:1.1.5-2 X11 client-side library
ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime
Versions of packages consolekit recommends:
pn libpam-ck-connector <none> (no description available)
consolekit suggests no packages.
-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-ck
Type: text/x-java
Size: 440 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-utopia-maintainers/attachments/20081204/a9179dcb/attachment.java
More information about the Pkg-utopia-maintainers
mailing list