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 655625 - Crash in atk_state_set_contains_state
Crash in atk_state_set_contains_state
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Tasks
3.2.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 656780 659892 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-07-30 10:14 UTC by Thomas
Modified: 2013-09-13 01:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Put the check GAL_A11Y_IS_E_TABLE_ITEM (a11y) earlier (644 bytes, patch)
2011-08-04 13:22 UTC, Thomas
rejected Details | Review
proposed evo patch (2.82 KB, patch)
2011-09-13 15:47 UTC, Milan Crha
committed Details | Review

Description Thomas 2011-07-30 10:14:19 UTC
Entered a search term in the search box, pressed return and received four
tasks in the list. Then changed the term, deleting 4 characters at the beginning of the term and evolution would crash.

I am running evolution 3.1.4 on ubuntu oneiric, a vm (vmware player).
Just upgraded all relevant packages. Here is part of the gdb output plus the stack trace:

(gdb) f 1

Thread 1 (Thread 0xb62bd8a0 (LWP 5101))

  • #0 atk_state_set_contains_state
    from /usr/lib/i386-linux-gnu/libatk-1.0.so.0
  • #1 eti_a11y_selection_changed_cb
    at gal-a11y-e-table-item.c line 1216
  • #2 g_cclosure_marshal_VOID__VOID
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #3 g_closure_invoke
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #4 ??
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0

