[Bug 408530] Re: empathy assertion failure: empathy:ERROR:empathy-tp-chat.c:1391:empathy_tp_chat_acknowledge_message: assertion failed: (m != NULL)

Guillaume Desmottes gdesmott at gnome.org
Fri Oct 23 13:16:09 UTC 2009

I spent lot of time tracking this issue and I'm now pretty sure it's
because of Ubuntu's libindicate patch. As I said on the upstream bug
[1], this crash is due to a leak of EmpathyChat object.

I never managed to reproduce the leak in my Empathy (upstream version)
and so finally decided to take a look at the libindicate patch. And then
saw this:

	cb_data = g_slice_new0 (NotificationData);
	cb_data->chat = g_object_ref (chat);
	cb_data->window = window;

	sender = empathy_message_get_sender (message);
	body = empathy_message_get_body (message);

	indicator = g_hash_table_lookup (priv->indicators, chat);
	if (indicator) {
		empathy_indicator_update (indicator, body);
	} else {
		indicator = empathy_indicator_manager_create_indicator (priv->indicator_manager,
			sender, body);
		g_signal_connect (indicator, "activate",
				  G_CALLBACK (chat_window_indicator_activate_cb), cb_data);
		g_hash_table_insert (priv->indicators, chat, indicator);

It's pretty obvious that this code will leak an EmpathyChat reference if:
a) indicator is not NULL (as cb_data is not even used)
b) for any reason the "activate" signal is not fired.

This is not the first time that Ubuntu's libindicate patch introduces
crashes in Empathy or offer a shitty user experience (see bug #440865)
for example. For the record, this patch has been proposed upstream and
rejected because of its poor quality, see [2] for my list of comments (I
didn't review the latest version so hopefully most of them have been
fixed since).

I'm very disappointed because Empathy developpers asked many time to
Ubuntu to either improve the quality of their patch or to drop it from
the package. My biggest concern is that now lof of Ubuntu users have a
bad image of Empathy because of this which is not fair regarding all the
hard work done by the Empathy team...

[1] https://bugzilla.gnome.org/show_bug.cgi?id=593086#c15
[2] https://bugzilla.gnome.org/show_bug.cgi?id=574744#c20

** Bug watch added: GNOME Bug Tracker #574744

empathy assertion failure: empathy:ERROR:empathy-tp-chat.c:1391:empathy_tp_chat_acknowledge_message: assertion failed: (m != NULL)
You received this bug notification because you are a member of
Telepathy, which is the registrant for Empathy.

More information about the Ubuntu-telepathy mailing list