Bug 49735 - contacts_bind_to_signals: assertion failed: (tp_proxy_has_interface_by_id (connection, TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACTS))
Summary: contacts_bind_to_signals: assertion failed: (tp_proxy_has_interface_by_id (co...
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-glib (show other bugs)
Version: git master
Hardware: Other All
: medium major
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://cgit.freedesktop.org/~smcv/tel...
Whiteboard: r+
Keywords: patch
Depends on:
Blocks:
 
Reported: 2012-05-10 07:22 UTC by Guillaume Desmottes
Modified: 2012-07-18 10:39 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Guillaume Desmottes 2012-05-10 07:22:22 UTC
I get this when requesting a Idle contact using empathy_client_factory_dup_contact_by_id_async() (part of https://bugzilla.gnome.org/show_bug.cgi?id=675808)


tp-glib:ERROR:contact.c:3886:contacts_bind_to_signals: assertion failed: (tp_proxy_has_interface_by_id (connection, TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACTS))

Program received signal SIGABRT, Aborted.
0x000000314ac36285 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt
#0  0x000000314ac36285 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x000000314ac37b9b in __GI_abort () at abort.c:91
#2  0x00007ffff4572ae1 in g_assertion_message (domain=0x7ffff6c5415f "tp-glib", file=0x7ffff6c54291 "contact.c", line=3886, 
    func=0x7ffff6c56130 "contacts_bind_to_signals", 
    message=0xb80840 "assertion failed: (tp_proxy_has_interface_by_id (connection, TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACTS))") at gtestutils.c:1861
#3  0x00007ffff4572b42 in g_assertion_message_expr (domain=0x7ffff6c5415f "tp-glib", file=0x7ffff6c54291 "contact.c", line=3886, 
    func=0x7ffff6c56130 "contacts_bind_to_signals", 
    expr=0x7ffff6c55910 "tp_proxy_has_interface_by_id (connection, TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACTS)") at gtestutils.c:1872
#4  0x00007ffff6b9be3f in contacts_bind_to_signals (connection=0x82f1b0, wanted=1015) at contact.c:3885
#5  0x00007ffff6b9d734 in tp_connection_dup_contact_by_id_async (self=0x82f1b0, id=0xa6f0d0 "cassidy", n_features=14, features=0xb80760, 
    callback=0x48075b <dup_contact_cb>, user_data=0xaeb710) at contact.c:4734
#6  0x000000000048094d in empathy_client_factory_dup_contact_by_id_async (self=0x744640, connection=0x82f1b0, id=0xa6f0d0 "cassidy", 
    callback=0x43894d <whois_got_contact_cb>, user_data=0x938020) at empathy-client-factory.c:265
#7  0x0000000000438aea in chat_command_whois (chat=0x938020, strv=0xb94160) at empathy-chat.c:997
#8  0x0000000000439382 in chat_send (chat=0x938020, msg=0xb23f60 "/whois cassidy") at empathy-chat.c:1265
#9  0x0000000000439517 in chat_input_text_view_send (chat=0x938020) at empathy-chat.c:1312
#10 0x000000000043ae69 in chat_input_key_press_event_cb (widget=0x9c3000, event=0xa51a50, chat=0x938020) at empathy-chat.c:1945
#11 0x00007ffff5d53920 in _gtk_marshal_BOOLEAN__BOXED (closure=0x9b8170, return_value=0x7fffffffd2b0, n_param_values=2, param_values=0x7fffffffd3b0, 
    invocation_hint=0x7fffffffd2e0, marshal_data=0x0) at gtkmarshalers.c:85
#12 0x00007ffff4a51f40 in g_closure_invoke (closure=0x9b8170, return_value=0x7fffffffd2b0, n_param_values=2, param_values=0x7fffffffd3b0, 
    invocation_hint=0x7fffffffd2e0) at gclosure.c:777
#13 0x00007ffff4a6f5ea in signal_emit_unlocked_R (node=0x6fb8b0, detail=0, instance=0x9c3000, emission_return=0x7fffffffd500, 
    instance_and_params=0x7fffffffd3b0) at gsignal.c:3547
