Random crashes when selecting icons
Issue Description
Xfdesktop 4.20 crashes every once in a while when I switch to another "free" workspace (i.e. with no or only minimized windows) and then select one of the icons (with mouse or keyboard, does not matter). It doesn't have to be the first selected icon though, for example I once skipped through four icons in quick succession using an arrow key and only then it crashed.
Maybe related to #392, which also crashes in gtk_tree_row_reference_get_path()
.
Edit:
There seems to be another crash mechanism that (I think) occurs in the same way as described above but actually crashes in cairo_region_is_empty()
instead, see #410 (comment 105503).
Steps to Reproduce Issue
This can't be reliably reproduced, happens maybe every other week, seemingly randomly.
Expected Behavior
No crash.
Additional Information
Didn't find anything in the logs.
Backtrace:
Core was generated by `/usr/bin/xfdesktop'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 gtk_tree_row_reference_get_path (reference=0x726573776f7262) at ../gtk/gtk/gtktreemodel.c:2425
2425 if (reference->proxy == NULL)
#1 0x000059fda33bcb50 in view_item_get_path (item=<optimized out>, model=<optimized out>)
at /usr/src/debug/xfdesktop/xfdesktop/src/xfdesktop-icon-view.c:235
#2 xfdesktop_icon_view_get_selected_items (icon_view=0x59fdcd56dc40)
at /usr/src/debug/xfdesktop/xfdesktop/src/xfdesktop-icon-view.c:4708
#3 0x000059fda33f03e2 in xfdesktop_file_icon_manager_get_selected_icons.isra.0 (icon_view=0x59fdcd56dc40, fmanager=<optimized out>)
at /usr/src/debug/xfdesktop/xfdesktop/src/xfdesktop-file-icon-manager.c:2377
#4 0x000059fda33d3ab4 in xfdesktop_file_icon_manager_activate_selected (mdata=0x59fdcd7d97e0)
at /usr/src/debug/xfdesktop/xfdesktop/src/xfdesktop-file-icon-manager.c:3705
#5 0x000079ffca4b260e in _gtk_marshal_BOOLEAN__OBJECT_UINT_FLAGS (n_param_values=<optimized out>, invocation_hint=<optimized out>,
closure=0x59fdcd7fdc40, return_value=0x7fffd3b896c0, param_values=0x7fffd3b89750, marshal_data=<optimized out>)
at gtk/gtkmarshalers.c:727
#6 _gtk_marshal_BOOLEAN__OBJECT_UINT_FLAGS (closure=0x59fdcd7fdc40, return_value=0x7fffd3b896c0, n_param_values=<optimized out>,
param_values=0x7fffd3b89750, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk/gtkmarshalers.c:695
#7 0x000079ffc9ea5812 in g_closure_invoke (closure=0x59fdcd7fdc40, return_value=0x7fffd3b896c0, n_param_values=4,
param_values=0x7fffd3b89750, invocation_hint=0x7fffd3b896a0) at ../glib/gobject/gclosure.c:833
#8 0x000079ffc9ed5f85 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fffd3b89890, detail=detail@entry=1438,
instance=instance@entry=0x59fdcd6e5c30, emission_return=emission_return@entry=0x7fffd3b89910,
instance_and_params=instance_and_params@entry=0x7fffd3b89750) at ../glib/gobject/gsignal.c:3902
#9 0x000079ffc9ec648f in signal_emit_valist_unlocked (instance=instance@entry=0x59fdcd6e5c30, signal_id=signal_id@entry=238,
detail=detail@entry=1438, var_args=var_args@entry=0x7fffd3b89a00) at ../glib/gobject/gsignal.c:3547
#10 0x000079ffc9ec6f72 in g_signal_emit_valist (instance=0x59fdcd6e5c30, signal_id=238, detail=1438,
var_args=var_args@entry=0x7fffd3b89a00) at ../glib/gobject/gsignal.c:3277
#11 0x000079ffc9ec7034 in g_signal_emit (instance=instance@entry=0x59fdcd6e5c30, signal_id=<optimized out>, detail=detail@entry=1438)
at ../glib/gobject/gsignal.c:3597
#12 0x000079ffca4c354c in gtk_accel_group_activate (accel_group=0x59fdcd6e5c30, accel_quark=accel_quark@entry=1438,
acceleratable=acceleratable@entry=0x59fdcdb398d0, accel_key=accel_key@entry=65293, accel_mods=accel_mods@entry=0)
at ../gtk/gtk/gtkaccelgroup.c:910
#13 0x000079ffca4c49de in gtk_accel_groups_activate (object=0x59fdcdb398d0, accel_key=65293, accel_mods=0)
at ../gtk/gtk/gtkaccelgroup.c:948
#14 0x000079ffca7acab4 in gtk_window_activate_key (window=window@entry=0x59fdcdb398d0, event=event@entry=0x59fdcdabf0b0)
at ../gtk/gtk/gtkwindow.c:12097
#15 0x000079ffca7acf27 in gtk_window_key_press_event (widget=0x59fdcdb398d0, event=0x59fdcdabf0b0) at ../gtk/gtk/gtkwindow.c:8288
#16 0x000079ffca4b39aa in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x59fdcd9234e0, return_value=0x7fffd3b89e00,
instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>,
param_types=0x59fdcd583800) at gtk/gtkmarshalers.c:130
#17 0x000079ffc9ec6e5c in _g_closure_invoke_va (closure=0x59fdcd9234e0, return_value=0x7fffd3b89e00, instance=0x59fdcdb398d0,
args=0x7fffd3b89ef0, n_params=1, param_types=0x59fdcd583800) at ../glib/gobject/gclosure.c:896
#18 signal_emit_valist_unlocked (instance=instance@entry=0x59fdcdb398d0, signal_id=signal_id@entry=90, detail=detail@entry=0,
var_args=var_args@entry=0x7fffd3b89ef0) at ../glib/gobject/gsignal.c:3438
#19 0x000079ffc9ec6f72 in g_signal_emit_valist (instance=0x59fdcdb398d0, signal_id=90, detail=0,
var_args=var_args@entry=0x7fffd3b89ef0) at ../glib/gobject/gsignal.c:3277
#20 0x000079ffc9ec7034 in g_signal_emit (instance=instance@entry=0x59fdcdb398d0, signal_id=<optimized out>, detail=detail@entry=0)
at ../glib/gobject/gsignal.c:3597
#21 0x000079ffca79a8ed in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x59fdcdb398d0, event=0x59fdcdabf0b0)
at ../gtk/gtk/gtkwidget.c:7822
#22 0x000079ffca626aba in propagate_event (widget=widget@entry=0x59fdcdb398d0, event=event@entry=0x59fdcdabf0b0,
captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtk/gtkmain.c:2681
#23 0x000079ffca626b31 in gtk_propagate_event (widget=0x59fdcdb398d0, event=0x59fdcdabf0b0) at ../gtk/gtk/gtkmain.c:2725
#24 0x000079ffca6277bb in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1921
#25 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
#26 0x000079ffcaab9457 in _gdk_event_emit (event=0x59fdcdabf0b0) at ../gtk/gdk/gdkevents.c:73
#27 _gdk_event_emit (event=0x59fdcdabf0b0) at ../gtk/gdk/gdkevents.c:67
#28 0x000079ffcab17fe0 in gdk_event_source_dispatch.lto_priv () at ../gtk/gdk/x11/gdkeventsource.c:354
#29 0x000079ffc9d9a1e4 in g_main_dispatch (context=0x59fdcd507c70) at ../glib/glib/gmain.c:3398
#30 0x000079ffc9dfde97 in g_main_context_dispatch_unlocked (context=0x59fdcd507c70) at ../glib/glib/gmain.c:4249
#31 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x59fdcd507c70, block=block@entry=1, dispatch=dispatch@entry=1,
self=<optimized out>) at ../glib/glib/gmain.c:4314
#32 0x000079ffc9d99615 in g_main_context_iteration (context=context@entry=0x59fdcd507c70, may_block=may_block@entry=1)
at ../glib/glib/gmain.c:4379
#33 0x000079ffc9fd27d6 in g_application_run (application=application@entry=0x59fdcd53bf60, argc=<optimized out>,
argv=<optimized out>) at ../glib/gio/gapplication.c:2715
#34 0x000059fda33a7099 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/xfdesktop/xfdesktop/src/main.c:71
Environment & Versions
- OS distribution and version: Arch Linux
- Overall Xfce version: 4.20
- xfdesktop version (git hash if not a release): 4.20.1 (Arch package version: 4.20.1-1)
- Windowing system (X11/Wayland): X11
- Compositor and version (if Wayland):
- GTK Theme: Breeze
- Icon Theme: Breeze
- UI Scale Factor: 1