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 724017 - [abrt] Crash in e_addressbook_view_delete_selection()
[abrt] Crash in e_addressbook_view_delete_selection()
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Contacts
3.10.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-02-10 11:40 UTC by Milan Crha
Modified: 2015-07-14 17:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2014-02-10 11:40:40 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1062597

Description of problem:
Crash after updating to 3.10.3.

Version-Release number of selected component:
evolution-3.10.3-1.fc20

Additional info:
reporter:       libreport-2.1.12
backtrace_rating: 4
cmdline:        evolution
crash_function: e_addressbook_view_delete_selection
executable:     /usr/bin/evolution
kernel:         3.12.9-301.fc20.x86_64

Core was generated by `evolution'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 1 (Thread 0x7f4d6846aa40 (LWP 2060))

  • #0 e_addressbook_view_delete_selection
    at e-addressbook-view.c line 1368
  • #1 g_closure_invoke
    at gclosure.c line 777
  • #2 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #3 g_signal_emit_valist
    at gsignal.c line 3330
  • #4 g_signal_emit
    at gsignal.c line 3386
  • #5 _gtk_action_emit_activate
    at deprecated/gtkaction.c line 906
  • #6 g_closure_invoke
    at gclosure.c line 777
  • #7 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #8 g_signal_emit_valist
    at gsignal.c line 3330
  • #9 g_signal_emit
    at gsignal.c line 3386
  • #10 _gtk_action_emit_activate
    at deprecated/gtkaction.c line 906
  • #11 g_closure_invoke
    at gclosure.c line 777
  • #12 signal_emit_unlocked_R
    at gsignal.c line 3516
  • #13 g_signal_emit_valist
    at gsignal.c line 3330
  • #14 g_signal_emit
    at gsignal.c line 3386
  • #15 gtk_widget_activate
    at gtkwidget.c line 7199
  • #16 gtk_menu_shell_activate_item
    at gtkmenushell.c line 1391
  • #17 gtk_menu_shell_button_release
    at gtkmenushell.c line 805
  • #18 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #19 _g_closure_invoke_va
    at gclosure.c line 840
  • #20 g_signal_emit_valist
    at gsignal.c line 3238
  • #21 g_signal_emit
    at gsignal.c line 3386
  • #22 gtk_widget_event_internal
    at gtkwidget.c line 7168
  • #23 gtk_widget_event
    at gtkwidget.c line 6830
  • #24 propagate_event_up
    at gtkmain.c line 2391
  • #25 propagate_event
    at gtkmain.c line 2499
  • #26 gtk_main_do_event
    at gtkmain.c line 1714
  • #27 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #28 g_main_dispatch
    at gmain.c line 3066
  • #29 g_main_context_dispatch
    at gmain.c line 3642
  • #30 g_main_context_iterate
    at gmain.c line 3713
  • #31 g_main_loop_run
    at gmain.c line 3907
  • #32 gtk_main
    at gtkmain.c line 1158
  • #33 main
    at main.c line 683

Comment 1 Milan Crha 2014-02-10 15:35:55 UTC
It seems like the function was called with no selection being done, but I cannot reproduce it myself, the corresponding actions are insensitive, when I try to call them, either from menu, or with a short-cut.

1365	list = e_addressbook_view_get_selected (view);
1366	contact = list->data;
1367
1368	if (g_slist_next (list))
1369		plural = TRUE;
1370	else
Comment 2 Milan Crha 2015-07-14 16:56:16 UTC
I managed to reproduce this. It can be done with a WebDAV book, which doesn't support ctag. The first time it is opened it updates the content by re-adding contacts. Just select one of them and till the view flashes press Ctrl+X, this sometimes crashes the application, even though the contact is highlighted and the actions are sensitive.
Comment 3 Milan Crha 2015-07-14 17:45:21 UTC
I added a safety check to the place of the crash, but also fixed the root cause, which was that the row count change didn't notify about selection change, simply erased background data without letting anyone else know about no selection being active.

Created commit b89035a in evo master (3.17.4+)
Created commit 7a1ab7f in evo gnome-3-16 (3.16.5+)