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 598037 - Crash in safe_toggle_activate() at e-source-selector.c
Crash in safe_toggle_activate() at e-source-selector.c
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.28.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 606392 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-10-10 20:45 UTC by Thomas
Modified: 2015-11-09 13:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Thomas 2009-10-10 20:45:53 UTC
Could not reproduce it so far!!

(evolution:5400): calendar-gui-CRITICAL **: ecmt_value_at: assertion `row >= 0 && row < e_table_model_row_count (etm)' failed

(evolution:5400): calendar-gui-CRITICAL **: ecmt_value_at: assertion `row >= 0 && row < e_table_model_row_count (etm)' failed

(evolution:5400): calendar-gui-CRITICAL **: e_cal_model_get_component_at: assertion `row >= 0 && row < priv->objects->len' failed

(evolution:5400): calendar-gui-CRITICAL **: e_cal_model_copy_component_data: assertion `comp_data != NULL' failed

Program received signal SIGSEGV, Segmentation fault.

Thread 3056285520 (LWP 5400)

  • #0 e_cal_menu_target_new_select
    at ../../../../evolution/calendar/gui/e-cal-menu.c line 147
  • #1 tasks_control_sensitize_commands
    at ../../../../evolution/calendar/gui/tasks-control.c line 229
  • #2 selection_changed_cb
    at ../../../../evolution/calendar/gui/tasks-control.c line 254
  • #3 IA__g_cclosure_marshal_VOID__INT
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 216
  • #4 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #5 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #6 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #7 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #8 table_selection_change_cb
    at ../../../../evolution/calendar/gui/e-tasks.c line 183
  • #9 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #10 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #11 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #12 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #13 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #14 et_selection_model_selection_changed
    at ../../../../evolution/widgets/table/e-table.c line 1493
  • #15 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #16 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #17 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #18 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #19 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #20 e_selection_model_selection_changed
    at ../../../../evolution/widgets/misc/e-selection-model.c line 677
  • #21 e_selection_model_array_delete_rows
    at ../../../../evolution/widgets/misc/e-selection-model-array.c line 116
  • #22 model_rows_deleted
    at ../../../../evolution/widgets/table/e-table-selection-model.c line 163
  • #23 e_marshal_VOID__INT_INT
    at e-marshal.c line 1168
  • #24 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #25 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #26 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #27 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #28 e_table_model_rows_deleted
    at ../../../../evolution/widgets/table/e-table-model.c line 584
  • #29 e_table_model_row_deleted
    at ../../../../evolution/widgets/table/e-table-model.c line 601
  • #30 remove_client_objects
    at ../../../../evolution/calendar/gui/e-cal-model.c line 2005
  • #31 remove_client
    at ../../../../evolution/calendar/gui/e-cal-model.c line 2021
  • #32 e_cal_model_remove_client
    at ../../../../evolution/calendar/gui/e-cal-model.c line 2057
  • #33 e_tasks_remove_todo_source
    at ../../../../evolution/calendar/gui/e-tasks.c line 1224
  • #34 update_uris_for_selection
    at ../../../../evolution/calendar/gui/tasks-component.c line 265
  • #35 source_selection_changed_cb
    at ../../../../evolution/calendar/gui/tasks-component.c line 523
  • #36 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #37 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #38 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #39 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #40 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #41 cell_toggled_callback
    at ../../../evolution-data-server/libedataserverui/e-source-selector.c line 656
  • #42 IA__g_cclosure_marshal_VOID__STRING
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 496
  • #43 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #44 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #45 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #46 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #47 gtk_cell_renderer_toggle_activate
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkcellrenderertoggle.c line 407
  • #48 safe_toggle_activate
    at ../../../evolution-data-server/libedataserverui/e-source-selector.c line 112
  • #49 IA__gtk_cell_renderer_activate
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkcellrenderer.c line 621
  • #50 gtk_tree_view_column_cell_process_action
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtktreeviewcolumn.c line 2879
  • #51 _gtk_tree_view_column_cell_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtktreeviewcolumn.c line 3156
  • #52 gtk_tree_view_button_press
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtktreeview.c line 2684
  • #53 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmarshalers.c line 84
  • #54 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 878
  • #55 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #56 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3285
  • #57 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2990
  • #58 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #59 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkwidget.c line 4761
  • #60 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c line 2396
  • #61 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c line 1586
  • #62 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.16.1/gdk/x11/gdkevents-x11.c line 2364
  • #63 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 1814
  • #64 g_main_context_iterate
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 2448
  • #65 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 2656
  • #66 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #67 main
    at ../../../evolution/shell/main.c line 732

