All dbus_g_object_register_marshaller() calls made before the first dbus_g_bus_get() call will generate debug warnings and won't work properly (i.e., some marshallers won't be found). Looks like some stuff needed by dbus_g_object_register_marshaller() function only gets initialized/set when you call dbus_g_bus_get(), which is obviously a wrong behaviour.
This is because dbus_g_bus_get() initalized the D-Bus GLib's special types. Solution would be to add a dbus_g_init function that does the init.
*** This bug has been marked as a duplicate of 3999 ***
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.