Critical warning in xfdesktop_file_icon_manager_start_grid_resize
Issue Description
This function can be called before mdata->filter has been assigned, hence the critical warning: mdata->filter is NULL at this point. This is the case, for example, when changing tty from a wayland session in labwc >= 0.9.0.
Steps to Reproduce Issue
- Run labwc >= 0.9.0 (with no fallback output configured in its environment config file)
- Run xfdesktop
- Change tty
Expected Behavior
No warning.
Additional Information
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 _g_log_abort (breakpoint=<optimized out>) at ../glib/glib/gmessages.c:431
431 G_BREAKPOINT ();
(gdb) bt
#0 _g_log_abort (breakpoint=<optimized out>) at ../glib/glib/gmessages.c:431
#1 g_logv (log_domain=0x7f5264da406e "Gtk", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffd7f691a60) at ../glib/glib/gmessages.c:1329
#2 0x00007f52651827a4 in g_log (log_domain=log_domain@entry=0x7f5264da406e "Gtk", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f52652494c1 "%s: assertion '%s' failed")
at ../glib/glib/gmessages.c:1371
#3 0x00007f5265183a1e in g_return_if_fail_warning
(log_domain=log_domain@entry=0x7f5264da406e "Gtk", pretty_function=pretty_function@entry=0x7f5264e2b890 <__func__.29> "gtk_tree_model_get_iter_first", expression=expression@entry=0x7f5264dcd578 "GTK_IS_TREE_MODEL (tree_model)") at ../glib/glib/gmessages.c:3133
#4 0x00007f5264ca0d34 in gtk_tree_model_get_iter_first (tree_model=<optimized out>, iter=iter@entry=0x7ffd7f691b98) at ../gtk/gtktreemodel.c:1372
#5 0x000055791d135256 in xfdesktop_file_icon_manager_start_grid_resize (icon_view=<optimized out>, new_rows=1, new_cols=1, mdata=0x55794f10cdf0) at ../src/xfdesktop-file-icon-manager.c:2288
#6 xfdesktop_file_icon_manager_start_grid_resize (icon_view=<optimized out>, new_rows=1, new_cols=1, mdata=0x55794f10cdf0) at ../src/xfdesktop-file-icon-manager.c:2272
#11 0x00007f52652a7e44 in <emit signal 'start-grid-resize' on instance ???> (instance=instance@entry=0x55794ee96220, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3597
#7 0x00007f526528697c in g_closure_invoke (closure=0x55794f1d8c60, return_value=0x0, n_param_values=3, param_values=0x7ffd7f691e10, invocation_hint=0x7ffd7f691d60) at ../glib/gobject/gclosure.c:916
#8 0x00007f52652a5aab in signal_emit_unlocked_R
(node=node@entry=0x7ffd7f691f50, detail=detail@entry=0, instance=instance@entry=0x55794ee96220, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7f691e10)
at ../glib/gobject/gsignal.c:3902
#9 0x00007f52652a7b0f in signal_emit_valist_unlocked (instance=instance@entry=0x55794ee96220, signal_id=signal_id@entry=380, detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f6920b0)
at ../glib/gobject/gsignal.c:3534
#10 0x00007f52652a7d89 in g_signal_emit_valist (instance=0x55794ee96220, signal_id=380, detail=0, var_args=var_args@entry=0x7ffd7f6920b0) at ../glib/gobject/gsignal.c:3277
#12 0x000055791d125914 in xfdesktop_icon_view_size_grid (icon_view=0x55794ee96220) at ../src/xfdesktop-icon-view.c:3752
#17 0x00007f52652a7e44 in <emit signal 'realize' on instance ???> (instance=instance@entry=0x55794ee96220, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3597
#13 0x00007f526528697c in g_closure_invoke (closure=0x55794ee295a0, return_value=0x0, n_param_values=1, param_values=0x7ffd7f692440, invocation_hint=0x7ffd7f692390) at ../glib/gobject/gclosure.c:916
#14 0x00007f52652a5bf3 in signal_emit_unlocked_R
(node=node@entry=0x7ffd7f692550, detail=detail@entry=0, instance=instance@entry=0x55794ee96220, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7f692440)
at ../glib/gobject/gsignal.c:3735
#15 0x00007f52652a7b0f in signal_emit_valist_unlocked (instance=instance@entry=0x55794ee96220, signal_id=signal_id@entry=59, detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f6926b0)
at ../glib/gobject/gsignal.c:3534
#16 0x00007f52652a7d89 in g_signal_emit_valist (instance=0x55794ee96220, signal_id=59, detail=0, var_args=var_args@entry=0x7ffd7f6926b0) at ../glib/gobject/gsignal.c:3277
#18 0x00007f5264ceb3fd in gtk_widget_realize (widget=0x55794ee96220) at ../gtk/gtkwidget.c:5530
#19 gtk_widget_realize (widget=0x55794ee96220) at ../gtk/gtkwidget.c:5497
#20 0x00007f5264ceb7bd in gtk_widget_map (widget=0x55794ee96220) at ../gtk/gtkwidget.c:5056
#21 gtk_widget_map (widget=widget@entry=0x55794ee96220) at ../gtk/gtkwidget.c:5041
#22 0x00007f5264d03b40 in gtk_window_map (widget=0x55794ef61700) at ../gtk/gtkwindow.c:6335
#27 0x00007f52652a7e44 in <emit signal 'map' on instance ???> (instance=instance@entry=0x55794ef61700, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3597
#23 0x00007f526528697c in g_closure_invoke (closure=0x55794ee272c0, return_value=0x0, n_param_values=1, param_values=0x7ffd7f692a90, invocation_hint=0x7ffd7f6929e0) at ../glib/gobject/gclosure.c:916
#24 0x00007f52652a5bf3 in signal_emit_unlocked_R
(node=node@entry=0x7ffd7f692ba0, detail=detail@entry=0, instance=instance@entry=0x55794ef61700, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7f692a90)
at ../glib/gobject/gsignal.c:3735
#25 0x00007f52652a7b0f in signal_emit_valist_unlocked (instance=instance@entry=0x55794ef61700, signal_id=signal_id@entry=57, detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f692d00)
at ../glib/gobject/gsignal.c:3534
#26 0x00007f52652a7d89 in g_signal_emit_valist (instance=0x55794ef61700, signal_id=57, detail=0, var_args=var_args@entry=0x7ffd7f692d00) at ../glib/gobject/gsignal.c:3277
#28 0x00007f5264ceb747 in gtk_widget_map (widget=0x55794ef61700) at ../gtk/gtkwidget.c:5058
#29 gtk_widget_map (widget=widget@entry=0x55794ef61700) at ../gtk/gtkwidget.c:5041
#30 0x00007f5264cfa0bf in gtk_window_show (widget=0x55794ef61700) at ../gtk/gtkwindow.c:6210
#35 0x00007f52652a7e44 in <emit signal 'show' on instance ???> (instance=instance@entry=0x55794ef61700, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3597
#31 0x00007f526528697c in g_closure_invoke (closure=0x55794ee26e40, return_value=0x0, n_param_values=1, param_values=0x7ffd7f693040, invocation_hint=0x7ffd7f692f90) at ../glib/gobject/gclosure.c:916
#32 0x00007f52652a5bf3 in signal_emit_unlocked_R
(node=node@entry=0x7ffd7f693150, detail=detail@entry=0, instance=instance@entry=0x55794ef61700, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7f693040)
at ../glib/gobject/gsignal.c:3735
#33 0x00007f52652a7b0f in signal_emit_valist_unlocked (instance=instance@entry=0x55794ef61700, signal_id=signal_id@entry=55, detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f6932b0)
at ../glib/gobject/gsignal.c:3534
#34 0x00007f52652a7d89 in g_signal_emit_valist (instance=0x55794ef61700, signal_id=55, detail=0, var_args=var_args@entry=0x7ffd7f6932b0) at ../glib/gobject/gsignal.c:3277
#36 0x00007f5264ce4e6a in gtk_widget_show (widget=0x55794ef61700) at ../gtk/gtkwidget.c:4859
#37 gtk_widget_show (widget=widget@entry=0x55794ef61700) at ../gtk/gtkwidget.c:4832
#38 0x00007f5264cff349 in gtk_window_present_with_time (window=0x55794ef61700, timestamp=0) at ../gtk/gtkwindow.c:10612
#39 gtk_window_present_with_time (window=0x55794ef61700, timestamp=0) at ../gtk/gtkwindow.c:10570
#40 0x000055791d12a5f1 in init_for_wayland (holder=0x55794f180b70, accel_group=0x55794ef48b70) at ../src/xfdesktop-icon-view-holder.c:197
#41 xfdesktop_icon_view_holder_new (screen=screen@entry=0x55794f078320, desktop=desktop@entry=0x55794f023f10, icon_view=icon_view@entry=0x55794ee96220, accel_group=0x55794ef48b70)
at ../src/xfdesktop-icon-view-holder.c:229
#42 0x000055791d130560 in create_icon_view (fmanager=0x55794ee3c130, desktop=0x55794f023f10) at ../src/xfdesktop-file-icon-manager.c:1389
#43 xfdesktop_file_icon_manager_desktop_added (manager=0x55794ee3c130, desktop=0x55794f023f10) at ../src/xfdesktop-file-icon-manager.c:1531
#44 0x000055791d12af18 in xfdesktop_icon_view_manager_desktop_added (manager=0x55794ee3c130, desktop=desktop@entry=0x55794f023f10) at ../src/xfdesktop-icon-view-manager.c:428
#45 0x000055791d11b446 in add_monitor_desktop (app=0x55794ef14340, monitor=0x55794f104da0) at ../src/xfdesktop-application.c:847
#46 handle_new_mirror_sets (app=<optimized out>, mirror_sets=<optimized out>) at ../src/xfdesktop-application.c:881
#47 handle_monitors_changed (app=0x55794ef14340) at ../src/xfdesktop-application.c:974
#51 0x00007f52652a805f in <emit signal 'monitor-added or 0x7f526465a431 "monitor-added"' on instance ???>
(instance=instance@entry=0x55794f078320, detailed_signal=detailed_signal@entry=0x7f526465a431 "monitor-added") at ../glib/gobject/gsignal.c:3638
#48 0x00007f526528697c in g_closure_invoke (closure=0x55794ef878d0, return_value=0x0, n_param_values=2, param_values=0x7ffd7f693780, invocation_hint=0x7ffd7f6936d0) at ../glib/gobject/gclosure.c:916
#49 0x00007f52652a5aab in signal_emit_unlocked_R
(node=node@entry=0x7ffd7f6938b0, detail=detail@entry=0, instance=instance@entry=0x55794f078320, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd7f693780)
at ../glib/gobject/gsignal.c:3902
#50 0x00007f52652a7b0f in signal_emit_valist_unlocked (instance=instance@entry=0x55794f078320, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd7f693a00)
at ../glib/gobject/gsignal.c:3534
#52 0x00007f526464c080 in _xfw_screen_set_monitors (screen=0x55794f078320, monitors=monitors@entry=0x55794f0f7970 = {...}, added=added@entry=0x55794f2cb270 = {...}, removed=removed@entry=0x0)
at ../libxfce4windowing/xfw-screen.c:680
#53 0x00007f5264655abf in finalize_output (data=0x55794f104da0, data@entry=<error reading variable: value has been optimized out>) at ../libxfce4windowing/xfw-monitor-wayland.c:457
#54 0x00007f526517dd51 in g_timeout_dispatch (source=0x55794f0fb1d0, callback=<optimized out>, user_data=<optimized out>) at ../glib/glib/gmain.c:5237
#55 0x00007f526517be4a in g_main_dispatch (context=0x55794edce2f0) at ../glib/glib/gmain.c:3524
#56 0x00007f526517d517 in g_main_context_dispatch_unlocked (context=0x55794edce2f0) at ../glib/glib/gmain.c:4375
#57 g_main_context_iterate_unlocked (context=context@entry=0x55794edce2f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4440
#58 0x00007f526517d725 in g_main_context_iteration (context=context@entry=0x55794edce2f0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4505
#59 0x00007f52653b79c6 in g_application_run (application=application@entry=0x55794ef14340, argc=<optimized out>, argv=<optimized out>) at ../glib/gio/gapplication.c:2741
#60 0x000055791d112273 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:67
Environment & Versions
- OS distribution and version:
- Overall Xfce version: 4.20
- xfdesktop version (git hash if not a release):
4.20.1+247+g991f5a00 - thunar version (if issue related to file/launcher icons):
- Windowing system (X11/Wayland): wayland
- Compositor and version (if Wayland): labwc >= 0.9.0
- GTK Theme:
- Icon Theme:
- UI Scale Factor: