Skip to content

Crash when rearranging icons after upgrade to 4.20

Issue Description

After upgrading to 4.20.0 (from 4.18.1) and a restart I had to fix the desktop icon arrangement. I tried to do this but xfdesktop crashed in that process. In that moment I was either moving around or just dropping one of the icons (don't remember exactly).

Steps to Reproduce Issue

I cannot reproduce this as it only happened once after the first start after the upgrade to 4.20. I did another restart and then could successfully arrange everything. But there is a crash dump anyway, so maybe this is still useful for you.

Expected Behavior

No crash, just move icons as usual...

Additional Information

Log from .xsession-errors:

(xfdesktop:####): Gtk-CRITICAL **: 01:23:45.527: gtk_tree_model_filter_convert_iter_to_child_iter: assertion 'filter_iter->stamp == filter->priv->stamp' failed

** (xfdesktop:####): CRITICAL **: 01:23:45.527: xfdesktop_icon_view_model_get_model_item: assertion 'iter != NULL && iter->stamp == ITER_STAMP' failed

(xfdesktop:####): Gtk-CRITICAL **: 01:23:45.539: gtk_tree_model_filter_convert_iter_to_child_iter: assertion 'filter_iter->stamp == filter->priv->stamp' failed

** (xfdesktop:####): CRITICAL **: 01:23:45.539: xfdesktop_icon_view_model_get_model_item: assertion 'iter != NULL && iter->stamp == ITER_STAMP' failed

Backtrace from crash dump:

Core was generated by `/usr/bin/xfdesktop'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  gtk_tree_row_reference_get_path (reference=0x5e6ee01976d3) at ../gtk/gtk/gtktreemodel.c:2425
2425	  if (reference->proxy == NULL)
[Current thread is 1 (Thread 0x############ (LWP ####))]
(gdb) bt
#0  gtk_tree_row_reference_get_path (reference=0x5e6ee01976d3) at ../gtk/gtk/gtktreemodel.c:2425
#1  0x00005e6ad0224dc4 in ?? ()
#2  0x00005e6ad02443ba in ?? ()
#3  0x00005e6ad0244464 in ?? ()
#4  0x00007e5ae96726f2 in _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT (n_param_values=<optimized out>, 
    invocation_hint=<optimized out>, closure=0x5e6b0659d910, return_value=0x7fffeffdaba0, param_values=0x7fffeffdac30, 
    marshal_data=<optimized out>) at gtk/gtkmarshalers.c:827
#5  _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT (closure=0x5e6b0659d910, return_value=0x7fffeffdaba0, n_param_values=<optimized out>, 
    param_values=0x7fffeffdac30, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk/gtkmarshalers.c:794
#6  0x00007e5ae924082a in g_closure_invoke (closure=0x5e6b0659d910, return_value=0x7fffeffdaba0, n_param_values=5, 
    param_values=0x7fffeffdac30, invocation_hint=0x7fffeffdab80) at ../glib/gobject/gclosure.c:833
#7  0x00007e5ae9271565 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fffeffdad80, detail=detail@entry=0, 
    instance=instance@entry=0x5e6b06a3f3d0, emission_return=emission_return@entry=0x7fffeffdae00, 
    instance_and_params=instance_and_params@entry=0x7fffeffdac30) at ../glib/gobject/gsignal.c:3887
#8  0x00007e5ae926144f in signal_emit_valist_unlocked (instance=instance@entry=0x5e6b06a3f3d0, signal_id=signal_id@entry=130, 
    detail=<optimized out>, var_args=var_args@entry=0x7fffeffdaec0) at ../glib/gobject/gsignal.c:3532
#9  0x00007e5ae9262212 in g_signal_emit_by_name (instance=instance@entry=0x5e6b06a3f3d0, 
    detailed_signal=detailed_signal@entry=0x7e5ae9a321ed "drag-motion") at ../glib/gobject/gsignal.c:3623
#10 0x00007e5ae998bc1d in gtk_drag_dest_motion (widget=widget@entry=0x5e6b06a3f3d0, context=context@entry=0x5e6b0648f760, x=80, 
    y=133, time=time@entry=445308) at ../gtk/gtk/gtkdnd.c:1572
#11 0x00007e5ae97e7ea0 in gtk_drag_find_widget (widget=0x5e6b06a3f3d0, context=0x5e6b0648f760, info=0x5e6b06f64140, 
    x=<optimized out>, y=133, time=445308, callback=0x7e5ae998bae0 <gtk_drag_dest_motion>) at ../gtk/gtk/gtkdnd.c:1270
#12 _gtk_drag_dest_handle_event (toplevel=<optimized out>, event=0x5e6b0653abb0) at ../gtk/gtk/gtkdnd.c:1091
#13 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1939
#14 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
#15 0x00007e5ae9e4c457 in _gdk_event_emit (event=0x5e6b0653abb0) at ../gtk/gdk/gdkevents.c:73
#16 _gdk_event_emit (event=0x5e6b0653abb0) at ../gtk/gdk/gdkevents.c:67
#17 0x00007e5ae9ea8b40 in gdk_event_source_dispatch.lto_priv () at ../gtk/gdk/x11/gdkeventsource.c:354
#18 0x00007e5ae913c559 in g_main_dispatch (context=0x5e6b063eedb0) at ../glib/glib/gmain.c:3357
#19 0x00007e5ae919f257 in g_main_context_dispatch_unlocked (context=0x5e6b063eedb0) at ../glib/glib/gmain.c:4208
#20 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5e6b063eedb0, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=<optimized out>) at ../glib/glib/gmain.c:4273
#21 0x00007e5ae913ba55 in g_main_context_iteration (context=context@entry=0x5e6b063eedb0, may_block=may_block@entry=1)
    at ../glib/glib/gmain.c:4338
#22 0x00007e5ae936dcb6 in g_application_run (application=0x5e6b063e23d0, argc=<optimized out>, argv=0x7fffeffdb498)
    at ../glib/gio/gapplication.c:2715
#23 0x00005e6ad0217098 in main ()

Environment & Versions

  • OS distribution and version: Arch Linux
  • Overall Xfce version: 4.20.0
  • xfdesktop version (git hash if not a release): 4.20.0 (Arch package version: 4.20.0-7)
  • Windowing system (X11/Wayland): X11
  • Compositor and version (if Wayland):
  • GTK Theme: Breeze
  • Icon Theme: Breeze
  • UI Scale Factor: 1