While clients should really register their errors, dbus-glib shouldn't be passing a malformed error interface to dbus either. It's just not nice and libdbus will call abort(). See https://bugzilla.redhat.com/show_bug.cgi?id=581794
Created attachment 35242 [details] [review] don't pass bad interfaces to libdbus
Stacktrace from this bug is something like: NetworkManager: #8 0x00f0b78a in abort () from /lib/libc.so.6 NetworkManager: #9 0x00349c15 in _dbus_abort () at dbus-sysdeps.c:88 NetworkManager: #10 0x00345446 in _dbus_warn_check_failed ( NetworkManager: format=0x353500 "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 NetworkManager: #11 0x00339216 in dbus_message_new_error (reply_to=0x863e578, NetworkManager: error_name=0x8611f78 "org.freedesktop.DBus.GLib.UnmappedError..Code0", NetworkManager: error_message=0x8638600 "ifcfg file '/etc/sysconfig/network-scripts/ifcfg-lo' unknown") NetworkManager: 10 NetworkManager: #12 0x00c9429e in gerror_to_dbus_error_message (object_info=<value optimized out>, message=0x863e578, NetworkManager: error=0x863b270) at dbus-gobject.c:1209 NetworkManager: #13 0x00c9525b in invoke_object_method (connection=0x8611b60, message=0x863e578, user_data=0x861fda0) NetworkManager: at dbus-gobject.c:1569 Note how dbus-glib tries to send "org.freedesktop.DBus.GLib.UnmappedError..Code0" to libdbus.
I'd rather call uscore_to_wincaps only if g_quark_to_string doesn't return NULL. Actually rather than bounce this back I just did the change myself and pushed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.