Created attachment 16096 [details] Backtrace of the warning Running empathy with tp-glib 0.7.6 (...) Filter: connection invalidated: Disconnected: reason 2 TpGroup: Channel invalidated: Disconnected: reason 2 TpGroup: finalize: 0xe66820 GLib-GObject-CRITICAL **: g_object_notify: assertion `G_IS_OBJECT (object)' failed aborting... /usr/lib/bug-buddy/lt-empathy: No such file or directory. I'm attaching the backtrace of the warning.
I think the problem is it emits "invalidated" signal and empathy drop all ref of the channel so it gets finalized. The channel shouldn't be used after the call of tp_proxy_invalidate().
OK, I think I see the problem. Hopefully I can add a regression test for this fairly easily, and the fix should be as simple as adding a ref to the TpProxy around each signal emission. (It is specifically allowed to use a TpProxy after it has been invalidated - all API calls will fail with the same GError as the ->invalidated member of TpProxy, but there will be no assertions - so you don't necessarily need to be quite so careful to drop all references.)
(In reply to comment #2) > OK, I think I see the problem. Hopefully I can add a regression test for this > fairly easily, and the fix should be as simple as adding a ref to the TpProxy > around each signal emission. I've learned to use g_signal_connect_object() for this purpose, may that be helpful here as well?
Fixed in my branch http://monkey.collabora.co.uk/tp-glib-smcv-15644/
Fixed in darcs
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.