Workspace manager used when NULL
It seems that the workspace manager is set too late, but I can't reproduce the problem. Maybe a race between xfdesktop and xfsettingsd at Wayland session startup. It's when emitting GdkScreen::monitors-changed
as in #285 (closed):
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffd7bb3a2a0) at ../glib/glib/gmessages.c:1277
1277 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
[Current thread is 1 (Thread 0x76348a822a00 (LWP 61059))]
(gdb) bt
#0 g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffd7bb3a2a0) at ../glib/glib/gmessages.c:1277
#1 0x000076348b9d0754 in g_log (log_domain=log_domain@entry=0x0, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x76348ba8e26a "%s: assertion '%s' failed") at ../glib/glib/gmessages.c:1315
#2 0x000076348b9d18fe in g_return_if_fail_warning
(log_domain=log_domain@entry=0x0, pretty_function=pretty_function@entry=0x76348cb23c00 <__func__.1> "xfw_workspace_manager_list_workspace_groups", expression=expression@entry=0x76348cb22548 "XFW_IS_WORKSPACE_MANAGER(manager)") at ../glib/glib/gmessages.c:3000
#3 0x000076348cb1648d in xfw_workspace_manager_list_workspace_groups (manager=0x0) at xfw-workspace-manager.c:138
#4 0x0000612faef529a5 in xfce_desktop_get_current_workspace (desktop=desktop@entry=0x612fb1173e10) at xfce-desktop.c:1428
#5 0x0000612faef53995 in screen_size_changed_cb (gscreen=<optimized out>, user_data=0x612fb1173e10) at xfce-desktop.c:570
#6 0x000076348bacf730 in g_closure_invoke (closure=0x612fb115c640, return_value=0x0, n_param_values=1, param_values=0x7ffd7bb3a5c0, invocation_hint=0x7ffd7bb3a510) at ../glib/gobject/gclosure.c:834
#7 0x000076348bafe896 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7ffd7bb3a690, detail=detail@entry=0, instance=instance@entry=0x612fb0fae180, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7bb3a5c0)
at ../glib/gobject/gsignal.c:3888
#8 0x000076348baef7a2 in signal_emit_valist_unlocked (instance=instance@entry=0x612fb0fae180, signal_id=signal_id@entry=28, detail=<optimized out>, var_args=var_args@entry=0x7ffd7bb3a7d0)
at ../glib/gobject/gsignal.c:3520
#9 0x000076348baefcb0 in g_signal_emit_by_name (instance=instance@entry=0x612fb0fae180, detailed_signal=detailed_signal@entry=0x76348c8b9a81 "monitors-changed") at ../glib/gobject/gsignal.c:3624
#10 0x000076348c87f598 in apply_monitor_change (monitor=0x612fb0fccbd0) at ../gtk/gdk/wayland/gdkscreen-wayland.c:1570
#11 0x000076348afac596 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#12 0x000076348afa900e in ffi_call_int (cif=cif@entry=0x7ffd7bb3aad0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#13 0x000076348afabbd3 in ffi_call (cif=cif@entry=0x7ffd7bb3aad0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffd7bb3aba0) at ../src/x86/ffi64.c:710
#14 0x000076348b713645 in wl_closure_invoke (closure=closure@entry=0x612fb0fea520, target=<optimized out>, target@entry=0x612fb0fccb40, opcode=opcode@entry=2, data=<optimized out>, flags=1)
at ../wayland-1.22.0/src/connection.c:1025
#15 0x000076348b713e73 in dispatch_event (display=display@entry=0x612fb0f86400, queue=0x612fb0f864f0) at ../wayland-1.22.0/src/wayland-client.c:1631
#16 0x000076348b71413c in dispatch_queue (queue=0x612fb0f864f0, display=0x612fb0f86400) at ../wayland-1.22.0/src/wayland-client.c:1777
#17 wl_display_dispatch_queue_pending (display=display@entry=0x612fb0f86400, queue=queue@entry=0x612fb0f864f0) at ../wayland-1.22.0/src/wayland-client.c:2019
#18 0x000076348b715b9b in wl_display_dispatch_queue (queue=<optimized out>, display=<optimized out>) at ../wayland-1.22.0/src/wayland-client.c:1995
#19 0x000076348b716cf0 in wl_display_roundtrip_queue (display=display@entry=0x612fb0f86400, queue=queue@entry=0x612fb0f864f0) at ../wayland-1.22.0/src/wayland-client.c:1403
#20 0x000076348b716d31 in wl_display_roundtrip (display=display@entry=0x612fb0f86400) at ../wayland-1.22.0/src/wayland-client.c:1432
#21 0x000076348cb1d1cc in xfw_screen_wayland_constructed (obj=0x612fb11b5c20) at xfw-screen-wayland.c:114
#22 0x000076348bae0c66 in g_object_new_internal (class=0x612fb11b7ab0, params=0x7ffd7bb3af10, n_params=1) at ../glib/gobject/gobject.c:2654
#23 0x000076348bae2c4b in g_object_new_internal (n_params=1, params=0x7ffd7bb3af10, class=0x612fb11b7ab0) at ../glib/gobject/gobject.c:2920
#24 g_object_new_valist (object_type=<optimized out>, first_property_name=first_property_name@entry=0x76348cb2111f "screen", var_args=var_args@entry=0x7ffd7bb3b1e0) at ../glib/gobject/gobject.c:2942
#25 0x000076348bae2fde in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x76348cb2111f "screen") at ../glib/gobject/gobject.c:2415
#26 0x000076348cb1274b in xfw_screen_get (gdk_screen=0x612fb0fae180) at xfw-screen.c:332
#27 xfw_screen_get_default () at xfw-screen.c:362
#28 0x0000612faef54504 in xfce_desktop_realize (widget=0x612fb1173e10) at xfce-desktop.c:1138
#29 0x000076348bacf730 in g_closure_invoke (closure=0x612fb1011600, return_value=0x0, n_param_values=1, param_values=0x7ffd7bb3b550, invocation_hint=0x7ffd7bb3b6b0) at ../glib/gobject/gclosure.c:834
#30 0x000076348baec514 in g_signal_chain_from_overridden (instance_and_params=<optimized out>, return_value=0x0) at ../glib/gobject/gsignal.c:2095
#31 0x000076348ca8c0c1 in ??? () at /opt/bin/../../lib/libgtk-layer-shell.so.0
#32 0x000076348bacf730 in g_closure_invoke (closure=0x612fb115cb90, return_value=0x0, n_param_values=1, param_values=0x7ffd7bb3b760, invocation_hint=0x7ffd7bb3b6b0) at ../glib/gobject/gclosure.c:834
#33 0x000076348bafe9da in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7ffd7bb3b830, detail=detail@entry=0, instance=instance@entry=0x612fb1173e10, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7bb3b760)
at ../glib/gobject/gsignal.c:3721
#34 0x000076348baef7a2 in signal_emit_valist_unlocked (instance=instance@entry=0x612fb1173e10, signal_id=signal_id@entry=71, detail=detail@entry=0, var_args=var_args@entry=0x7ffd7bb3b990)
at ../glib/gobject/gsignal.c:3520
#35 0x000076348baef9d7 in g_signal_emit_valist (instance=0x612fb1173e10, signal_id=71, detail=0, var_args=var_args@entry=0x7ffd7bb3b990) at ../glib/gobject/gsignal.c:3263
#36 0x000076348baefa94 in g_signal_emit (instance=instance@entry=0x612fb1173e10, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3583
#37 0x000076348c343d92 in gtk_widget_realize (widget=0x612fb1173e10) at ../gtk/gtk/gtkwidget.c:5523
#38 0x0000612faef55974 in xfdesktop_application_start (app=app@entry=0x612fb0f77600) at xfdesktop-application.c:794
#39 0x0000612faef55bc9 in xfdesktop_application_startup (g_application=0x612fb0f77600) at xfdesktop-application.c:661
#43 0x000076348baefa94 in <emit signal '???' on instance ???> (instance=instance@entry=0x612fb0f77600, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3583
#40 0x000076348baef8d3 in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7ffd7bb3c1c0, instance=0x612fb0f77600, return_value=0x0, closure=0x612fb0f768e0)
at ../glib/gobject/gclosure.c:897
#41 signal_emit_valist_unlocked (instance=instance@entry=0x612fb0f77600, signal_id=signal_id@entry=6, detail=detail@entry=0, var_args=var_args@entry=0x7ffd7bb3c1c0) at ../glib/gobject/gsignal.c:3424
#42 0x000076348baef9d7 in g_signal_emit_valist (instance=0x612fb0f77600, signal_id=6, detail=0, var_args=var_args@entry=0x7ffd7bb3c1c0) at ../glib/gobject/gsignal.c:3263
#44 0x000076348bbf44c5 in g_application_register (application=application@entry=0x612fb0f77600, cancellable=cancellable@entry=0x0, error=error@entry=0x0) at ../glib/gio/gapplication.c:2352
#45 0x0000612faef5512b in xfdesktop_application_local_command_line (g_application=0x612fb0f77600, arguments=0x7ffd7bb3c5c8, exit_status=0x7ffd7bb3c5c4) at xfdesktop-application.c:957
#46 0x000076348bbf4e6c in g_application_run (application=application@entry=0x612fb0f77600, argc=argc@entry=1, argv=argv@entry=0x7ffd7bb3c738) at ../glib/gio/gapplication.c:2681
#47 0x0000612faef56375 in xfdesktop_application_run (app=app@entry=0x612fb0f77600, argc=argc@entry=1, argv=argv@entry=0x7ffd7bb3c738) at xfdesktop-application.c:829
#48 0x0000612faef439f8 in main (argc=1, argv=0x7ffd7bb3c738) at main.c:54