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
- 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