Thread 1 (Thread 0xb62b3750 (LWP 5400))

  • #0 e_cal_menu_target_new_select
    at ../../../../evolution/calendar/gui/e-cal-menu.c line 147
  • #1 tasks_control_sensitize_commands
    at ../../../../evolution/calendar/gui/tasks-control.c line 229
  • #2 selection_changed_cb
    at ../../../../evolution/calendar/gui/tasks-control.c line 254
  • #3 IA__g_cclosure_marshal_VOID__INT
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 216
  • #4 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #5 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #6 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #7 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #8 table_selection_change_cb
    at ../../../../evolution/calendar/gui/e-tasks.c line 183
  • #9 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #10 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #11 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #12 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #13 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #14 et_selection_model_selection_changed
    at ../../../../evolution/widgets/table/e-table.c line 1493
  • #15 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #16 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #17 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #18 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #19 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #20 e_selection_model_selection_changed
    at ../../../../evolution/widgets/misc/e-selection-model.c line 677
  • #21 e_selection_model_array_delete_rows
    at ../../../../evolution/widgets/misc/e-selection-model-array.c line 116
  • #22 model_rows_deleted
    at ../../../../evolution/widgets/table/e-table-selection-model.c line 163
  • #23 e_marshal_VOID__INT_INT
    at e-marshal.c line 1168
  • #24 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #25 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #26 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #27 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #28 e_table_model_rows_deleted
    at ../../../../evolution/widgets/table/e-table-model.c line 584
  • #29 e_table_model_row_deleted
    at ../../../../evolution/widgets/table/e-table-model.c line 601
  • #30 remove_client_objects
    at ../../../../evolution/calendar/gui/e-cal-model.c line 2005
  • #31 remove_client
    at ../../../../evolution/calendar/gui/e-cal-model.c line 2021
  • #32 e_cal_model_remove_client
    at ../../../../evolution/calendar/gui/e-cal-model.c line 2057
  • #33 e_tasks_remove_todo_source
    at ../../../../evolution/calendar/gui/e-tasks.c line 1224
  • #34 update_uris_for_selection
    at ../../../../evolution/calendar/gui/tasks-component.c line 265
  • #35 source_selection_changed_cb
    at ../../../../evolution/calendar/gui/tasks-component.c line 523
  • #36 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #37 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #38 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #39 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #40 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #41 cell_toggled_callback
    at ../../../evolution-data-server/libedataserverui/e-source-selector.c line 656
  • #42 IA__g_cclosure_marshal_VOID__STRING
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 496
  • #43 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #44 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #45 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #46 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #47 gtk_cell_renderer_toggle_activate
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkcellrenderertoggle.c line 407
  • #48 safe_toggle_activate
    at ../../../evolution-data-server/libedataserverui/e-source-selector.c line 112
  • #49 IA__gtk_cell_renderer_activate
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkcellrenderer.c line 621
  • #50 gtk_tree_view_column_cell_process_action
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtktreeviewcolumn.c line 2879
  • #51 _gtk_tree_view_column_cell_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtktreeviewcolumn.c line 3156
  • #52 gtk_tree_view_button_press
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtktreeview.c line 2684
  • #53 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmarshalers.c line 84
  • #54 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 878
  • #55 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #56 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3285
  • #57 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2990
  • #58 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #59 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkwidget.c line 4761
  • #60 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c line 2396
  • #61 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c line 1586
  • #62 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.16.1/gdk/x11/gdkevents-x11.c line 2364
  • #63 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 1814
  • #64 g_main_context_iterate
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 2448
  • #65 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 2656
  • #66 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #67 main
    at ../../../evolution/shell/main.c line 732

Comment 1 Akhil Laddha 2009-10-12 04:10:11 UTC
looks dupe of bug 544187 which was fixed in earlier version
Comment 2 Akhil Laddha 2010-01-08 10:58:02 UTC
*** Bug 606392 has been marked as a duplicate of this bug. ***
Comment 3 Thomas 2010-08-07 20:58:45 UTC
Today, I had another crash with evolution 2.28.4 with private patches on ubuntu
karmic with above assertions. Maybe, still of interest. Here is the
stack trace:

(evolution:3848): calendar-gui-CRITICAL **: e_cal_model_get_component_at: assertion `row >= 0 && row < priv->objects->len' failed

(evolution:3848): calendar-gui-CRITICAL **: ecmt_value_at: assertion `row >= 0 && row < e_table_model_row_count (etm)' failed


