Skip to content

wayland: Critical warning at session startup in xfdesktop_icon_view_holder_new

Issue Description

When starting a wayland session from a tty with startxfce4 --wayland, xfdesktop can print the critical warning reported below with a backtrace. It isn't reproducible reliably.

Steps to Reproduce Issue

  1. Start a wayland session from a tty with startxfce4 --wayland

Expected Behavior

No critical warning.

Additional Information

xfdesktop_icon_view_holder_new: assertion 'XFCE_IS_DESKTOP(desktop)' failed

Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0  _g_log_abort (breakpoint=<optimized out>) at ../glib/glib/gmessages.c:431
431	    G_BREAKPOINT ();
[Current thread is 1 (Thread 0x7a30ff414640 (LWP 39347))]
Function(s) ^std::(move|forward|as_const|(__)?addressof) will be skipped when stepping.
Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?(begin|end)|front|back|data|size|empty) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|span)<.*>::operator.] will be skipped when stepping.
(gdb) bt
#0  _g_log_abort (breakpoint=<optimized out>) at ../glib/glib/gmessages.c:431
#1  g_logv (log_domain=0x630479ae3593 "xfdesktop", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffcf5ae9650) at ../glib/glib/gmessages.c:1287
#2  0x00007a31015a2c54 in g_log (log_domain=log_domain@entry=0x630479ae3593 "xfdesktop", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7a310166b36b "%s: assertion '%s' failed")
    at ../glib/glib/gmessages.c:1329
#3  0x00007a31015a3f2e in g_return_if_fail_warning
    (log_domain=log_domain@entry=0x630479ae3593 "xfdesktop", pretty_function=pretty_function@entry=0x630479aec530 <__func__.3> "xfdesktop_icon_view_holder_new", expression=<optimized out>)
    at ../glib/glib/gmessages.c:3076
#4  0x0000630479ac37a5 in xfdesktop_icon_view_holder_new (screen=screen@entry=0x6304ab675150, desktop=desktop@entry=0x6304ab78c9e0, icon_view=icon_view@entry=0x6304ab570690, accel_group=0x6304ab63d4b0)
    at ../src/xfdesktop-icon-view-holder.c:212
#5  0x0000630479ac9add in create_icon_view (fmanager=0x6304ab5b0880, desktop=0x6304ab78c9e0) at ../src/xfdesktop-file-icon-manager.c:1385
#6  xfdesktop_file_icon_manager_desktop_added (manager=manager@entry=0x6304ab5b0880, desktop=0x6304ab78c9e0) at ../src/xfdesktop-file-icon-manager.c:1526
#7  0x0000630479acadfb in xfdesktop_file_icon_manager_constructed (obj=0x6304ab5b0880) at ../src/xfdesktop-file-icon-manager.c:525
#8  0x00007a31016ba8da in g_object_new_internal (class=0x6304ab5b03b0, params=0x7ffcf5ae9a10, n_params=7) at ../glib/gobject/gobject.c:2680
#9  0x00007a31016bca3b in g_object_new_internal (class=0x6304ab5b03b0, params=0x7ffcf5ae9a10, n_params=7) at ../glib/gobject/gobject.c:2946
#10 g_object_new_valist (object_type=<optimized out>, first_property_name=first_property_name@entry=0x630479ae8187 "screen", var_args=var_args@entry=0x7ffcf5ae9ce0) at ../glib/gobject/gobject.c:2968
#11 0x00007a31016bce20 in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x630479ae8187 "screen") at ../glib/gobject/gobject.c:2441
#12 0x0000630479aceabc in xfdesktop_file_icon_manager_new
    (screen=0x6304ab675150, gdkscreen=0x6304ab5393f0, channel=0x6304ab5f5250, accel_group=0x6304ab63d4b0, backdrop_manager=0x6304ab6638a0, desktops=0x6304ab5900e0 = {...}, folder=0x6304ab7d0d00)
    at ../src/xfdesktop-file-icon-manager.c:3697
#13 0x0000630479ab3ed5 in xfdesktop_application_set_icon_style (app=0x6304ab618d10, style=<optimized out>) at ../src/xfdesktop-application.c:1518
#14 xfdesktop_application_set_icon_style (app=0x6304ab618d10, style=<optimized out>) at ../src/xfdesktop-application.c:1487
#15 0x0000630479ab49e0 in xfdesktop_application_start (app=0x6304ab618d10) at ../src/xfdesktop-application.c:1090
#19 0x00007a31016ca034 in <emit signal '???' on instance ???> (instance=instance@entry=0x6304ab618d10, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3597
    #16 0x00007a31016c9e5c in _g_closure_invoke_va (closure=0x6304ab6be3b0, return_value=0x0, instance=0x6304ab618d10, args=0x7ffcf5aea110, n_params=0, param_types=0x0) at ../glib/gobject/gclosure.c:896
    #17 signal_emit_valist_unlocked (instance=instance@entry=0x6304ab618d10, signal_id=signal_id@entry=195, detail=detail@entry=0, var_args=var_args@entry=0x7ffcf5aea110) at ../glib/gobject/gsignal.c:3438
    #18 0x00007a31016c9f72 in g_signal_emit_valist (instance=0x6304ab618d10, signal_id=195, detail=0, var_args=var_args@entry=0x7ffcf5aea110) at ../glib/gobject/gsignal.c:3277
#20 0x00007a31017d4e0b in g_application_register (application=application@entry=0x6304ab618d10, cancellable=cancellable@entry=0x0, error=error@entry=0x7ffcf5aea2b0) at ../glib/gio/gapplication.c:2355
#21 0x00007a31017d5352 in g_application_real_local_command_line (application=0x6304ab618d10, arguments=0x7ffcf5aea308, exit_status=0x7ffcf5aea304) at ../glib/gio/gapplication.c:1155
#22 0x00007a31017d56e8 in g_application_run (application=application@entry=0x6304ab618d10, argc=<optimized out>, argv=<optimized out>) at ../glib/gio/gapplication.c:2684
#23 0x0000630479aab292 in main (argc=<optimized out>, argv=<optimized out>) at ../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+87+g220a2461
  • Windowing system (X11/Wayland): wayland
  • Compositor and version (if Wayland): labwc 0.8.4
  • GTK Theme: adwaita
  • Icon Theme: elementary-xfce
  • UI Scale Factor: 1