GNOME Bugzilla – Bug 640069
Crash on invoking closure from Gio.bus_own_name()
Last modified: 2011-03-04 08:28:27 UTC
Created attachment 178842 [details]
I am currently trying to use GDBus with pygi for implementing a dbus server. Calling Gio.bus_own_name() (which really calls g_bus_own_name_with_closures()) works, but as soon as it tries to invoke the first closure (on_bus_acquired()), I get a crash. It also spits out a warning:
gdbus-server.py:21: Warning: g_closure_invoke: assertion `closure->marshal || closure->meta_marshal' failed
This is running against gtk, glib, pygobject, and gobject-introspection git master heads as from this hour, but it also happens when running against their latest upstream releases.
With current git head it now gets a tad faster. I get an assertion, and a slightly different trace:
$ PYTHONPATH=. python /tmp/gdbus-server.py
/tmp/gdbus-server.py:21: Warning: g_closure_invoke: assertion `closure->marshal || closure->meta_marshal' failed
Sorry, I meant to say "a tad further", not "faster".
Martin, did you try the patch in bug #643192?
From my tests that fixes it
*** This bug has been marked as a duplicate of bug 643192 ***
Works wonderfully, thanks! Once that hits master as well, I'm happy to commit a few test cases for server into tests_gdbus.py; with that we can replace the external notification-daemon test case with an internal synthetic one.