#14 0x00007ffff4a6e8fe in g_signal_emit_valist (instance=0x9c3000, signal_id=36, detail=0, var_args=0x7fffffffd6e8) at gsignal.c:3306
#15 0x00007ffff4a6edb1 in g_signal_emit (instance=0x9c3000, signal_id=36, detail=0) at gsignal.c:3352
#16 0x00007ffff5efeaa8 in gtk_widget_event_internal (widget=0x9c3000, event=0xa51a50) at gtkwidget.c:6380
#17 0x00007ffff5efe0f8 in gtk_widget_event (widget=0x9c3000, event=0xa51a50) at gtkwidget.c:6037
#18 0x00007ffff5f1c235 in gtk_window_propagate_key_event (window=0x720790, event=0xa51a50) at gtkwindow.c:6046
#19 0x00007ffff5f1c31b in gtk_window_key_press_event (widget=0x720790, event=0xa51a50) at gtkwindow.c:6076
#20 0x00007ffff5d53920 in _gtk_marshal_BOOLEAN__BOXED (closure=0x6fb860, return_value=0x7fffffffdaa0, n_param_values=2, param_values=0x7fffffffdba0, 
    invocation_hint=0x7fffffffdad0, marshal_data=0x7ffff5f1c2b4) at gtkmarshalers.c:85
#21 0x00007ffff4a525f5 in g_type_class_meta_marshal (closure=0x6fb860, return_value=0x7fffffffdaa0, n_param_values=2, param_values=0x7fffffffdba0, 
    invocation_hint=0x7fffffffdad0, marshal_data=0x1b0) at gclosure.c:970
#22 0x00007ffff4a51f40 in g_closure_invoke (closure=0x6fb860, return_value=0x7fffffffdaa0, n_param_values=2, param_values=0x7fffffffdba0, 
    invocation_hint=0x7fffffffdad0) at gclosure.c:777
#23 0x00007ffff4a6f766 in signal_emit_unlocked_R (node=0x6fb8b0, detail=0, instance=0x720790, emission_return=0x7fffffffdcf0, 
    instance_and_params=0x7fffffffdba0) at gsignal.c:3585
#24 0x00007ffff4a6e8fe in g_signal_emit_valist (instance=0x720790, signal_id=36, detail=0, var_args=0x7fffffffded8) at gsignal.c:3306
#25 0x00007ffff4a6edb1 in g_signal_emit (instance=0x720790, signal_id=36, detail=0) at gsignal.c:3352
#26 0x00007ffff5efeaa8 in gtk_widget_event_internal (widget=0x720790, event=0xa51a50) at gtkwidget.c:6380
#27 0x00007ffff5efe0f8 in gtk_widget_event (widget=0x720790, event=0xa51a50) at gtkwidget.c:6037
#28 0x00007ffff5d536ed in propagate_event (widget=0x720790, event=0xa51a50, captured=0, topmost=0x0) at gtkmain.c:2479
#29 0x00007ffff5d53805 in gtk_propagate_event (widget=0x720790, event=0xa51a50) at gtkmain.c:2525
#30 0x00007ffff5d522d4 in gtk_main_do_event (event=0xa51a50) at gtkmain.c:1713
#31 0x00007ffff58ec73e in _gdk_event_emit (event=0xa51a50) at gdkevents.c:69
---Type <return> to continue, or q <return> to quit---
#32 0x00007ffff5924de0 in gdk_event_source_dispatch (source=0x72d0b0, callback=0, user_data=0x0) at gdkeventsource.c:358
#33 0x00007ffff454851c in g_main_dispatch (context=0x730bd0) at gmain.c:2539
#34 0x00007ffff45491c1 in g_main_context_dispatch (context=0x730bd0) at gmain.c:3075
#35 0x00007ffff45493a4 in g_main_context_iterate (context=0x730bd0, block=1, dispatch=1, self=0x70f4a0) at gmain.c:3146
#36 0x00007ffff4549468 in g_main_context_iteration (context=0x730bd0, may_block=1) at gmain.c:3207
#37 0x00007ffff4f5eb5f in g_application_run (application=0x8210c0, argc=1, argv=0x7fffffffe548) at gapplication.c:1496
#38 0x00000000004360cd in main (argc=1, argv=0x7fffffffe548) at empathy-chat.c:164
Comment 1 Simon McVittie 2012-05-10 10:12:43 UTC
I'm trying to port Mission Control to use the self-TpContact to track our own presence, which also reproduces this crash.

From a brief glance at tp-glib, the bug is that contacts_bind_to_signals can be called without checking that the Contacts interface is supported. The reason it has this assertion in the first place is that it uses connection->priv->contact_attribute_interfaces to decide what's supported.
Comment 2 Guillaume Desmottes 2012-05-10 23:53:07 UTC
++
Comment 3 Simon McVittie 2012-07-18 10:39:26 UTC
Fixed in 0.19.1. Backport to 0.18 not required (the feature didn't exist).


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.