[colord] Removal of libsane support
Christopher James Halse Rogers
christopher.halse.rogers at canonical.com
Tue Sep 11 22:32:00 PDT 2012
While helping to track down why gconf-using applications keep crashing
in libdbus I think I've run across a decent hypothesis for a large
number of colord-sane (or old colord) crashes: thread-safety of libdbus.
It goes something like this:
*) libdbus is threadsafe iff dbus_threads_init_default() is called.
*) GDBus is threadsafely implemented on top of libdbus, but does not
require libdbus to be threadsafe, nor does it call
dbus_threads_init_default()
*) colord-sane uses GDBus, which is fine.
*) colord-sane also uses libsane.
+) Which links to libavahi
-) Which uses libdbus directly, and spawns threads.
Fixing this should be as simple as calling dbus_threads_init_default
early in colord-sane's main(). Should be, because I can't reproduce
these crashes myself, so I can't test. We see lots of colord 0.1.16
crashes here in Ubuntu 12.04, though, and I'm going to upload a colord
that calls dbus_threads_init_default() to precise-proposed² and see if
these crashes go away.
Since removing sane support drops support for non-directly-attached
scanners (like my HP all-in-one), and I think this is the cause of the
(at least the) top 15 colord crashes in 12.04 in the past year¹, it
might be worth seeing if this significantly improves colord-sane's crash
rate, and then reinstate it.
Of course, this relies on my guesswork being correct :)
¹: https://errors.ubuntu.com/
²: https://bugs.launchpad.net/ubuntu/+source/colord/+bug/844286
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/colord/attachments/20120912/f2d9bfb9/attachment.pgp>
More information about the colord
mailing list