Crash in gcal_event_is_multiday
$ gnome-calendar --version
gnome-calendar: Version 3.36.0
Steps to reproduce:
This crash seems to be dependent on the content of my calendar, but it is perfectly reproducible. Every time I navigate to a specific week, gnome-calendar
immediately crashes.
I can probably share the corresponding .ical
if useful to reproduce.
Backtrace
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f85f1d530f0 in g_type_check_instance_is_a (type_instance=type_instance@entry=0x55900e8a41e0, iface_type=<optimised out>) at ../../../gobject/gtype.c:4016
4016 ../../../gobject/gtype.c: No such file or directory.
[Current thread is 1 (Thread 0x7f85e800b200 (LWP 114391))]
(gdb) bt
#0 0x00007f85f1d530f0 in g_type_check_instance_is_a (type_instance=type_instance@entry=0x55900e8a41e0, iface_type=<optimised out>) at ../../../gobject/gtype.c:4016
#1 0x000055900c26bf0b in GCAL_IS_EVENT (ptr=0x55900e8a41e0) at ../src/core/gcal-event.h:47
#2 gcal_event_is_multiday (self=self@entry=0x55900e8a41e0) at ../src/core/gcal-event.c:1484
#3 0x000055900c2850cd in compare_events_by_length (event1=event1@entry=0x55900f86f0a0 [GcalEvent], event2=0x55900e8a41e0) at ../src/views/gcal-week-header.c:400
#4 0x00007f85f1c38f98 in g_list_insert_sorted_real
(list=0x55900ea41d00 = {...}, data=data@entry=0x55900f86f0a0, func=func@entry=0x55900c2850b0 <compare_events_by_length>, user_data=user_data@entry=0x0) at ../../../glib/glist.c:1109
#5 0x00007f85f1c39bdb in g_list_insert_sorted (list=<optimised out>, data=data@entry=0x55900f86f0a0, func=func@entry=0x55900c2850b0 <compare_events_by_length>)
at ../../../glib/glist.c:1166
#6 0x000055900c287c6d in add_event_to_weekday (weekday=-7, event=0x55900f86f0a0 [GcalEvent], self=0x55900ea741c0 [GcalWeekHeader]) at ../src/views/gcal-week-header.c:415
#7 add_event_to_grid (end=6, start=-7, event=0x55900f86f0a0 [GcalEvent], self=0x55900ea741c0 [GcalWeekHeader]) at ../src/views/gcal-week-header.c:794
#8 gcal_week_header_add_event (self=0x55900ea741c0 [GcalWeekHeader], event=0x55900f86f0a0 [GcalEvent]) at ../src/views/gcal-week-header.c:1797
#9 0x000055900c2889ee in update_unchanged_events (new_date=<optimised out>, self=0x55900ea741c0 [GcalWeekHeader]) at ../src/views/gcal-week-header.c:956
#10 gcal_week_header_set_date (self=0x55900ea741c0 [GcalWeekHeader], date=<optimised out>) at ../src/views/gcal-week-header.c:1928
#11 0x000055900c25fbdc in gcal_week_view_set_date (view=<optimised out>, date=0x55900daabd20) at ../src/views/gcal-week-header.h:33
#12 0x000055900c253ca8 in update_active_date (window=window@entry=0x55900f5e32a0 [GcalWindow], new_date=new_date@entry=0x55900daabd20) at ../src/gui/gcal-window.c:254
#13 0x000055900c254995 in on_window_next_date_activated_cb (action=<optimised out>, param=<optimised out>, user_data=<optimised out>) at ../src/gui/gcal-window.c:357
#17 0x00007f85f1d4b0d3 in <emit signal ??? on instance 0x55900e019d40 [GSimpleAction]> (instance=instance@entry=0x55900e019d40, signal_id=<optimised out>, detail=detail@entry=0)
at ../../../gobject/gsignal.c:3554
#14 0x00007f85f1d2b802 in g_closure_invoke (closure=0x55900e19afa0, return_value=0x0, n_param_values=2, param_values=0x7ffd8a77f210, invocation_hint=0x7ffd8a77f190)
at ../../../gobject/gclosure.c:810
#15 0x00007f85f1d3f814 in signal_emit_unlocked_R
(node=node@entry=0x7f85dc00a860, detail=detail@entry=0, instance=instance@entry=0x55900e019d40, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd8a77f210) at ../../../gobject/gsignal.c:3742
#16 0x00007f85f1d4ab9e in g_signal_emit_valist (instance=<optimised out>, signal_id=<optimised out>, detail=<optimised out>, var_args=var_args@entry=0x7ffd8a77f3e0)
at ../../../gobject/gsignal.c:3498
#18 0x00007f85f1e62e25 in g_simple_action_activate (action=0x55900e019d40, parameter=0x0) at ../../../gio/gsimpleaction.c:225
#19 0x00007f85f2474932 in gtk_action_muxer_activate_action (action_group=0x55900f915b80, action_name=0x559010b76c70 "win.next-date", parameter=0x0) at ../../../../gtk/gtkactionmuxer.c:413
#20 0x00007f85f2474964 in gtk_action_muxer_activate_action (parameter=0x0, action_name=0x559010b76c70 "win.next-date", action_group=0x559010d20780) at ../../../../gtk/gtkactionmuxer.c:415
#21 gtk_action_muxer_activate_action (action_group=0x559010d20780, action_name=0x559010b76c70 "win.next-date", parameter=0x0) at ../../../../gtk/gtkactionmuxer.c:402
#22 0x00007f85f2474964 in gtk_action_muxer_activate_action (parameter=0x0, action_name=0x559010b76c70 "win.next-date", action_group=0x559010bc5740) at ../../../../gtk/gtkactionmuxer.c:415
#23 gtk_action_muxer_activate_action (action_group=0x559010bc5740, action_name=0x559010b76c70 "win.next-date", parameter=0x0) at ../../../../gtk/gtkactionmuxer.c:402
#24 0x00007f85f2474964 in gtk_action_muxer_activate_action (parameter=0x0, action_name=0x559010b76c70 "win.next-date", action_group=0x5590105f5480) at ../../../../gtk/gtkactionmuxer.c:415
#25 gtk_action_muxer_activate_action (action_group=0x5590105f5480, action_name=0x559010b76c70 "win.next-date", parameter=0x0) at ../../../../gtk/gtkactionmuxer.c:402
#26 0x00007f85f24a9227 in gtk_real_button_clicked (button=<optimised out>) at ../../../../gtk/gtkbutton.c:1975
#27 0x00007f85f1d2ba56 in _g_closure_invoke_va (closure=0x559010b21740, return_value=0x0, instance=0x55900e9e6340, args=0x7ffd8a77f7d0, n_params=0, param_types=0x0)
at ../../../gobject/gclosure.c:873
#28 0x00007f85f1d4ab28 in g_signal_emit_valist (instance=0x55900e9e6340, signal_id=<optimised out>, detail=0, var_args=var_args@entry=0x7ffd8a77f7d0) at ../../../gobject/gsignal.c:3407
#29 0x00007f85f1d4b0d3 in g_signal_emit (instance=<optimised out>, signal_id=<optimised out>, detail=<optimised out>) at ../../../gobject/gsignal.c:3554
#30 0x00007f85f24ab2ae in gtk_button_do_release (emit_clicked=<optimised out>, button=0x55900e9e6340 [GtkButton]) at ../../../../gtk/gtkbutton.c:1845
#31 gtk_button_do_release (button=0x55900e9e6340 [GtkButton], emit_clicked=<optimised out>) at ../../../../gtk/gtkbutton.c:1832
#32 0x00007f85f24ab318 in gtk_real_button_released (button=0x55900e9e6340 [GtkButton]) at ../../../../gtk/gtkbutton.c:1963
#36 0x00007f85f1d4b0d3 in <emit signal ??? on instance 0x55900e9e6340 [GtkButton]> (instance=instance@entry=0x55900e9e6340, signal_id=<optimised out>, detail=detail@entry=0)
at ../../../gobject/gsignal.c:3554
#33 0x00007f85f1d2b802 in g_closure_invoke (closure=0x55900d9b8670, return_value=0x0, n_param_values=1, param_values=0x7ffd8a77fae0, invocation_hint=0x7ffd8a77fa60)
at ../../../gobject/gclosure.c:810
#34 0x00007f85f1d3f962 in signal_emit_unlocked_R
(node=node@entry=0x55900d996d80, detail=detail@entry=0, instance=instance@entry=0x55900e9e6340, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd8a77fae0) at ../../../gobject/gsignal.c:3672
#35 0x00007f85f1d4ab9e in g_signal_emit_valist (instance=<optimised out>, signal_id=<optimised out>, detail=<optimised out>, var_args=var_args@entry=0x7ffd8a77fc90)
at ../../../gobject/gsignal.c:3498
#37 0x00007f85f24a9754 in multipress_released_cb
(gesture=0x55900ea14260 [GtkGestureMultiPress], n_press=<optimised out>, x=<optimised out>, y=<optimised out>, widget=0x55900e9e6340 [GtkButton]) at ../../../../gtk/gtkbutton.c:666
#38 0x00007f85f275a661 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
(closure=<optimised out>, return_value=<optimised out>, instance=<optimised out>, args=<optimised out>, marshal_data=<optimised out>, n_params=<optimised out>, param_types=0x55900e8a8a30) at gtkmarshalers.c:4803
#39 0x00007f85f1d2ba56 in _g_closure_invoke_va (closure=0x55901107d180, return_value=0x0, instance=0x55900ea14260, args=0x7ffd8a77ffe0, n_params=3, param_types=0x55900e8a8a30) at ../../../gobject/gclosure.c:873
#40 0x00007f85f1d4ab28 in g_signal_emit_valist (instance=0x55900ea14260, signal_id=<optimised out>, detail=0, var_args=var_args@entry=0x7ffd8a77ffe0) at ../../../gobject/gsignal.c:3407
#41 0x00007f85f1d4b0d3 in g_signal_emit (instance=instance@entry=0x55900ea14260, signal_id=<optimised out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3554
#42 0x00007f85f2571f1c in gtk_gesture_multi_press_end (gesture=gesture@entry=0x55900ea14260 [GtkGestureMultiPress], sequence=sequence@entry=0x0) at ../../../../gtk/gtkgesturemultipress.c:287
#43 0x00007f85f1d2ec56 in g_cclosure_marshal_VOID__BOXEDv (closure=0x55900e8aaee0, return_value=<optimised out>, instance=<optimised out>, args=<optimised out>, marshal_data=<optimised out>, n_params=<optimised out>, param_types=0x55900e8aaf10) at ../../../gobject/gmarshal.c:1686
#44 0x00007f85f1d2ba56 in _g_closure_invoke_va (closure=0x55900e8aaee0, return_value=0x0, instance=0x55900ea14260, args=0x7ffd8a780390, n_params=1, param_types=0x55900e8aaf10) at ../../../gobject/gclosure.c:873
#45 0x00007f85f1d4ab28 in g_signal_emit_valist (instance=0x55900ea14260, signal_id=<optimised out>, detail=0, var_args=var_args@entry=0x7ffd8a780390) at ../../../gobject/gsignal.c:3407
#46 0x00007f85f1d4b0d3 in g_signal_emit (instance=instance@entry=0x55900ea14260, signal_id=<optimised out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3554
#47 0x00007f85f256ef62 in _gtk_gesture_set_recognized (sequence=0x0, recognized=0, gesture=0x55900ea14260 [GtkGestureMultiPress]) at ../../../../gtk/gtkgesture.c:346
#48 _gtk_gesture_check_recognized (gesture=gesture@entry=0x55900ea14260 [GtkGestureMultiPress], sequence=sequence@entry=0x0) at ../../../../gtk/gtkgesture.c:387
#49 0x00007f85f25705ab in gtk_gesture_handle_event (event=0x55900e39cb20, controller=0x55900ea14260 [GtkGestureMultiPress]) at ../../../../gtk/gtkgesture.c:815
#50 gtk_gesture_handle_event (controller=0x55900ea14260 [GtkGestureMultiPress], event=0x55900e39cb20) at ../../../../gtk/gtkgesture.c:713
#51 0x00007f85f2573596 in gtk_gesture_single_handle_event (controller=0x55900ea14260 [GtkGestureMultiPress], event=0x55900e39cb20) at ../../../../gtk/gtkgesturesingle.c:222
#52 0x00007f85f253abd0 in gtk_event_controller_handle_event (controller=0x55900ea14260 [GtkGestureMultiPress], event=event@entry=0x55900e39cb20) at ../../../../gtk/gtkeventcontroller.c:230
#53 0x00007f85f26fcced in _gtk_widget_run_controllers (widget=0x55900e9e6340 [GtkButton], event=0x55900e39cb20, phase=GTK_PHASE_BUBBLE) at ../../../../gtk/gtkwidget.c:7443
#54 0x00007f85f275416f in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x55900d8231f0, return_value=0x7ffd8a780730, instance=<optimised out>, args=<optimised out>, marshal_data=<optimised out>, n_params=<optimised out>, param_types=0x55900d823220) at gtkmarshalers.c:129
#55 0x00007f85f1d2ba56 in _g_closure_invoke_va (closure=0x55900d8231f0, return_value=0x7ffd8a780730, instance=0x55900e9e6340, args=0x7ffd8a780800, n_params=1, param_types=0x55900d823220) at ../../../gobject/gclosure.c:873
#56 0x00007f85f1d49dd1 in g_signal_emit_valist (instance=0x55900e9e6340, signal_id=<optimised out>, detail=<optimised out>, var_args=var_args@entry=0x7ffd8a780800) at ../../../gobject/gsignal.c:3407
#57 0x00007f85f1d4b0d3 in g_signal_emit (instance=instance@entry=0x55900e9e6340, signal_id=<optimised out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3554
#58 0x00007f85f26fe7a3 in gtk_widget_event_internal (event=0x55900e39cb20, widget=0x55900e9e6340 [GtkButton]) at ../../../../gtk/gtkwidget.c:7808
#59 gtk_widget_event_internal (widget=0x55900e9e6340 [GtkButton], event=0x55900e39cb20) at ../../../../gtk/gtkwidget.c:7677
#60 0x00007f85f25b9fe8 in propagate_event_up (topmost=<optimised out>, event=<optimised out>, widget=0x55900e9e6340 [GtkButton]) at ../../../../gtk/gtkmain.c:2594
#61 propagate_event (widget=<optimised out>, event=0x55900e39cb20, captured=<optimised out>, topmost=0x0) at ../../../../gtk/gtkmain.c:2697
#62 0x00007f85f25bc29b in gtk_main_do_event (event=0x55900e39cb20) at ../../../../gtk/gtkmain.c:1917
#63 gtk_main_do_event (event=<optimised out>) at ../../../../gtk/gtkmain.c:1687
#64 0x00007f85f22a4f79 in _gdk_event_emit (event=event@entry=0x55900e39cb20) at ../../../../gdk/gdkevents.c:73
#65 0x00007f85f22d80f6 in gdk_event_source_dispatch (source=<optimised out>, callback=<optimised out>, user_data=<optimised out>) at ../../../../../gdk/x11/gdkeventsource.c:367
#66 0x00007f85f1c3dfbd in g_main_dispatch (context=0x55900d781bf0) at ../../../glib/gmain.c:3309
#67 g_main_context_dispatch (context=context@entry=0x55900d781bf0) at ../../../glib/gmain.c:3974
#68 0x00007f85f1c3e240 in g_main_context_iterate (context=context@entry=0x55900d781bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimised out>) at ../../../glib/gmain.c:4047
#69 0x00007f85f1c3e2e3 in g_main_context_iteration (context=context@entry=0x55900d781bf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#70 0x00007f85f1e59f05 in g_application_run (application=0x55900d76d1e0 [GcalApplication], argc=<optimised out>, argv=<optimised out>) at ../../../gio/gapplication.c:2559
#71 0x000055900c2506d2 in main (argc=2, argv=0x7ffd8a780c78) at ../src/main.c:39
Edited by Jeff Fortin