Comment 1 Thomas 2011-07-30 10:17:47 UTC
This was reproducable!!
Comment 2 André Klapper 2011-07-30 11:05:49 UTC
Can you please also install debug packages for glib?
Comment 3 Thomas 2011-07-30 11:32:22 UTC
(In reply to comment #2)
> Can you please also install debug packages for glib?

Hmm. Just installed libglib2.0-0-dbg, ran evoluton under gdb again, and the
bug did not occur again? By the way, evolution crashes when started from
the terminal or from the gui, but runs under gdb.
Comment 4 Thomas 2011-07-30 11:50:36 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > Can you please also install debug packages for glib?
> 
> Hmm. Just installed libglib2.0-0-dbg, ran evolution under gdb again, and the
> bug did not occur again? By the way, evolution crashes when started from
> the terminal or from the gui, but runs under gdb.

Here is the stack trace from apport-unpack when run from the terminal. 

  • #0 ??
    from /lib/i386-linux-gnu/libc.so.6
  • #1 g_str_equal
    at /build/buildd/glib2.0-2.29.14/./glib/gstring.c line 116
  • #2 g_hash_table_lookup_node
    at /build/buildd/glib2.0-2.29.14/./glib/ghash.c line 381
  • #3 g_hash_table_lookup
    at /build/buildd/glib2.0-2.29.14/./glib/ghash.c line 1022
  • #4 g_quark_from_string_internal
    at /build/buildd/glib2.0-2.29.14/./glib/gdataset.c line 1172
  • #5 g_intern_static_string
    at /build/buildd/glib2.0-2.29.14/./glib/gdataset.c line 1350
  • #6 g_param_spec_internal
    at /build/buildd/glib2.0-2.29.14/./gobject/gparam.c line 425
  • #7 g_param_spec_boolean
    at /build/buildd/glib2.0-2.29.14/./gobject/gparamspecs.c line 1700
  • #8 e_spam_assassin_class_init
    at evolution-spamassassin.c line 1081
  • #9 e_spam_assassin_class_intern_init
    at evolution-spamassassin.c line 107
  • #10 type_class_init_Wm
    at /build/buildd/glib2.0-2.29.14/./gobject/gtype.c line 2212
  • #11 g_type_class_ref
    at /build/buildd/glib2.0-2.29.14/./gobject/gtype.c line 2912
  • #12 extensible_load_extension
    at e-extensible.c line 94
  • #13 e_type_traverse
    at e-util.c line 526
  • #14 e_type_traverse
    at e-util.c line 520
  • #15 e_extensible_load_extensions
    at e-extensible.c line 142
  • #16 mail_session_constructed
    at e-mail-session.c line 730
  • #17 g_object_newv
    at /build/buildd/glib2.0-2.29.14/./gobject/gobject.c line 1521
  • #18 g_object_new_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gobject.c line 1610
  • #19 g_object_new
    at /build/buildd/glib2.0-2.29.14/./gobject/gobject.c line 1325
  • #20 e_mail_session_new
    at e-mail-session.c line 1188
  • #21 mail_backend_constructed
    at e-mail-backend.c line 569
  • #22 mail_shell_backend_constructed
    at e-mail-shell-backend.c line 372
  • #23 g_object_newv
    at /build/buildd/glib2.0-2.29.14/./gobject/gobject.c line 1521
  • #24 g_object_new_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gobject.c line 1610
  • #25 g_object_new
    at /build/buildd/glib2.0-2.29.14/./gobject/gobject.c line 1325
  • #26 extensible_load_extension
    at e-extensible.c line 100
  • #27 e_type_traverse
    at e-util.c line 526
  • #28 e_type_traverse
    at e-util.c line 520
  • #29 e_type_traverse
    at e-util.c line 520
  • #30 e_extensible_load_extensions
    at e-extensible.c line 142
  • #31 e_extensible_list_extensions
    at e-extensible.c line 172
  • #32 e_shell_load_modules
    at e-shell.c line 1336
  • #33 main
    at main.c line 664

Comment 5 Thomas 2011-08-04 12:56:43 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > Can you please also install debug packages for glib?
> 
> Hmm. Just installed libglib2.0-0-dbg, ran evoluton under gdb again, and the
> bug did not occur again? By the way, evolution crashes when started from
> the terminal or from the gui, but runs under gdb.

Just did a git pull and rebuilt evolution and eds master, started the app
in tasks, changed the search field, which already contained a term from my
previous session, and the app crashes. Here are some snippets from my
gdb session and the stack trace:

(gdb) do
  • #1 eti_a11y_selection_changed_cb
    at ../../../../evolution/widgets/table/gal-a11y-e-table-item.c line 1216
  • #0 atk_state_set_contains_state
    at atkstateset.c line 185
  • #0 atk_state_set_contains_state
    at atkstateset.c line 185
  • #1 eti_a11y_selection_changed_cb
    at ../../../../evolution/widgets/table/gal-a11y-e-table-item.c line 1216
  • #2 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 85
  • #3 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #4 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3271
  • #5 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3002
  • #6 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #7 e_selection_model_selection_changed
    at ../../../../evolution/widgets/misc/e-selection-model.c line 795
  • #8 esma_clear
    at ../../../../evolution/widgets/misc/e-selection-model-array.c line 288
  • #9 e_selection_model_clear
    at ../../../../evolution/widgets/misc/e-selection-model.c line 299
  • #10 etcta_event
    at ../../../../evolution/widgets/table/e-table-click-to-add.c line 414
  • #11 gnome_canvas_marshal_BOOLEAN__BOXED
    at ./gnome-canvas-marshal.c line 128
  • #12 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 884
  • #13 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #14 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3309
  • #15 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3012
  • #16 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #17 emit_event
    at ../../../evolution/libgnomecanvas/gnome-canvas.c line 2428
  • #18 gnome_canvas_item_grab_focus
    at ../../../evolution/libgnomecanvas/gnome-canvas.c line 1100
  • #19 table_canvas_focus_event_cb
    at ../../../../evolution/widgets/table/e-table.c line 1214
  • #20 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkmarshalers.c line 85
  • #21 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #22 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3271
  • #23 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3012
  • #24 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #25 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6126
  • #26 gtk_widget_send_focus_change
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 14155
  • #27 do_focus_change
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwindow.c line 5956
  • #28 gtk_window_real_set_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwindow.c line 6195
  • #29 g_cclosure_marshal_VOID__OBJECT
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 644
  • #30 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 884
  • #31 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #32 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3309
  • #33 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3002
  • #34 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #35 _gtk_window_internal_set_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwindow.c line 1852
  • #36 gtk_widget_real_grab_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6490
  • #37 gtk_widget_real_grab_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6432
  • #38 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 85
  • #39 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 884
  • #40 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #41 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3309
  • #42 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3002
  • #43 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #44 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6409
  • #45 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6401
  • #46 et_grab_focus
    at ../../../../evolution/widgets/table/e-table.c line 608
  • #47 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 85
  • #48 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 884
  • #49 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #50 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3309
  • #51 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3002
  • #52 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #53 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6409
  • #54 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6401
  • #55 task_shell_content_focus_search_results
    at ../../../../evolution/modules/calendar/e-task-shell-content.c line 629
  • #56 e_shell_content_focus_search_results
    at ../../../evolution/shell/e-shell-content.c line 598
  • #57 shell_searchbar_execute_search_cb
    at ../../../evolution/shell/e-shell-searchbar.c line 318
  • #58 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 85
  • #59 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #60 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3341
  • #61 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3002
  • #62 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #63 e_shell_view_execute_search
    at ../../../evolution/shell/e-shell-view.c line 1652
  • #64 action_search_quick_cb
    at ../../../evolution/shell/e-shell-window-actions.c line 1168
  • #65 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 85
  • #66 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #67 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3271
  • #68 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3002
  • #69 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #70 _gtk_action_emit_activate
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkaction.c line 799
  • #71 gtk_action_activate
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkaction.c line 829
  • #72 shell_searchbar_entry_activate_cb
    at ../../../evolution/shell/e-shell-searchbar.c line 339
  • #73 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.14/./gobject/gmarshal.c line 85
  • #74 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #75 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3271
  • #76 gtk_binding_entry_activate
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkbindings.c line 652
  • #77 binding_activate
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkbindings.c line 1524
  • #78 gtk_bindings_activate_list
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkbindings.c line 1585
  • #79 gtk_bindings_activate_event
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkbindings.c line 1670
  • #80 gtk_widget_real_key_press_event
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 5779
  • #81 gtk_entry_key_press
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkentry.c line 4180
  • #82 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkmarshalers.c line 85
  • #83 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 884
  • #84 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #85 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3309
  • #86 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3012
  • #87 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #88 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6126
  • #89 gtk_window_propagate_key_event
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwindow.c line 5810
  • #90 gtk_window_key_press_event
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwindow.c line 5840
  • #91 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkmarshalers.c line 85
  • #92 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 884
  • #93 g_closure_invoke
    at /build/buildd/glib2.0-2.29.14/./gobject/gclosure.c line 773
  • #94 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3309
  • #95 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3012
  • #96 g_signal_emit
    at /build/buildd/glib2.0-2.29.14/./gobject/gsignal.c line 3059
  • #97 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkwidget.c line 6126
  • #98 gtk_propagate_event
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkmain.c line 2588
  • #99 gtk_main_do_event
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkmain.c line 1884
  • #100 _gdk_event_emit
    at /build/buildd/gtk+3.0-3.1.10/./gdk/gdkevents.c line 71
  • #101 gdk_event_source_dispatch
    at /build/buildd/gtk+3.0-3.1.10/./gdk/x11/gdkeventsource.c line 360
  • #102 g_main_dispatch
    at /build/buildd/glib2.0-2.29.14/./glib/gmain.c line 2500
  • #103 g_main_context_dispatch
    at /build/buildd/glib2.0-2.29.14/./glib/gmain.c line 3083
  • #104 g_main_context_iterate
    at /build/buildd/glib2.0-2.29.14/./glib/gmain.c line 3161
  • #105 g_main_loop_run
    at /build/buildd/glib2.0-2.29.14/./glib/gmain.c line 3369
  • #106 gtk_main
    at /build/buildd/gtk+3.0-3.1.10/./gtk/gtkmain.c line 1367
  • #107 main
    at ../../../evolution/shell/main.c line 691

Comment 6 Thomas 2011-08-04 13:22:57 UTC
Created attachment 193247 [details] [review]
Put the check GAL_A11Y_IS_E_TABLE_ITEM (a11y) earlier
Comment 7 Milan Crha 2011-08-18 09:02:15 UTC
Thanks for a bug report and patch, but I'm rejecting it. It's just a workaround, and even that can lead to a crash. The function was called with nonNULL a11y, and your backtrace shows that the a11y was already freed (ref_count is 0), thus an already freed memory is accessed here. As the GET_PRIVATE() macro accesses internal members of something what is already freed, then it's just a matter of luck that it didn't crash (it might crash even with your patch if you run evolution with G_SLICE=always-malloc). The type-check macro also accesses internal structures, which shouldn't be done on an already freed object.

The only workaround is to disable accessibility, at least for now. I'll try to enable it and see whether I'll be able to reproduce it on my machine with your steps.

Comment #4 is a different bug, fixed in 3.1.5.
Comment 8 Milan Crha 2011-08-18 10:51:24 UTC
Hrm, so I tried to reproduce this, but no luck. I see the method being called, but apart of that nothing, no crash. neither valgrind claims anything, it's using correct memory pointers when I'm trying your steps.
Comment 9 Milan Crha 2011-08-18 14:34:02 UTC
*** Bug 656780 has been marked as a duplicate of this bug. ***
Comment 10 Milan Crha 2011-08-18 14:34:50 UTC
Just in case, to disable accessibility just run this command:
   $ gsettings set org.gnome.desktop.interface toolkit-accessibility false
and logout+login to take into effect.
Comment 11 Thomas 2011-08-20 01:07:03 UTC
Just had another one of those. Used evolution 3.1.5, a version just updated via apt-get upgrade on ubuntu oneiric:

(gdb) bt
  • #0 atk_state_set_contains_state
    at atkstateset.c line 185
  • #1 eti_a11y_selection_changed_cb
    at gal-a11y-e-table-item.c line 1216
  • #2 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 85
  • #3 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #4 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3271
  • #5 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3002
  • #6 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #7 e_selection_model_selection_changed
    at e-selection-model.c line 795
  • #8 esma_clear
    at e-selection-model-array.c line 288
  • #9 e_selection_model_clear
    at e-selection-model.c line 299
  • #10 etcta_event
    at e-table-click-to-add.c line 414
  • #11 gnome_canvas_marshal_BOOLEAN__BOXED
    at gnome-canvas-marshal.c line 128
  • #12 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 884
  • #13 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #14 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3309
  • #15 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3012
  • #16 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #17 emit_event
    at gnome-canvas.c line 2428
  • #18 emit_event
    at gnome-canvas.c line 2315
  • #19 gnome_canvas_item_grab_focus
    at gnome-canvas.c line 1100
  • #20 table_canvas_focus_event_cb
    at e-table.c line 1214
  • #21 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmarshalers.c line 85
  • #22 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #23 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3271
  • #24 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3012
  • #25 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #26 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6126
  • #27 gtk_widget_send_focus_change
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 14196
  • #28 do_focus_change
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwindow.c line 6008
  • #29 gtk_window_real_set_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwindow.c line 6247
  • #30 g_cclosure_marshal_VOID__OBJECT
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 644
  • #31 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 884
  • #32 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #33 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3309
  • #34 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3002
  • #35 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #36 _gtk_window_internal_set_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwindow.c line 1892
  • #37 gtk_widget_real_grab_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6490
  • #38 gtk_widget_real_grab_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6432
  • #39 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 85
  • #40 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 884
  • #41 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #42 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3309
  • #43 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3002
  • #44 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #45 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6409
  • #46 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6401
  • #47 et_grab_focus
    at e-table.c line 608
  • #48 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 85
  • #49 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 884
  • #50 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #51 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3309
  • #52 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3002
  • #53 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #54 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6409
  • #55 gtk_widget_grab_focus
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6401
  • #56 task_shell_content_focus_search_results
    at e-task-shell-content.c line 629
  • #57 e_shell_content_focus_search_results
    at e-shell-content.c line 598
  • #58 shell_searchbar_execute_search_cb
    at e-shell-searchbar.c line 318
  • #59 shell_searchbar_execute_search_cb
    at e-shell-searchbar.c line 301
  • #60 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 85
  • #61 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #62 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3341
  • #63 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3002
  • #64 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #65 e_shell_view_execute_search
    at e-shell-view.c line 1652
  • #66 action_search_quick_cb
    at e-shell-window-actions.c line 1151
  • #67 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 85
  • #68 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #69 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3271
  • #70 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3002
  • #71 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #72 _gtk_action_emit_activate
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkaction.c line 799
  • #73 gtk_action_activate
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkaction.c line 829
  • #74 shell_searchbar_entry_activate_cb
    at e-shell-searchbar.c line 339
  • #75 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.29.16/./gobject/gmarshal.c line 85
  • #76 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #77 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3271
  • #78 gtk_binding_entry_activate
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkbindings.c line 652
  • #79 binding_activate
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkbindings.c line 1524
  • #80 gtk_bindings_activate_list
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkbindings.c line 1585
  • #81 gtk_bindings_activate_event
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkbindings.c line 1670
  • #82 gtk_widget_real_key_press_event
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 5779
  • #83 gtk_entry_key_press
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkentry.c line 4187
  • #84 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmarshalers.c line 85
  • #85 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 884
  • #86 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #87 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3309
  • #88 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3012
  • #89 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #90 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6126
  • #91 gtk_window_propagate_key_event
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwindow.c line 5862
  • #92 gtk_window_key_press_event
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwindow.c line 5892
  • #93 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmarshalers.c line 85
  • #94 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 884
  • #95 g_closure_invoke
    at /build/buildd/glib2.0-2.29.16/./gobject/gclosure.c line 773
  • #96 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3309
  • #97 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3012
  • #98 g_signal_emit
    at /build/buildd/glib2.0-2.29.16/./gobject/gsignal.c line 3059
  • #99 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkwidget.c line 6126
  • #100 gtk_propagate_event
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmain.c line 2598
  • #101 gtk_main_do_event
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmain.c line 1894
  • #102 _gdk_event_emit
    at /build/buildd/gtk+3.0-3.1.12/./gdk/gdkevents.c line 71
  • #103 gdk_event_source_dispatch
    at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkeventsource.c line 360
  • #104 g_main_dispatch
    at /build/buildd/glib2.0-2.29.16/./glib/gmain.c line 2439
  • #105 g_main_context_dispatch
    at /build/buildd/glib2.0-2.29.16/./glib/gmain.c line 3008
  • #106 g_main_context_iterate
    at /build/buildd/glib2.0-2.29.16/./glib/gmain.c line 3086
  • #107 g_main_loop_run
    at /build/buildd/glib2.0-2.29.16/./glib/gmain.c line 3294
  • #108 gtk_main
    at /build/buildd/gtk+3.0-3.1.12/./gtk/gtkmain.c line 1367
  • #109 main
    at main.c line 691

Comment 12 Thomas 2011-08-20 01:24:32 UTC
(In reply to comment #11)
> Just had another one of those. Used evolution 3.1.5, a version just updated via
> apt-get upgrade on ubuntu oneiric:
> 
> (gdb) bt
> 

Now I do have a scenario to repeat it, and it is not connected to searching. Just open the tasks, click on the first line in the summary list: "Click here to add a task", click on a different item in the summary list, click again into the first line to add a task, and the crash occurs.
Comment 13 Milan Crha 2011-09-13 15:47:51 UTC
Created attachment 196398 [details] [review]
proposed evo patch

for evolution;

This seems to "fix" this for me. Mine steps are similar to yours:
a) click in "Click to add"
b) click again under the Summary header, to get blinking cursor
c) press Enter - cursor is gone, but the field under summary is still visible
d) repeat b) & c)

There are critical warnings on the console now.

I wrote fix in quotes above, because the whole concept of a11y in ETable is kinda strange. For example, it uses g_object_run_dispose, which might not be used (I think I added it when I was replacing some other deprecated function), but, when is g_object_unref used, then the Evolution crashes almost instantly. Thus this change.

Please give it a try and let me know whether it helped you too. Thanks in advance.
Comment 14 Akhil Laddha 2011-09-20 10:48:33 UTC
This patch fixes the crash for me in master.
Comment 15 Milan Crha 2011-09-20 12:20:55 UTC
Thanks for testing this. I'm marking the patch accordingly.
Comment 16 Fabio Durán Verdugo 2011-09-23 02:32:38 UTC
*** Bug 659892 has been marked as a duplicate of this bug. ***
Comment 17 Milan Crha 2011-09-26 10:31:39 UTC
Created commit 23f5359 in evo master (3.3.1+)
Created commit 743a04d in evo gnome-3-2 (3.2.1+)