Comment 15 for bug 1021374

Revision history for this message
Chris Halse Rogers (raof) wrote :

Oh, would you look at that!

This is a combination of colord being insufficiently paranoid - it assumes that if g_dbus_connection_register_object returns 0 then it has set error, which is not true; there are a variety of ways that g_dbus_connection_register_object can return 0 without setting error (this is arguably a GDBus bug).

The particular way that's easy to hit is if you use a guest session; colord appends the user's name on to the object path of the xrandr device it tries to register. For most cases this is fine, but there are plenty of usernames that aren't valid in a DBus object path - our “guest-$RANDOM_CHARACERS” is one, as ‘-’ is not valid in an object path.