(gdb) bt
  • #0 e_table_model_value_at
    at ../../../../evolution/widgets/table/e-table-model.c line 125
  • #1 build_attr_list
    at ../../../../evolution/widgets/table/e-cell-text.c line 466
  • #2 build_layout
    at ../../../../evolution/widgets/table/e-cell-text.c line 570
  • #3 generate_layout
    at ../../../../evolution/widgets/table/e-cell-text.c line 647
  • #4 ect_draw
    at ../../../../evolution/widgets/table/e-cell-text.c line 779
  • #5 e_cell_draw
    at ../../../../evolution/widgets/table/e-cell.c line 275
  • #6 ecp_draw
    at ../../../../evolution/widgets/table/e-cell-popup.c line 308
  • #7 e_cell_draw
    at ../../../../evolution/widgets/table/e-cell.c line 275
  • #8 eti_draw
    at ../../../../evolution/widgets/table/e-table-item.c line 2041
  • #9 gnome_canvas_group_draw
    at gnome-canvas.c line 1676
  • #10 gnome_canvas_group_draw
    at gnome-canvas.c line 1676
  • #11 gnome_canvas_group_draw
    at gnome-canvas.c line 1676
  • #12 gnome_canvas_group_draw
    at gnome-canvas.c line 1676
  • #13 gnome_canvas_paint_rect
    at gnome-canvas.c line 2996
  • #14 gnome_canvas_expose
    at gnome-canvas.c line 3051
  • #15 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmarshalers.c line 84
  • #16 g_type_class_meta_marshal
    at /home/tom/src/glib2.0-2.22.3/gobject/gclosure.c line 878
  • #17 IA__g_closure_invoke
    at /home/tom/src/glib2.0-2.22.3/gobject/gclosure.c line 767
  • #18 signal_emit_unlocked_R
    at /home/tom/src/glib2.0-2.22.3/gobject/gsignal.c line 3285
  • #19 IA__g_signal_emit_valist
    at /home/tom/src/glib2.0-2.22.3/gobject/gsignal.c line 2990
  • #20 IA__g_signal_emit
    at /home/tom/src/glib2.0-2.22.3/gobject/gsignal.c line 3037
  • #21 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c line 4767
  • #22 paint
    at gnome-canvas.c line 3128
  • #23 do_update
    at gnome-canvas.c line 3194
  • #24 idle_handler
    at gnome-canvas.c line 3207
  • #25 g_idle_dispatch
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 4065
  • #26 g_main_dispatch
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 1960
  • #27 IA__g_main_context_dispatch
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 2513
  • #28 g_main_context_iterate
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 2591
  • #29 IA__g_main_loop_run
    at /home/tom/src/glib2.0-2.22.3/glib/gmain.c line 2799
  • #30 bonobo_main
    at bonobo-main.c line 311
  • #31 main
    at ../../../evolution/shell/main.c line 732
  • #1 build_attr_list
    at ../../../../evolution/widgets/table/e-cell-text.c line 466
  • #0 e_table_model_value_at
    at ../../../../evolution/widgets/table/e-table-model.c line 125
$3 = (ETableModel *) 0x84ddfd0
Comment 4 Matthew Barnes 2013-08-23 18:22:12 UTC
Closing as OBSOLETE since the stack traces are too old to be useful now.
Comment 5 Milan Crha 2015-11-09 13:17:41 UTC
Reopening, there's a downstream bug report about the same from 3.16.5:
https://bugzilla.redhat.com/show_bug.cgi?id=1279068

I can reproduce this with the current development version too. Steps:
a) click with a mouse to select/deselect one of the calendars
b) move the selection with arrow keys
c) press spacebar to select/deselect the calendar for the view

Evolution crashes with this backtrace:

Thread 1 (Thread 0x7fee00eb7ac0 (LWP 15373))

  • #0 waitpid
  • #1 do_system
  • #2 bugbuddy_segv_handle
    at gnome-segvhanlder.c line 180
  • #3 <signal handler called>
  • #4 safe_toggle_activate
  • #5 gtk_cell_area_activate_cell
  • #6 gtk_cell_area_real_activate
  • #7 gtk_tree_view_start_editing
  • #8 gtk_tree_view_real_select_cursor_row
  • #9 _gtk_marshal_BOOLEAN__BOOLEAN

Comment 6 Milan Crha 2015-11-09 13:24:33 UTC
The problem is that the passed-in parameter 'event' is NULL when the keyboard is used. Checking for that case fixes the crash.

Created commit 3391f4a in evo master (3.19.2+)
Created commit fe690cb in evo gnome-3-18 (3.18.3+)