The current git.xfce.org#master crashes, even after 'mv ~/.config/xfce{,.old} ; reboot' ( 20200501T001541.c06df30f ): Core was generated by `xfce4-panel'. Program terminated with signal SIGSEGV, Segmentation fault. #0 gtk_menu_set_reserve_toggle_size (menu=0x0, reserve_toggle_size=reserve_toggle_size@entry=0) at gtkmenu.c:6210 6210 GtkMenuPrivate *priv = menu->priv; [Current thread is 1 (Thread 0x7fce6222f2c0 (LWP 2442))] (gdb) bt #0 0x00007fce609b8fea in gtk_menu_set_reserve_toggle_size (menu=0x0, reserve_toggle_size=reserve_toggle_size@entry=0) at gtkmenu.c:6210 #1 0x00007fce43dee47e in launcher_plugin_button_update_action_menu (plugin=0x558a2728a420 [XfceLauncherPlugin]) at launcher.c:1905 #2 0x00007fce43def5cd in launcher_plugin_set_property (object=0x558a2728a420 [XfceLauncherPlugin], prop_id=<optimized out>, value=<optimized out>, pspec=<optimized out>) at launcher.c:881 #3 0x00007fce5f6e272e in object_set_property (nqueue=0x558a270bc310, value=<optimized out>, pspec=0x558a2732a5f0 [GParamBoxed], object=0x558a2728a420 [XfceLauncherPlugin]) at gobject.c:1439 #4 0x00007fce5f6e272e in g_object_setv (object=0x558a2728a420 [XfceLauncherPlugin], n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at gobject.c:2245 #5 0x00007fce5f6e36be in g_object_set_property (object=<optimized out>, property_name=<optimized out>, value=value@entry=0x7fffae1bc2f0) at gobject.c:2529 #6 0x00007fce6160d508 in xfconf_g_property_channel_notify (channel=channel@entry=0x558a27135380 [XfconfChannel], property=property@entry=0x7fce4402d430 "/plugins/plugin-17/items", value=value@entry=0x7fffae1bc340, user_data=user_data@entry=0x558a273270c0) at xfconf-binding.c:333 #7 0x00007fce6160d756 in xfconf_g_property_init (channel=channel@entry=0x558a27135380 [XfconfChannel], xfconf_property=xfconf_property@entry=0x7fce4402d430 "/plugins/plugin-17/items", xfconf_property_type=94051848071376, object=object@entry=0x558a2728a420 [XfceLauncherPlugin], object_property=<optimized out>, object_property_type=94051848071376) at xfconf-binding.c:392 #8 0x00007fce6160da66 in IA__xfconf_g_property_bind (channel=channel@entry=0x558a27135380 [XfconfChannel], xfconf_property=xfconf_property@entry=0x7fce4402d430 "/plugins/plugin-17/items", xfconf_property_type=<optimized out>, object=object@entry=0x558a2728a420, object_property=<optimized out>) at xfconf-binding.c:509 #9 0x00007fce43df33d6 in panel_properties_bind (channel=0x558a27135380 [XfconfChannel], object=0x558a2728a420 [XfceLauncherPlugin], property_base=0x558a270ca630 "/plugins/plugin-17", properties=<optimized out>, save_properties=0) at panel-xfconf.c:135 #10 0x00007fce43ded1db in launcher_plugin_construct (panel_plugin=0x558a2728a420 [XfceLauncherPlugin]) at launcher.c:1073 #11 0x00007fce5f6dab06 in _g_closure_invoke_va (closure=0x558a2708ade0, return_value=0x0, instance=0x558a2728a420, args=0x7fffae1bc720, n_params=0, param_types=0x0) at gclosure.c:867 #12 0x00007fce5f6f6744 in g_signal_emit_valist (instance=0x558a2728a420, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffae1bc720) at gsignal.c:3300 #13 0x00007fce5f6f6c8f in g_signal_emit (instance=instance@entry=0x558a2728a420, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447 #14 0x00007fce60aff606 in gtk_widget_realize (widget=widget@entry=0x558a2728a420 [XfceLauncherPlugin]) at gtkwidget.c:5471 #15 0x00007fce60b040f8 in gtk_widget_set_parent (widget=widget@entry=0x558a2728a420 [XfceLauncherPlugin], parent=parent@entry=0x558a2723e560 [PanelItembar]) at gtkwidget.c:9595 #16 0x0000558a2598f9ac in panel_itembar_insert (itembar=0x558a2723e560 [PanelItembar], widget=widget@entry=0x558a2728a420 [XfceLauncherPlugin], position=position@entry=-1) at panel-itembar.c:1027 #17 0x0000558a25986f0f in panel_application_plugin_insert (application=application@entry=0x558a27155a30 [PanelApplication], window=window@entry=0x558a27199380 [XfcePanelWindow], name=name@entry=0x558a2722d030 "launcher", unique_id=unique_id@entry=17, arguments=arguments@entry=0x0, position=position@entry=-1) at panel-application.c:805 #18 0x0000558a2598827b in panel_application_load_real (application=0x558a27155a30 [PanelApplication]) at panel-application.c:424 #19 0x00007fce604963e8 in gdk_threads_dispatch_free (data=0x7fce44001980) at gdk.c:756 #20 0x00007fce5f3fd8c8 in g_source_callback_unref (cb_data=0x558a271c1140) at gmain.c:1547 #21 0x00007fce5f3ff104 in g_source_destroy_internal (source=0x558a270f5d50, context=0x558a26fad470, have_lock=1) at gmain.c:1236 #22 0x00007fce5f400f30 in g_main_dispatch (context=0x558a26fad470) at gmain.c:3166 #23 0x00007fce5f400f30 in g_main_context_dispatch (context=context@entry=0x558a26fad470) at gmain.c:3795 #24 0x00007fce5f401230 in g_main_context_iterate (context=0x558a26fad470, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3868 #25 0x00007fce5f401542 in g_main_loop_run (loop=0x558a27072710) at gmain.c:4064 #26 0x00007fce609a3bf5 in gtk_main () at gtkmain.c:1323 #27 0x0000558a259835e1 in main (argc=<optimized out>, argv=<optimized out>) at main.c:385
Going back to git state of all packages from '2020-05-04' did not fix it. Unclear what causes this crash for me. Looking at the code: 1879 launcher_plugin_button_update_action_menu (LauncherPlugin *plugin) 1904 plugin->action_menu = GTK_WIDGET (garcon_gtk_menu_get_desktop_actions_menu (item)); 1905 gtk_menu_set_reserve_toggle_size (GTK_MENU (plugin->action_menu), FALSE); 1906 if (plugin->action_menu) 1907 { Why is gtk_menu_set_reserve_toggle_size called prior the "if()"? This looks like a bug.
Moving the call into "if(action_menu)" fixes the crash.
Simon Steinbeiss referenced this bugreport in commit 4c12892c91d9106569cc80bca01663fee2d5de6b launcher: Fix crash with actions menu (Bug #16823) https://gitlab.xfce.org/xfce/xfce4-panel/commit/4c12892c91d9106569cc80bca01663fee2d5de6b
While I can't reproduce the crash this change makes sense for sanity's sake. Thanks!