After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 645488 - Blocking linked contacts doesn't work and can crash empathy
Blocking linked contacts doesn't work and can crash empathy
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: General
2.33.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2011-03-22 01:46 UTC by Danielle Madeley
Modified: 2011-08-29 10:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
don't try to block personas that don't support blocking (1.67 KB, patch)
2011-03-22 14:38 UTC, Emilio Pozuelo Monfort
accepted-commit_now Details | Review

Description Danielle Madeley 2011-03-22 01:46:22 UTC
steps to reproduce:
* Sign into account and add contact
* sign into second account and add yourself
* right click on first contact and link it with yourself
* right click on first contact and block/report abusive

entry is not removed from the menu, right-clicking on it will cause empathy to crash.
Comment 1 Danielle Madeley 2011-03-22 04:33:06 UTC
The notes above were from David Laban.

I can't reproduce the crash, a backtrace would be appreciated.

I can confirm that clicking remove-and-block on a metacontact doesn't do the removing, but it does work on a non-metacontact. It's not immediately obvious why. Possibly a logic flaw around empathy-individual-view.c:2412 ?
Comment 2 Emilio Pozuelo Monfort 2011-03-22 14:09:06 UTC
When trying to block (and report as abusive) a meta-contact composed of two contacts, one of which supports blocking / reporting as abusive, and the other doesn't, I get:

empathy-CRITICAL **: tp_contact_list_set_blocked: assertion `TP_IS_CHANNEL (priv->deny)' failed
aborting...

Program received signal SIGABRT, Aborted.
0x00007fffee259165 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 abort
    at abort.c line 92
  • #2 g_logv
    at /tmp/buildd/glib2.0-2.28.2/./glib/gmessages.c line 557
  • #3 g_log
    at /tmp/buildd/glib2.0-2.28.2/./glib/gmessages.c line 577
  • #4 tp_contact_list_set_blocked
    at empathy-tp-contact-list.c line 1367
  • #5 empathy_individual_manager_set_blocked
    at empathy-individual-manager.c line 558
  • #6 got_avatar
    at empathy-individual-view.c line 2423
  • #7 empathy_pixbuf_avatar_from_individual_scaled_async
    at empathy-ui-utils.c line 655
  • #8 individual_view_remove_activate_cb
    at empathy-individual-view.c line 2445
  • #9 g_closure_invoke
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gclosure.c line 767
  • #10 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gsignal.c line 3252
  • #11 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gsignal.c line 2983
  • #12 g_signal_emit
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gsignal.c line 3040
  • #13 IA__gtk_widget_activate
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkwidget.c line 5011
  • #14 IA__gtk_menu_shell_activate_item
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkmenushell.c line 1256
  • #15 gtk_menu_shell_button_release
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkmenushell.c line 683
  • #16 _gtk_marshal_BOOLEAN__BOXED
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkmarshalers.c line 86
  • #17 g_closure_invoke
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gclosure.c line 767
  • #18 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gsignal.c line 3290
  • #19 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gsignal.c line 2993
  • #20 g_signal_emit
    at /tmp/buildd/glib2.0-2.28.2/./gobject/gsignal.c line 3040
  • #21 gtk_widget_event_internal
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkwidget.c line 4980
  • #22 IA__gtk_propagate_event
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkmain.c line 2488
  • #23 IA__gtk_main_do_event
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkmain.c line 1683
  • #24 gdk_event_dispatch
    at /tmp/buildd/gtk+2.0-2.24.3/gdk/x11/gdkevents-x11.c line 2377
  • #25 g_main_dispatch
    at /tmp/buildd/glib2.0-2.28.2/./glib/gmain.c line 2440
  • #26 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.28.2/./glib/gmain.c line 3013
  • #27 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.28.2/./glib/gmain.c line 3091
  • #28 g_main_loop_run
    at /tmp/buildd/glib2.0-2.28.2/./glib/gmain.c line 3299
  • #29 IA__gtk_main
    at /tmp/buildd/gtk+2.0-2.24.3/gtk/gtkmain.c line 1255
  • #30 main
    at empathy.c line 566

Comment 3 Emilio Pozuelo Monfort 2011-03-22 14:38:25 UTC
Created attachment 184070 [details] [review]
don't try to block personas that don't support blocking

This fixes the critical for me, though now I get a segfault. That seems a different (folks) bug though.
Comment 4 Guillaume Desmottes 2011-03-22 14:50:07 UTC
Review of attachment 184070 [details] [review]:

Looks good (both branches), but I suspect folks should be less facist about that.
Comment 5 Emilio Pozuelo Monfort 2011-03-22 15:31:52 UTC
Merged. I've reported the segfault as bug 645532. I'm closing this one, will reopen if there are more problems after that folks bug is fixed.