Coder Social home page Coder Social logo

Comments (23)

raveit65 avatar raveit65 commented on August 16, 2024 1

Try https://www.dropbox.com/scl/fi/swedkrfbzl1u9brb1durl/mate-panel-1.26.4_valgrind?rlkey=m51p0edgti0plghfk3pchxpit&dl=0

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024 1

Valgrind output is gone with your PR :-)

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

Here's a valgrind trace that might be easier to read than the gdb output:

==8673== Invalid read of size 8
==8673==    at 0x55151F9: matemenu_tree_force_rebuild (matemenu-tree.c:4999)
==8673==    by 0x550E9F1: emit_changed_signal (matemenu-tree.c:709)
==8673==    by 0x57C6A30: UnknownInlinedFun (gmain.c:3460)
==8673==    by 0x57C6A30: g_main_context_dispatch (gmain.c:4200)
==8673==    by 0x5823CC8: g_main_context_iterate.isra.0 (gmain.c:4276)
==8673==    by 0x57C5FEE: g_main_loop_run (gmain.c:4479)
==8673==    by 0x4ACDF6E: gtk_main (gtkmain.c:1329)
==8673==    by 0x12D221: main (main.c:223)
==8673==  Address 0xbf21820 is 96 bytes inside a block of size 120 free'd
==8673==    at 0x484412F: free (vg_replace_malloc.c:974)
==8673==    by 0x5743BF0: g_type_free_instance (gtype.c:2062)
==8673==    by 0x57A5096: g_datalist_clear (gdataset.c:276)
==8673==    by 0x572C8B3: UnknownInlinedFun (gobject.c:3938)
==8673==    by 0x572C8B3: g_object_unref (gobject.c:3802)
==8673==    by 0x4AD7829: gtk_menu_item_destroy (gtkmenuitem.c:1154)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574CE04: signal_emit_unlocked_R.isra.0 (gsignal.c:3930)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x4C2FD4D: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==8673==    by 0x572C8FF: UnknownInlinedFun (gobject.c:1448)
==8673==    by 0x572C8FF: g_object_run_dispose (gobject.c:1441)
==8673==    by 0x14DB36: handle_matemenu_tree_changed (menu.c:1176)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574C937: signal_emit_unlocked_R.isra.0 (gsignal.c:3812)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x550F021: matemenu_tree_invoke_monitors (matemenu-tree.c:995)
==8673==    by 0x550E9FD: emit_changed_signal (matemenu-tree.c:710)
==8673==    by 0x57C6A30: UnknownInlinedFun (gmain.c:3460)
==8673==    by 0x57C6A30: g_main_context_dispatch (gmain.c:4200)
==8673==    by 0x5823CC8: g_main_context_iterate.isra.0 (gmain.c:4276)
==8673==    by 0x57C5FEE: g_main_loop_run (gmain.c:4479)
==8673==    by 0x4ACDF6E: gtk_main (gtkmain.c:1329)
==8673==    by 0x12D221: main (main.c:223)
==8673==  Block was alloc'd at
==8673==    at 0x48469B3: calloc (vg_replace_malloc.c:1554)
==8673==    by 0x57D000A: g_malloc0 (gmem.c:163)
==8673==    by 0x57490A6: g_type_create_instance (gtype.c:1965)
==8673==    by 0x572ECF8: g_object_constructor.lto_priv.0 (gobject.c:2621)
==8673==    by 0x550E422: matemenu_tree_constructor (matemenu-tree.c:553)
==8673==    by 0x572E80B: g_object_new_with_custom_constructor (gobject.c:2164)
==8673==    by 0x5730AF0: UnknownInlinedFun (gobject.c:2244)
==8673==    by 0x5730AF0: g_object_new_valist (gobject.c:2585)
==8673==    by 0x573129D: g_object_new (gobject.c:2058)
==8673==    by 0x550E398: matemenu_tree_new (matemenu-tree.c:520)
==8673==    by 0x14DD29: create_applications_menu (menu.c:1228)
==8673==    by 0x161142: panel_desktop_menu_item_create_menu (panel-menu-items.c:1239)
==8673==    by 0x161EF0: panel_desktop_menu_item_new (panel-menu-items.c:1536)
==8673==    by 0x14E30B: main_menu_append (menu.c:1365)
==8673==    by 0x14D168: submenu_to_display (menu.c:898)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574C937: signal_emit_unlocked_R.isra.0 (gsignal.c:3812)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x4C2532A: UnknownInlinedFun (gtkwidget.c:4852)
==8673==    by 0x4C2532A: gtk_widget_show (gtkwidget.c:4825)
==8673==    by 0x4AD3675: gtk_menu_popup_internal (gtkmenu.c:1988)
==8673==    by 0x4AD43DE: gtk_menu_popup_at_widget (gtkmenu.c:2361)
==8673==    by 0x15C292: panel_menu_button_popup_menu (panel-menu-button.c:485)
==8673==    by 0x15C3B0: panel_menu_button_pressed (panel-menu-button.c:504)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574CA56: signal_emit_unlocked_R.isra.0 (gsignal.c:3742)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x49A8B67: multipress_pressed_cb (gtkbutton.c:651)
==8673==    by 0x4967964: _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (gtkmarshalers.c:4804)
==8673==    by 0x573DBC8: UnknownInlinedFun (gclosure.c:895)
==8673==    by 0x573DBC8: g_signal_emit_valist (gsignal.c:3472)
==8673== 
==8673== Invalid read of size 8
==8673==    at 0x5745731: g_type_check_instance (gtype.c:4270)
==8673==    by 0x573C9FF: g_signal_emit_valist (gsignal.c:3334)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x550F021: matemenu_tree_invoke_monitors (matemenu-tree.c:995)
==8673==    by 0x550E9FD: emit_changed_signal (matemenu-tree.c:710)
==8673==    by 0x57C6A30: UnknownInlinedFun (gmain.c:3460)
==8673==    by 0x57C6A30: g_main_context_dispatch (gmain.c:4200)
==8673==    by 0x5823CC8: g_main_context_iterate.isra.0 (gmain.c:4276)
==8673==    by 0x57C5FEE: g_main_loop_run (gmain.c:4479)
==8673==    by 0x4ACDF6E: gtk_main (gtkmain.c:1329)
==8673==    by 0x12D221: main (main.c:223)
==8673==  Address 0xbf217c0 is 0 bytes inside a block of size 120 free'd
==8673==    at 0x484412F: free (vg_replace_malloc.c:974)
==8673==    by 0x5743BF0: g_type_free_instance (gtype.c:2062)
==8673==    by 0x57A5096: g_datalist_clear (gdataset.c:276)
==8673==    by 0x572C8B3: UnknownInlinedFun (gobject.c:3938)
==8673==    by 0x572C8B3: g_object_unref (gobject.c:3802)
==8673==    by 0x4AD7829: gtk_menu_item_destroy (gtkmenuitem.c:1154)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574CE04: signal_emit_unlocked_R.isra.0 (gsignal.c:3930)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x4C2FD4D: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==8673==    by 0x572C8FF: UnknownInlinedFun (gobject.c:1448)
==8673==    by 0x572C8FF: g_object_run_dispose (gobject.c:1441)
==8673==    by 0x14DB36: handle_matemenu_tree_changed (menu.c:1176)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574C937: signal_emit_unlocked_R.isra.0 (gsignal.c:3812)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x550F021: matemenu_tree_invoke_monitors (matemenu-tree.c:995)
==8673==    by 0x550E9FD: emit_changed_signal (matemenu-tree.c:710)
==8673==    by 0x57C6A30: UnknownInlinedFun (gmain.c:3460)
==8673==    by 0x57C6A30: g_main_context_dispatch (gmain.c:4200)
==8673==    by 0x5823CC8: g_main_context_iterate.isra.0 (gmain.c:4276)
==8673==    by 0x57C5FEE: g_main_loop_run (gmain.c:4479)
==8673==    by 0x4ACDF6E: gtk_main (gtkmain.c:1329)
==8673==    by 0x12D221: main (main.c:223)
==8673==  Block was alloc'd at
==8673==    at 0x48469B3: calloc (vg_replace_malloc.c:1554)
==8673==    by 0x57D000A: g_malloc0 (gmem.c:163)
==8673==    by 0x57490A6: g_type_create_instance (gtype.c:1965)
==8673==    by 0x572ECF8: g_object_constructor.lto_priv.0 (gobject.c:2621)
==8673==    by 0x550E422: matemenu_tree_constructor (matemenu-tree.c:553)
==8673==    by 0x572E80B: g_object_new_with_custom_constructor (gobject.c:2164)
==8673==    by 0x5730AF0: UnknownInlinedFun (gobject.c:2244)
==8673==    by 0x5730AF0: g_object_new_valist (gobject.c:2585)
==8673==    by 0x573129D: g_object_new (gobject.c:2058)
==8673==    by 0x550E398: matemenu_tree_new (matemenu-tree.c:520)
==8673==    by 0x14DD29: create_applications_menu (menu.c:1228)
==8673==    by 0x161142: panel_desktop_menu_item_create_menu (panel-menu-items.c:1239)
==8673==    by 0x161EF0: panel_desktop_menu_item_new (panel-menu-items.c:1536)
==8673==    by 0x14E30B: main_menu_append (menu.c:1365)
==8673==    by 0x14D168: submenu_to_display (menu.c:898)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574C937: signal_emit_unlocked_R.isra.0 (gsignal.c:3812)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x4C2532A: UnknownInlinedFun (gtkwidget.c:4852)
==8673==    by 0x4C2532A: gtk_widget_show (gtkwidget.c:4825)
==8673==    by 0x4AD3675: gtk_menu_popup_internal (gtkmenu.c:1988)
==8673==    by 0x4AD43DE: gtk_menu_popup_at_widget (gtkmenu.c:2361)
==8673==    by 0x15C292: panel_menu_button_popup_menu (panel-menu-button.c:485)
==8673==    by 0x15C3B0: panel_menu_button_pressed (panel-menu-button.c:504)
==8673==    by 0x571E6BF: g_closure_invoke (gclosure.c:832)
==8673==    by 0x574CA56: signal_emit_unlocked_R.isra.0 (gsignal.c:3742)
==8673==    by 0x573DAA6: g_signal_emit_valist (gsignal.c:3565)
==8673==    by 0x573DD33: g_signal_emit (gsignal.c:3622)
==8673==    by 0x49A8B67: multipress_pressed_cb (gtkbutton.c:651)
==8673==    by 0x4967964: _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (gtkmarshalers.c:4804)
==8673==    by 0x573DBC8: UnknownInlinedFun (gclosure.c:895)
==8673==    by 0x573DBC8: g_signal_emit_valist (gsignal.c:3472)
==8673== 

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

It looks like this bug only affects the Compact Menu because it has a nested menu:

  • The main app menu is created
  • A child app menu is appended to the main menu for the System submenu
    • Both menus have handlers for detecting changes to /org/mate/panel/general/object-id-list
      • These handlers will rebuild their respective menus when a change to that key is detected
  • Adding the launcher to the panel triggers change notifications for the object-id-list key
  • The handler for the main app menu runs and destroys the child System menu
  • The handler for the System menu runs but the System menu has already been destroyed by the previous handler

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

I tried to reproduce the issue with an f37 VM with glib2-2.74.7-2.fc37.x86_64, but me or fedora bugreporting tool didn't noticed the crash. I used your setup. A bottom panel with Compact Menu, Window List, Notification Area, Clock and Show Desktop applets.
Is this the right order from LTR?
Are the applets locked?
Do you have some space between the applets?
The panel-launcher will be added between CM and WL applets?
Is the crashing panel-launcher the first launcher on your panel? (I guess it is...)

I will update VM to f38. Maybe it is releated to some dependencies.

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Hmm, i noticed when windows-list shows an running application the launchers will be created after windows-list applet.
I never used such a one panel setup.

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Same results with fedora 38 VM and glib2-2.76.6-1.fc38.x86_64 which looks similar to your version.
I need more info to reproduce the issue.
Which gtk theme are you using?

Edit: I use mate-panel-1.26.4-1.fc38.x86_64

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

I tried to reproduce the issue with an f37 VM with glib2-2.74.7-2.fc37.x86_64, but me or fedora bugreporting tool didn't noticed the crash. I used your setup. A bottom panel with Compact Menu, Window List, Notification Area, Clock and Show Desktop applets. Is this the right order from LTR? Are the applets locked? Do you have some space between the applets? The panel-launcher will be added between CM and WL applets? Is the crashing panel-launcher the first launcher on your panel? (I guess it is...)

I will update VM to f38. Maybe it is releated to some dependencies.

Thanks for taking a look!

Here's a screenshot of my panel before the crash:
my-panel

It is the only panel, it is located at the bottom of the screen, and all of the applets are locked.

Hmm, i noticed when windows-list shows an running application the launchers will be created after windows-list applet. I never used such a one panel setup.

That is what I see too. I usually move the launcher next to the compact menu after it has been added :).

Same results with fedora 38 VM and glib2-2.76.6-1.fc38.x86_64 which looks similar to your version. I need more info to reproduce the issue. Which gtk theme are you using?

Edit: I use mate-panel-1.26.4-1.fc38.x86_64

Versions:

  • mate-panel 1.26.4-1
  • mate-desktop 1.26.2-1
  • gtk3 1:3.24.39-2
  • glib2 2.78.3-1

Theme:

  • Menta

Would it be possible for you to try the same steps while running mate-panel with valgrind? This command should show the memory issues that are leading to the crash: valgrind --num-callers=30 mate-panel --replace

from mate-menus.

lukefromdc avatar lukefromdc commented on August 16, 2024

I just verified this on 1.27 from my wayland-window-list branch (master plus a window list fix) and running on wayland as well, so this is not limited to some narrow set of conditions.

Error shown in terminal from mate-panel --replace followed by invoking the issue is
corrupted size vs. prev_size while consolidating

from mate-menus.

lukefromdc avatar lukefromdc commented on August 16, 2024

Output from valgrind was more than the terminal buffer could hold, running w a couple more options enabled to track memory leaks shown I got this:

.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AA9564: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400== 
==41400== Invalid read of size 8
==41400==    at 0x567100C: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x48D8373: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400==    by 0x161F51: panel_desktop_menu_item_finalize (in /usr/bin/mate-panel)
==41400==    by 0x55F5F0B: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E3C6: handle_matemenu_tree_changed (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Address 0x23925b50 is 432 bytes inside a recently re-allocated block of size 496 alloc'd
==41400==    at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x5698665: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56122FE: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F68AF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F7D32: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F8B30: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x162764: panel_desktop_menu_item_new (in /usr/bin/mate-panel)
==41400==    by 0x14EB64: main_menu_append (in /usr/bin/mate-panel)
==41400==    by 0x14DA3E: submenu_to_display (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AA9564: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400== 
==41400== Invalid read of size 8
==41400==    at 0x567100F: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x48D8373: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400==    by 0x161F51: panel_desktop_menu_item_finalize (in /usr/bin/mate-panel)
==41400==    by 0x55F5F0B: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E3C6: handle_matemenu_tree_changed (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Address 0x23925b50 is 432 bytes inside a recently re-allocated block of size 496 alloc'd
==41400==    at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x5698665: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56122FE: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F68AF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F7D32: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F8B30: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x162764: panel_desktop_menu_item_new (in /usr/bin/mate-panel)
==41400==    by 0x14EB64: main_menu_append (in /usr/bin/mate-panel)
==41400==    by 0x14DA3E: submenu_to_display (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AA9564: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400== 
==41400== Invalid read of size 8
==41400==    at 0x5671018: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x48D8373: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400==    by 0x161F51: panel_desktop_menu_item_finalize (in /usr/bin/mate-panel)
==41400==    by 0x55F5F0B: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E3C6: handle_matemenu_tree_changed (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Address 0x23925b50 is 432 bytes inside a recently re-allocated block of size 496 alloc'd
==41400==    at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x5698665: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56122FE: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F68AF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F7D32: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F8B30: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x162764: panel_desktop_menu_item_new (in /usr/bin/mate-panel)
==41400==    by 0x14EB64: main_menu_append (in /usr/bin/mate-panel)
==41400==    by 0x14DA3E: submenu_to_display (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AA9564: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400== 
==41400== Invalid read of size 1
==41400==    at 0x565FE9F: g_pointer_bit_unlock (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x567102B: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x48D8373: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400==    by 0x161F51: panel_desktop_menu_item_finalize (in /usr/bin/mate-panel)
==41400==    by 0x55F5F0B: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E3C6: handle_matemenu_tree_changed (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Address 0x23925b50 is 432 bytes inside a recently re-allocated block of size 496 alloc'd
==41400==    at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x5698665: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56122FE: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F68AF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F7D32: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F8B30: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x162764: panel_desktop_menu_item_new (in /usr/bin/mate-panel)
==41400==    by 0x14EB64: main_menu_append (in /usr/bin/mate-panel)
==41400==    by 0x14DA3E: submenu_to_display (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AA9564: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400== 
==41400== Invalid read of size 8
==41400==    at 0x53E7411: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Address 0x175a4e20 is 96 bytes inside a block of size 120 free'd
==41400==    at 0x48431EF: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x56125D8: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x567105E: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x55F5F0B: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AFFD74: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x48D774B: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56037A9: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C3941F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F7659: g_object_run_dispose (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E3C6: handle_matemenu_tree_changed (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Block was alloc'd at
==41400==    at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x5698665: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56121BA: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F62B3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E53FA: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x55F642B: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F83CE: g_object_new_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F8B1B: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E596: create_applications_menu (in /usr/bin/mate-panel)
==41400==    by 0x161BD8: panel_desktop_menu_item_create_menu (in /usr/bin/mate-panel)
==41400==    by 0x162855: panel_desktop_menu_item_new (in /usr/bin/mate-panel)
==41400==    by 0x14EB64: main_menu_append (in /usr/bin/mate-panel)
==41400==    by 0x14DA3E: submenu_to_display (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400== 
==41400== Invalid read of size 8
==41400==    at 0x561421D: g_type_check_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5603C0B: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Address 0x175a4dc0 is 0 bytes inside a block of size 120 free'd
==41400==    at 0x48431EF: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x56125D8: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x567105E: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x55F5F0B: g_object_unref (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4AFFD74: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x48D774B: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56037A9: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C3941F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F7659: g_object_run_dispose (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E3C6: handle_matemenu_tree_changed (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E7462: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x568EB78: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x5691B16: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56923BE: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x4AF0924: gtk_main (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x12D2F9: main (in /usr/bin/mate-panel)
==41400==  Block was alloc'd at
==41400==    at 0x48459F3: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==41400==    by 0x5698665: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400==    by 0x56121BA: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F62B3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x53E53FA: ??? (in /usr/lib/x86_64-linux-gnu/libmate-menu.so.2.4.9)
==41400==    by 0x55F642B: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F83CE: g_object_new_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x55F8B1B: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x14E596: create_applications_menu (in /usr/bin/mate-panel)
==41400==    by 0x161BD8: panel_desktop_menu_item_create_menu (in /usr/bin/mate-panel)
==41400==    by 0x162855: panel_desktop_menu_item_new (in /usr/bin/mate-panel)
==41400==    by 0x14EB64: main_menu_append (in /usr/bin/mate-panel)
==41400==    by 0x14DA3E: submenu_to_display (in /usr/bin/mate-panel)
==41400==    by 0x55F1197: g_closure_invoke (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x56031D6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604AD0: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x4C38FD9: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF8C2F: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4AF966E: gtk_menu_popup_at_widget (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x15CF2E: panel_menu_button_popup_menu (in /usr/bin/mate-panel)
==41400==    by 0x15D04C: panel_menu_button_pressed (in /usr/bin/mate-panel)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x5604BEB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A401: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x560A4A1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400==    by 0x49D9801: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x4999FB7: ??? (in /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2408.32)
==41400==    by 0x55F1390: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7800.0)
==41400== 

(mate-panel:41400): GLib-GObject-CRITICAL **: 13:47:43.932: instance with invalid (NULL) class pointer

(mate-panel:41400): GLib-GObject-CRITICAL **: 13:47:43.933: signal_emit_valist_unlocked: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

from mate-menus.

lukefromdc avatar lukefromdc commented on August 16, 2024

Also this leak summary:

==41400== LEAK SUMMARY:
==41400==    definitely lost: 32,680 bytes in 339 blocks
==41400==    indirectly lost: 76,304 bytes in 1,996 blocks
==41400==      possibly lost: 25,045 bytes in 109 blocks
==41400==    still reachable: 14,453,349 bytes in 167,188 blocks
==41400==         suppressed: 0 bytes in 0 blocks
==41400== Reachable blocks (those to which a pointer was found) are not shown.
==41400== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==41400== 
==41400== For lists of detected and suppressed errors, rerun with: -s
==41400== ERROR SUMMARY: 191 errors from 163 contexts (suppressed: 0 from 0)

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

==41400== Invalid read of size 8
==41400== at 0x567100C: g_datalist_clear (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7800.0)
==41400== by 0x48D8373: ??? (in /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4)
==41400== by 0x161F51: panel_desktop_menu_item_finalize (in /usr/bin/mate-panel)

Thanks for testing. Are /usr/bin/mate-panel and /usr/lib/x86_64-linux-gnu/libmate-desktop-2.so.17.1.4 files from system packages or files from local compilations? (If they are files from system packages, then the valgrind command might need an absolute path to the compiled mate-panel.)

I retested with Valgrind and AddressSanitizer and do not see any memory errors when adding a launcher from the compact menu. I do see some memory errors if I immediately remove the new launcher from the panel, but I think that's a separate bug in mate-panel. I can file a ticket for that bug after this ticket is resolved/clarified.

Another difference in our set-ups is that I am testing against 1.26. I was hoping 1.26 and 1.27 were similar enough to at least patch a few crashes.

from mate-menus.

lukefromdc avatar lukefromdc commented on August 16, 2024

All are locally compiled here

from mate-menus.

lukefromdc avatar lukefromdc commented on August 16, 2024

There are a lot of longstanding memory leaks in the panel and elsewhere in MATE, for the purpose of resolving any one issue the others act as spam, ballooning the output generated by valgrind. In this case, part of the output could not even fit in the terminal buffer it seems

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Hmm, i noticed when windows-list shows an running application the launchers will be created after windows-list applet. I never used such a one panel setup.

That is what I see too. I usually move the launcher next to the compact menu after it has been added :).

It seems the launcher will be moved next to compact menu after a restart of the panel

Versions:

* mate-panel 1.26.4-1

* mate-desktop 1.26.2-1

* gtk3 1:3.24.39-2

* glib2 2.78.3-1

Theme:

* Menta

I am using Blue-Menta and tried again with fedora 39 which has same glib2 / gtk3 versions like your system. But i don't get a crash when adding mate-terminal as panel launcher.

rpm -qa glib2
glib2-2.78.3-1.fc39.x86_64

rpm -qa gtk3 
gtk3-3.24.39-1.fc39.x86_64

Would it be possible for you to try the same steps while running mate-panel with valgrind? This command should show the memory issues that are leading to the crash: valgrind --num-callers=30 mate-panel --replace

I am not familiar with valgrind and i get only an output (very huge) when i terminate the process. See (fixed link) https://www.dropbox.com/scl/fi/swedkrfbzl1u9brb1durl/mate-panel-1.26.4_valgrind?rlkey=m51p0edgti0plghfk3pchxpit&dl=0

I used valgrind --num-callers=30 --leak-check=full mate-panel --replace command
But i didn't see an entry starting with matemenu_tree_force_rebuild.......
So, i can't confirm the crash with fedora VMs.

I get only directly a valgrind output (w/o a crash) in terminal when i remove the launcher.

==3772== Invalid write of size 8
==3772==    at 0x4D79D09: gtk_widget_destroyed (gtkwidget.c:4805)
==3772==    by 0x55AA529: g_closure_invoke (gclosure.c:832)
==3772==    by 0x55D8FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==3772==    by 0x55C9D58: signal_emit_valist_unlocked (gsignal.c:3612)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x4D8C4C1: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==3772==    by 0x55B89B3: UnknownInlinedFun (gobject.c:3894)
==3772==    by 0x55B89B3: g_object_unref (gobject.c:3805)
==3772==    by 0x4B42147: UnknownInlinedFun (gtkcontainer.c:1911)
==3772==    by 0x4B42147: gtk_container_remove (gtkcontainer.c:1898)
==3772==    by 0x4D8C48F: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12155)
==3772==    by 0x55B89B3: UnknownInlinedFun (gobject.c:3894)
==3772==    by 0x55B89B3: g_object_unref (gobject.c:3805)
==3772==    by 0x4C2D73E: UnknownInlinedFun (gtkmain.c:2591)
==3772==    by 0x4C2D73E: propagate_event.lto_priv.0 (gtkmain.c:2691)
==3772==    by 0x4C2E309: UnknownInlinedFun (gtkmain.c:1921)
==3772==    by 0x4C2E309: gtk_main_do_event (gtkmain.c:1691)
==3772==    by 0x493A416: UnknownInlinedFun (gdkevents.c:73)
==3772==    by 0x493A416: _gdk_event_emit (gdkevents.c:67)
==3772==    by 0x4993E4D: gdk_event_source_dispatch.lto_priv.1 (gdkeventsource.c:354)
==3772==    by 0x5651E5B: UnknownInlinedFun (gmain.c:3476)
==3772==    by 0x5651E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==3772==    by 0x56ACF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==3772==    by 0x5653446: g_main_loop_run (gmain.c:4551)
==3772==    by 0x4C2BB64: gtk_main (gtkmain.c:1329)
==3772==    by 0x130D09: main (main.c:223)
==3772==  Address 0x6e68858 is 56 bytes inside a block of size 64 free'd
==3772==    at 0x4845B2C: free (vg_replace_malloc.c:985)
==3772==    by 0x5654864: g_free (gmem.c:238)
==3772==    by 0x13DBB2: mate_panel_applet_clear_user_menu (applet.c:383)
==3772==    by 0x14071D: mate_panel_applet_destroy (applet.c:763)
==3772==    by 0x55AA529: g_closure_invoke (gclosure.c:832)
==3772==    by 0x55D8FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==3772==    by 0x55C9D58: signal_emit_valist_unlocked (gsignal.c:3612)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x4D8C4C1: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==3772==    by 0x55B8AE9: UnknownInlinedFun (gobject.c:1447)
==3772==    by 0x55B8AE9: g_object_run_dispose (gobject.c:1440)
==3772==    by 0x164310: panel_profile_delete_removed_ids (panel-profile.c:1420)
==3772==    by 0x16A005: panel_profile_object_id_list_update (panel-profile.c:1513)
==3772==    by 0x16A0CC: panel_profile_object_id_list_notify (panel-profile.c:1532)
==3772==    by 0x55A8DEA: g_cclosure_marshal_VOID__STRINGv (gmarshal.c:1462)
==3772==    by 0x55C9E84: UnknownInlinedFun (gclosure.c:895)
==3772==    by 0x55C9E84: signal_emit_valist_unlocked (gsignal.c:3516)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x54B7482: g_settings_real_change_event (gsettings.c:392)
==3772==    by 0x543C028: _g_cclosure_marshal_BOOLEAN__POINTER_INTv (gmarshal-internal.c:428)
==3772==    by 0x55C9E84: UnknownInlinedFun (gclosure.c:895)
==3772==    by 0x55C9E84: signal_emit_valist_unlocked (gsignal.c:3516)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x54B8E6A: settings_backend_changed (gsettings.c:452)
==3772==    by 0x54B4785: g_settings_backend_invoke_closure (gsettingsbackend.c:275)
==3772==    by 0x56532AC: g_main_context_invoke_full (gmain.c:6533)
==3772==    by 0x54B4907: g_settings_backend_dispatch_signal (gsettingsbackend.c:339)
==3772==    by 0x885607B: dconf_engine_change_fast.constprop.0 (dconf-engine.c:1383)
==3772==    by 0x88566A5: dconf_settings_backend_write (dconfsettingsbackend.c:76)
==3772==    by 0x550EB9F: UnknownInlinedFun (gsettingsbackend.c:802)
==3772==    by 0x550EB9F: g_settings_write_to_backend.isra.0 (gsettings.c:1165)
==3772==  Block was alloc'd at
==3772==    at 0x4849E60: calloc (vg_replace_malloc.c:1595)
==3772==    by 0x56582E1: g_malloc0 (gmem.c:163)
==3772==    by 0x142019: UnknownInlinedFun (applet.c:357)
==3772==    by 0x142019: mate_panel_applet_add_callback (applet.c:345)
==3772==    by 0x14BFA4: setup_button (launcher.c:600)
==3772==    by 0x14D041: UnknownInlinedFun (launcher.c:918)
==3772==    by 0x14D041: launcher_load_from_gsettings (launcher.c:950)
==3772==    by 0x14289A: mate_panel_applet_load_idle_handler (applet.c:941)
==3772==    by 0x564E78C: g_idle_dispatch (gmain.c:6282)
==3772==    by 0x5651E5B: UnknownInlinedFun (gmain.c:3476)
==3772==    by 0x5651E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==3772==    by 0x56ACF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==3772==    by 0x5653446: g_main_loop_run (gmain.c:4551)
==3772==    by 0x4C2BB64: gtk_main (gtkmain.c:1329)
==3772==    by 0x130D09: main (main.c:223)
==3772== 
==3772== Invalid write of size 8
==3772==    at 0x568D7F9: g_nullify_pointer (gutils.c:2860)
==3772==    by 0x55B3EA6: weak_refs_notify (gobject.c:3285)
==3772==    by 0x5631FEE: g_data_set_internal (gdataset.c:411)
==3772==    by 0x55B574C: g_object_real_dispose.lto_priv.0 (gobject.c:1363)
==3772==    by 0x55B8AE9: UnknownInlinedFun (gobject.c:1447)
==3772==    by 0x55B8AE9: g_object_run_dispose (gobject.c:1440)
==3772==    by 0x4C3F0B4: gtk_menu_shell_forall (gtkmenushell.c:1154)
==3772==    by 0x4B409B2: gtk_container_destroy (gtkcontainer.c:1702)
==3772==    by 0x55AA529: g_closure_invoke (gclosure.c:832)
==3772==    by 0x55D8CD3: signal_emit_unlocked_R.isra.0 (gsignal.c:4100)
==3772==    by 0x55C9D58: signal_emit_valist_unlocked (gsignal.c:3612)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x4D8C4C1: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==3772==    by 0x55B89B3: UnknownInlinedFun (gobject.c:3894)
==3772==    by 0x55B89B3: g_object_unref (gobject.c:3805)
==3772==    by 0x4B42147: UnknownInlinedFun (gtkcontainer.c:1911)
==3772==    by 0x4B42147: gtk_container_remove (gtkcontainer.c:1898)
==3772==    by 0x4D8C48F: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12155)
==3772==    by 0x55B89B3: UnknownInlinedFun (gobject.c:3894)
==3772==    by 0x55B89B3: g_object_unref (gobject.c:3805)
==3772==    by 0x4C2D73E: UnknownInlinedFun (gtkmain.c:2591)
==3772==    by 0x4C2D73E: propagate_event.lto_priv.0 (gtkmain.c:2691)
==3772==    by 0x4C2E309: UnknownInlinedFun (gtkmain.c:1921)
==3772==    by 0x4C2E309: gtk_main_do_event (gtkmain.c:1691)
==3772==    by 0x493A416: UnknownInlinedFun (gdkevents.c:73)
==3772==    by 0x493A416: _gdk_event_emit (gdkevents.c:67)
==3772==    by 0x4993E4D: gdk_event_source_dispatch.lto_priv.1 (gdkeventsource.c:354)
==3772==    by 0x5651E5B: UnknownInlinedFun (gmain.c:3476)
==3772==    by 0x5651E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==3772==    by 0x56ACF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==3772==    by 0x5653446: g_main_loop_run (gmain.c:4551)
==3772==    by 0x4C2BB64: gtk_main (gtkmain.c:1329)
==3772==    by 0x130D09: main (main.c:223)
==3772==  Address 0x6da7e98 is 24 bytes inside a block of size 72 free'd
==3772==    at 0x4845B2C: free (vg_replace_malloc.c:985)
==3772==    by 0x5654864: g_free (gmem.c:238)
==3772==    by 0x55AA529: g_closure_invoke (gclosure.c:832)
==3772==    by 0x55D8FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==3772==    by 0x55C9D58: signal_emit_valist_unlocked (gsignal.c:3612)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x4D8C4C1: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==3772==    by 0x55B8AE9: UnknownInlinedFun (gobject.c:1447)
==3772==    by 0x55B8AE9: g_object_run_dispose (gobject.c:1440)
==3772==    by 0x164310: panel_profile_delete_removed_ids (panel-profile.c:1420)
==3772==    by 0x16A005: panel_profile_object_id_list_update (panel-profile.c:1513)
==3772==    by 0x16A0CC: panel_profile_object_id_list_notify (panel-profile.c:1532)
==3772==    by 0x55A8DEA: g_cclosure_marshal_VOID__STRINGv (gmarshal.c:1462)
==3772==    by 0x55C9E84: UnknownInlinedFun (gclosure.c:895)
==3772==    by 0x55C9E84: signal_emit_valist_unlocked (gsignal.c:3516)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x54B7482: g_settings_real_change_event (gsettings.c:392)
==3772==    by 0x543C028: _g_cclosure_marshal_BOOLEAN__POINTER_INTv (gmarshal-internal.c:428)
==3772==    by 0x55C9E84: UnknownInlinedFun (gclosure.c:895)
==3772==    by 0x55C9E84: signal_emit_valist_unlocked (gsignal.c:3516)
==3772==    by 0x55C9F90: g_signal_emit_valist (gsignal.c:3355)
==3772==    by 0x55CA052: g_signal_emit (gsignal.c:3675)
==3772==    by 0x54B8E6A: settings_backend_changed (gsettings.c:452)
==3772==    by 0x54B4785: g_settings_backend_invoke_closure (gsettingsbackend.c:275)
==3772==    by 0x56532AC: g_main_context_invoke_full (gmain.c:6533)
==3772==    by 0x54B4907: g_settings_backend_dispatch_signal (gsettingsbackend.c:339)
==3772==    by 0x885607B: dconf_engine_change_fast.constprop.0 (dconf-engine.c:1383)
==3772==    by 0x88566A5: dconf_settings_backend_write (dconfsettingsbackend.c:76)
==3772==    by 0x550EB9F: UnknownInlinedFun (gsettingsbackend.c:802)
==3772==    by 0x550EB9F: g_settings_write_to_backend.isra.0 (gsettings.c:1165)
==3772==    by 0x54BB836: g_settings_set_value (gsettings.c:1605)
==3772==    by 0x48C5E36: mate_gsettings_remove_all_from_strv (mate-gsettings.c:169)
==3772==  Block was alloc'd at
==3772==    at 0x4849E60: calloc (vg_replace_malloc.c:1595)
==3772==    by 0x56582E1: g_malloc0 (gmem.c:163)
==3772==    by 0x141A21: mate_panel_applet_register (applet.c:1254)
==3772==    by 0x14CFA6: UnknownInlinedFun (launcher.c:900)
==3772==    by 0x14CFA6: launcher_load_from_gsettings (launcher.c:950)
==3772==    by 0x14289A: mate_panel_applet_load_idle_handler (applet.c:941)
==3772==    by 0x564E78C: g_idle_dispatch (gmain.c:6282)
==3772==    by 0x5651E5B: UnknownInlinedFun (gmain.c:3476)
==3772==    by 0x5651E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==3772==    by 0x56ACF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==3772==    by 0x5653446: g_main_loop_run (gmain.c:4551)
==3772==    by 0x4C2BB64: gtk_main (gtkmain.c:1329)
==3772==    by 0x130D09: main (main.c:223)
==3772== 

Any way, this seems a different issue.

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

During rpm building of mate-menus i use this options. Maybe this causes the different?

# fedora specific
# fix for usage of multimedia-menus, games-menu and wine-menu packages
sed -i -e '/<!-- End Other -->/ a\  <MergeFile>applications-merged/multimedia-categories.menu</MergeFile>' layout/mate-applications.menu
sed -i -e '/<MergeFile>applications-merged\/multimedia-categories.menu<\/MergeFile>/ a\  <MergeFile>applications-merged/games-categories.menu</MergeFile>' layout/mate-applications.menu
sed -i -e '/<MergeFile>applications-merged\/games-categories.menu<\/MergeFile>/ a\  <MergeFile>applications-merged/wine.menu</MergeFile>' layout/mate-applications.menu
  
%build
%configure \
 --disable-static \
 --enable-introspection=yes \
 --disable-collection

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

I am not familiar with valgrind and i get only an output (very huge) when i terminate the process. See https://www.dropbox.com/scl/fi/che99qkqxbadgbtdvwnwr/mate-panel-1.26.4_valgrind?rlkey=b3yb13xfxp2fjky5b1kuf5go8&dl=0

Dropbox says the file has been deleted.

I used valgrind --num-callers=30 --leak-check=full mate-panel --replace command But i didn't see an entry starting with matemenu_tree_force_rebuild....... So, i can't confirm the crash with fedora VMs.

I get only directly a valgrind output (w/o a crash) in terminal when i remove the launcher.

The gtk_widget_destroyed error is the same memory error I see when I remove the launcher.

I am not sure why the initial matemenu_tree_force_rebuild error doesn't show up on Fedora 39. I will create a Fedora VM to see if I can spot a difference.

Thanks!

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

During rpm building of mate-menus i use this options. Maybe this causes the different?

# fedora specific
# fix for usage of multimedia-menus, games-menu and wine-menu packages
sed -i -e '/<!-- End Other -->/ a\  <MergeFile>applications-merged/multimedia-categories.menu</MergeFile>' layout/mate-applications.menu
sed -i -e '/<MergeFile>applications-merged\/multimedia-categories.menu<\/MergeFile>/ a\  <MergeFile>applications-merged/games-categories.menu</MergeFile>' layout/mate-applications.menu
sed -i -e '/<MergeFile>applications-merged\/games-categories.menu<\/MergeFile>/ a\  <MergeFile>applications-merged/wine.menu</MergeFile>' layout/mate-applications.menu
  
%build
%configure \
 --disable-static \
 --enable-introspection=yes \
 --disable-collection

It looks like --disable-collection is preventing the crash on Fedora. The callback that causes the crash is added inside of a WITH_COLLECTION block:

static void
matemenu_tree_init (MateMenuTree *self)
{
self->entries_by_id = g_hash_table_new (g_str_hash, g_str_equal);
#ifdef WITH_COLLECTION
self->collection_applet = NULL;
self->settings = g_settings_new ("org.mate.panel");
get_panel_collection_applet (self);
g_signal_connect (self->settings, "changed::object-id-list",
G_CALLBACK (collection_applet_changed),
self);
self->emit_changed_signal = 0;
#endif /* WITH_COLLECTION */
}

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Ok, i will do a rebuild w/o --disable-collection flag.
Does using this flag prevent the crash in Arch Linux?

from mate-menus.

correctmost avatar correctmost commented on August 16, 2024

Yep, --disable-collection prevents the crash on Arch.

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Now i get an valgrind output when adding a launcher and collection menu is enabled.

** Message: 16:36:23.549: PANEL_ORIENTATION_BOTTOM
==2286== Invalid read of size 8
==2286==    at 0x489B990: ??? (in /usr/lib64/libmate-menu.so.2.4.9)
==2286==    by 0x564F78C: g_idle_dispatch (gmain.c:6282)
==2286==    by 0x5652E5B: UnknownInlinedFun (gmain.c:3476)
==2286==    by 0x5652E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==2286==    by 0x56ADF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==2286==    by 0x5654446: g_main_loop_run (gmain.c:4551)
==2286==    by 0x4C2CB64: gtk_main (gtkmain.c:1329)
==2286==    by 0x130D09: main (main.c:223)
==2286==  Address 0x18ef14b0 is 96 bytes inside a block of size 120 free'd
==2286==    at 0x4845B2C: free (vg_replace_malloc.c:985)
==2286==    by 0x5656094: g_free_sized (gmem.c:268)
==2286==    by 0x55D1102: g_type_free_instance (gtype.c:2076)
==2286==    by 0x56324B5: g_datalist_clear (gdataset.c:277)
==2286==    by 0x55B9A92: UnknownInlinedFun (gobject.c:3941)
==2286==    by 0x55B9A92: g_object_unref (gobject.c:3805)
==2286==    by 0x4C36810: gtk_menu_item_destroy (gtkmenuitem.c:1154)
==2286==    by 0x55AB529: g_closure_invoke (gclosure.c:832)
==2286==    by 0x55D9CD3: signal_emit_unlocked_R.isra.0 (gsignal.c:4100)
==2286==    by 0x55CAD58: signal_emit_valist_unlocked (gsignal.c:3612)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4D8D4C1: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==2286==    by 0x55B9AE9: UnknownInlinedFun (gobject.c:1447)
==2286==    by 0x55B9AE9: g_object_run_dispose (gobject.c:1440)
==2286==    by 0x145B6F: handle_matemenu_tree_changed (menu.c:1176)
==2286==    by 0x55AB529: g_closure_invoke (gclosure.c:832)
==2286==    by 0x55D9FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==2286==    by 0x55CAD58: signal_emit_valist_unlocked (gsignal.c:3612)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x489B9AD: ??? (in /usr/lib64/libmate-menu.so.2.4.9)
==2286==    by 0x564F78C: g_idle_dispatch (gmain.c:6282)
==2286==    by 0x5652E5B: UnknownInlinedFun (gmain.c:3476)
==2286==    by 0x5652E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==2286==    by 0x56ADF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==2286==    by 0x5654446: g_main_loop_run (gmain.c:4551)
==2286==    by 0x4C2CB64: gtk_main (gtkmain.c:1329)
==2286==    by 0x130D09: main (main.c:223)
==2286==  Block was alloc'd at
==2286==    at 0x4849E60: calloc (vg_replace_malloc.c:1595)
==2286==    by 0x56592E1: g_malloc0 (gmem.c:163)
==2286==    by 0x55D654E: g_type_create_instance (gtype.c:1979)
==2286==    by 0x55BBF29: g_object_constructor.lto_priv.0 (gobject.c:2620)
==2286==    by 0x4898E76: ??? (in /usr/lib64/libmate-menu.so.2.4.9)
==2286==    by 0x55BBA4B: g_object_new_with_custom_constructor (gobject.c:2163)
==2286==    by 0x55BDD29: UnknownInlinedFun (gobject.c:2243)
==2286==    by 0x55BDD29: g_object_new_valist (gobject.c:2584)
==2286==    by 0x55BE55E: g_object_new (gobject.c:2057)
==2286==    by 0x1478E0: create_applications_menu (menu.c:1228)
==2286==    by 0x157971: UnknownInlinedFun (panel-menu-items.c:1239)
==2286==    by 0x157971: panel_desktop_menu_item_new (panel-menu-items.c:1536)
==2286==    by 0x14AC97: main_menu_append.lto_priv.0 (menu.c:1365)
==2286==    by 0x55AB529: g_closure_invoke (gclosure.c:832)
==2286==    by 0x55D9FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==2286==    by 0x55CAD58: signal_emit_valist_unlocked (gsignal.c:3612)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4D8363F: UnknownInlinedFun (gtkwidget.c:4852)
==2286==    by 0x4D8363F: gtk_widget_show (gtkwidget.c:4825)
==2286==    by 0x4C324E3: gtk_menu_popup_internal (gtkmenu.c:1988)
==2286==    by 0x4C3325C: gtk_menu_popup_at_widget (gtkmenu.c:2361)
==2286==    by 0x55CAE84: UnknownInlinedFun (gclosure.c:895)
==2286==    by 0x55CAE84: signal_emit_valist_unlocked (gsignal.c:3516)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4B03CDD: multipress_pressed_cb (gtkbutton.c:651)
==2286==    by 0x4AC40D2: _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (gtkmarshalers.c:4804)
==2286==    by 0x55CAE84: UnknownInlinedFun (gclosure.c:895)
==2286==    by 0x55CAE84: signal_emit_valist_unlocked (gsignal.c:3516)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4BE0DFD: gtk_gesture_multi_press_begin (gtkgesturemultipress.c:242)
==2286==    by 0x55AF629: g_cclosure_marshal_VOID__BOXEDv (gmarshal.c:1686)
==2286==    by 0x55CAE84: UnknownInlinedFun (gclosure.c:895)
==2286==    by 0x55CAE84: signal_emit_valist_unlocked (gsignal.c:3516)
==2286== 
==2286== Invalid read of size 8
==2286==    at 0x55D2BF1: g_type_check_instance (gtype.c:4288)
==2286==    by 0x55C9D2A: signal_emit_valist_unlocked (gsignal.c:3379)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x489B9AD: ??? (in /usr/lib64/libmate-menu.so.2.4.9)
==2286==    by 0x564F78C: g_idle_dispatch (gmain.c:6282)
==2286==    by 0x5652E5B: UnknownInlinedFun (gmain.c:3476)
==2286==    by 0x5652E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==2286==    by 0x56ADF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==2286==    by 0x5654446: g_main_loop_run (gmain.c:4551)
==2286==    by 0x4C2CB64: gtk_main (gtkmain.c:1329)
==2286==    by 0x130D09: main (main.c:223)
==2286==  Address 0x18ef1450 is 0 bytes inside a block of size 120 free'd
==2286==    at 0x4845B2C: free (vg_replace_malloc.c:985)
==2286==    by 0x5656094: g_free_sized (gmem.c:268)
==2286==    by 0x55D1102: g_type_free_instance (gtype.c:2076)
==2286==    by 0x56324B5: g_datalist_clear (gdataset.c:277)
==2286==    by 0x55B9A92: UnknownInlinedFun (gobject.c:3941)
==2286==    by 0x55B9A92: g_object_unref (gobject.c:3805)
==2286==    by 0x4C36810: gtk_menu_item_destroy (gtkmenuitem.c:1154)
==2286==    by 0x55AB529: g_closure_invoke (gclosure.c:832)
==2286==    by 0x55D9CD3: signal_emit_unlocked_R.isra.0 (gsignal.c:4100)
==2286==    by 0x55CAD58: signal_emit_valist_unlocked (gsignal.c:3612)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4D8D4C1: gtk_widget_dispose.lto_priv.0 (gtkwidget.c:12166)
==2286==    by 0x55B9AE9: UnknownInlinedFun (gobject.c:1447)
==2286==    by 0x55B9AE9: g_object_run_dispose (gobject.c:1440)
==2286==    by 0x145B6F: handle_matemenu_tree_changed (menu.c:1176)
==2286==    by 0x55AB529: g_closure_invoke (gclosure.c:832)
==2286==    by 0x55D9FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==2286==    by 0x55CAD58: signal_emit_valist_unlocked (gsignal.c:3612)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x489B9AD: ??? (in /usr/lib64/libmate-menu.so.2.4.9)
==2286==    by 0x564F78C: g_idle_dispatch (gmain.c:6282)
==2286==    by 0x5652E5B: UnknownInlinedFun (gmain.c:3476)
==2286==    by 0x5652E5B: g_main_context_dispatch_unlocked.lto_priv.0 (gmain.c:4284)
==2286==    by 0x56ADF17: g_main_context_iterate_unlocked.isra.0 (gmain.c:4349)
==2286==    by 0x5654446: g_main_loop_run (gmain.c:4551)
==2286==    by 0x4C2CB64: gtk_main (gtkmain.c:1329)
==2286==    by 0x130D09: main (main.c:223)
==2286==  Block was alloc'd at
==2286==    at 0x4849E60: calloc (vg_replace_malloc.c:1595)
==2286==    by 0x56592E1: g_malloc0 (gmem.c:163)
==2286==    by 0x55D654E: g_type_create_instance (gtype.c:1979)
==2286==    by 0x55BBF29: g_object_constructor.lto_priv.0 (gobject.c:2620)
==2286==    by 0x4898E76: ??? (in /usr/lib64/libmate-menu.so.2.4.9)
==2286==    by 0x55BBA4B: g_object_new_with_custom_constructor (gobject.c:2163)
==2286==    by 0x55BDD29: UnknownInlinedFun (gobject.c:2243)
==2286==    by 0x55BDD29: g_object_new_valist (gobject.c:2584)
==2286==    by 0x55BE55E: g_object_new (gobject.c:2057)
==2286==    by 0x1478E0: create_applications_menu (menu.c:1228)
==2286==    by 0x157971: UnknownInlinedFun (panel-menu-items.c:1239)
==2286==    by 0x157971: panel_desktop_menu_item_new (panel-menu-items.c:1536)
==2286==    by 0x14AC97: main_menu_append.lto_priv.0 (menu.c:1365)
==2286==    by 0x55AB529: g_closure_invoke (gclosure.c:832)
==2286==    by 0x55D9FEB: signal_emit_unlocked_R.isra.0 (gsignal.c:3980)
==2286==    by 0x55CAD58: signal_emit_valist_unlocked (gsignal.c:3612)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4D8363F: UnknownInlinedFun (gtkwidget.c:4852)
==2286==    by 0x4D8363F: gtk_widget_show (gtkwidget.c:4825)
==2286==    by 0x4C324E3: gtk_menu_popup_internal (gtkmenu.c:1988)
==2286==    by 0x4C3325C: gtk_menu_popup_at_widget (gtkmenu.c:2361)
==2286==    by 0x55CAE84: UnknownInlinedFun (gclosure.c:895)
==2286==    by 0x55CAE84: signal_emit_valist_unlocked (gsignal.c:3516)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4B03CDD: multipress_pressed_cb (gtkbutton.c:651)
==2286==    by 0x4AC40D2: _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (gtkmarshalers.c:4804)
==2286==    by 0x55CAE84: UnknownInlinedFun (gclosure.c:895)
==2286==    by 0x55CAE84: signal_emit_valist_unlocked (gsignal.c:3516)
==2286==    by 0x55CAF90: g_signal_emit_valist (gsignal.c:3355)
==2286==    by 0x55CB052: g_signal_emit (gsignal.c:3675)
==2286==    by 0x4BE0DFD: gtk_gesture_multi_press_begin (gtkgesturemultipress.c:242)
==2286==    by 0x55AF629: g_cclosure_marshal_VOID__BOXEDv (gmarshal.c:1686)
==2286==    by 0x55CAE84: UnknownInlinedFun (gclosure.c:895)
==2286==    by 0x55CAE84: signal_emit_valist_unlocked (gsignal.c:3516)
==2286== 

(mate-panel:2286): GLib-GObject-CRITICAL **: 16:37:13.721: instance with invalid (NULL) class pointer

(mate-panel:2286): GLib-GObject-CRITICAL **: 16:37:13.722: signal_emit_valist_unlocked: assertion

But without matemenu_tree_force_rebuild line and the panel didn't crash.
Full valgrind log https://www.dropbox.com/scl/fi/awawohzdos34bn45w3t5a/mate-panel-1.26.4_valgrind_collection_menu?rlkey=aaoecnbu2i9bya1djjjx32s56&dl=0

I will test your PR.

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Yep, --disable-collection prevents the crash on Arch.

Calling the author of collection menu.
@zhuyaliang

from mate-menus.

raveit65 avatar raveit65 commented on August 16, 2024

Without using valgrind the panel crashes and fedora abrt tool gives me a backtrace.

Thread 1 (Thread 0x7f04791aaf40 (LWP 4189)):
#0  g_type_check_instance (type_instance=0x560fdb6af8a0) at ../gobject/gtype.c:4290
        node = <optimized out>
#1  0x00007f047a6c3d2b in signal_emit_valist_unlocked (instance=instance@entry=0x560fdb6af8a0, signal_id=signal_id@entry=427, detail=detail@entry=0, var_args=var_args@entry=0x7ffdee80bd40) at ../gobject/gsignal.c:3379
        _g_boolean_var_102 = <optimized out>
        instance_and_params = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        node_copy = Python Exception <class 'gdb.error'>: value has been optimized out
{signal_id = 427, itype = , name = 0x7f047b3432c2 "changed", destroyed = 0, flags = 2, n_params = 0, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x0, return_type = 0x4, class_closure_bsa = 0x0, accumulator = 0x0, c_marshaller = 0x7f047a6aa510 <g_cclosure_marshal_VOID__VOID>, va_marshaller = 0x7f047a602e70 <sysprof_collector_get+80>, emission_hooks = 0x0, single_va_closure = 0x1}
        __func__ = "signal_emit_valist_unlocked"
#2  0x00007f047a6c4f91 in g_signal_emit_valist (instance=0x560fdb6af8a0, signal_id=427, detail=0, var_args=var_args@entry=0x7ffdee80bd40) at ../gobject/gsignal.c:3355
#3  0x00007f047a6c5053 in g_signal_emit (instance=instance@entry=0x560fdb6af8a0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3675
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffdee80be20, reg_save_area = 0x7ffdee80bd60}}
#4  0x00007f047b3ea9ae in matemenu_tree_invoke_monitors (tree=0x560fdb6af8a0) at /usr/src/debug/mate-menus-1.26.1-3.fc39.x86_64/libmenu/matemenu-tree.c:995
#5  emit_changed_signal (data=data@entry=0x560fdb6af8a0) at /usr/src/debug/mate-menus-1.26.1-3.fc39.x86_64/libmenu/matemenu-tree.c:710
        self = 0x560fdb6af8a0
#6  0x00007f047a59f78d in g_idle_dispatch (source=0x560fdb7d8770, callback=0x7f047b3ea980 <emit_changed_signal>, user_data=0x560fdb6af8a0) at ../glib/gmain.c:6282
        idle_source = 0x560fdb7d8770
        again = <optimized out>
#7  0x00007f047a5a2e5c in g_main_dispatch (context=0x560fdaed4e70) at ../glib/gmain.c:3476
        dispatch = 0x7f047a59f760 <g_idle_dispatch>
        prev_source = 0x0
        begin_time_nsec = 869680568361
        was_in_call = 0
        user_data = 0x560fdb6af8a0
        callback = 0x7f047b3ea980 <emit_changed_signal>
        cb_funcs = 0x7f047a68f380 <g_source_callback_funcs>
        cb_data = 0x560fdb815e70
        need_destroy = <optimized out>
        source = 0x560fdb7d8770
        current = 0x560fdaef1cd0
        i = 7
        __func__ = {<optimized out> <repeats 16 times>}
#8  g_main_context_dispatch_unlocked (context=0x560fdaed4e70) at ../glib/gmain.c:4284
#9  0x00007f047a5fdf18 in g_main_context_iterate_unlocked.isra.0 (context=0x560fdaed4e70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
        max_priority = 200
        timeout = 0
        some_ready = 1
        nfds = 4
        allocated_nfds = <optimized out>
        fds = 0x560fdafe10c0
        begin_time_nsec = 869675249859
#10 0x00007f047a5a4447 in g_main_loop_run (loop=0x560fdb1c0260) at ../glib/gmain.c:4551
        self = <optimized out>
        __func__ = "g_main_loop_run"
#11 0x00007f047ac06b65 in gtk_main () at ../gtk/gtkmain.c:1329
        loop = 0x560fdb1c0260
#12 0x0000560fd98e9d0a in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/mate-panel-1.26.4-1.fc39.x86_64/mate-panel/main.c:223
        desktopfile = <optimized out>
        context = <optimized out>
        error = 0x0
        display = <optimized out>
        screen = 0x560fdaeba4d0
        css = 0x560fdb15dc60
        provider = 0x560fdb15dc60
        resource = 0x560fd993b000 "/org/mate/panel/theme/mate-panel.css"
        priority = 1

Thread 2 (Thread 0x7f046b9ff6c0 (LWP 4192)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f047a5fab2d in g_cond_wait (cond=0x560fdaee0028, mutex=0x560fdaee0020) at ../glib/gthread-posix.c:1552
        saved_errno = 0
        res = <optimized out>
        sampled = 1
#2  0x00007f047a56e22b in g_async_queue_pop_intern_unlocked (queue=0x560fdaee0020, wait=1, end_time=-1) at ../glib/gasyncqueue.c:425
        retval = <optimized out>
        __func__ = "g_async_queue_pop_intern_unlocked"
#3  0x00007f047a5d7393 in g_thread_pool_spawn_thread (data=<optimized out>) at ../glib/gthreadpool.c:311
        spawn_thread_data = <optimized out>
        thread = 0x0
        error = 0x0
        prgname = <optimized out>
        name = "pool-mate-panel"
#4  0x00007f047a5d3523 in g_thread_proxy (data=0x560fdaeba100) at ../glib/gthread.c:831
        thread = 0x560fdaeba100
        __func__ = "g_thread_proxy"
#5  0x00007f047a23f897 in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139657205773728, -6566177191235322121, 139656962242240, -120, 0, 140728604863424, -6566177191214350601, -6566138468698980617}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f047a2c66fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 3 (Thread 0x7f046b1fe6c0 (LWP 4193)):
#0  0x00007f047a2b8bcd in __GI___poll (fds=0x560fdaee2ee0, nfds=2, timeout=1261) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f047a5fdeb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=2, fds=0x560fdaee2ee0, timeout=<optimized out>, context=0x560fdaee2d20) at ../glib/gmain.c:4653
        ret = <optimized out>
        errsv = <optimized out>
        poll_func = 0x7f047a5b0c60 <g_poll>
        poll_func = <optimized out>
        ret = <optimized out>
        errsv = <optimized out>
#2  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x560fdaee2d20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344
        max_priority = 2147483647
        timeout = 1261
        some_ready = <optimized out>
        nfds = 2
        allocated_nfds = <optimized out>
        fds = 0x560fdaee2ee0
        begin_time_nsec = 869679577593
#3  0x00007f047a5a0ad3 in g_main_context_iteration (context=0x560fdaee2d20, may_block=may_block@entry=1) at ../glib/gmain.c:4414
        retval = <optimized out>
#4  0x00007f047a5a0b29 in glib_worker_main (data=<optimized out>) at ../glib/gmain.c:6574
#5  0x00007f047a5d3523 in g_thread_proxy (data=0x560fdae9c200) at ../glib/gthread.c:831
        thread = 0x560fdae9c200
        __func__ = "g_thread_proxy"
#6  0x00007f047a23f897 in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139657205773728, -6566176091186823433, 139656953849536, -120, 0, 140728604863200, -6566176091165851913, -6566138468698980617}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f047a2c66fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 4 (Thread 0x7f046a9da6c0 (LWP 4195)):
#0  0x00007f047a2b8bcd in __GI___poll (fds=0x7f0460000b90, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f047a5fdeb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=3, fds=0x7f0460000b90, timeout=<optimized out>, context=0x560fdaeef670) at ../glib/gmain.c:4653
        ret = <optimized out>
        errsv = <optimized out>
        poll_func = 0x7f047a5b0c60 <g_poll>
        poll_func = <optimized out>
        ret = <optimized out>
        errsv = <optimized out>
#2  g_main_context_iterate_unlocked.isra.0 (context=0x560fdaeef670, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344
        max_priority = 2147483647
        timeout = -1
        some_ready = <optimized out>
        nfds = 3
        allocated_nfds = <optimized out>
        fds = 0x7f0460000b90
        begin_time_nsec = 869679289182
#3  0x00007f047a5a4447 in g_main_loop_run (loop=0x560fdaeef7a0) at ../glib/gmain.c:4551
        self = <optimized out>
        __func__ = "g_main_loop_run"
#4  0x00007f047a80f592 in gdbus_shared_thread_func (user_data=0x560fdaeef640) at ../gio/gdbusprivate.c:284
        data = 0x560fdaeef640
#5  0x00007f047a5d3523 in g_thread_proxy (data=0x560fdaeeae60) at ../glib/gthread.c:831
        thread = 0x560fdaeeae60
        __func__ = "g_thread_proxy"
#6  0x00007f047a23f897 in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139657205773728, -6566174972347842825, 139656945313472, -120, 11, 140728604863568, -6566174972326871305, -6566138468698980617}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f047a2c66fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 5 (Thread 0x7f046a19d6c0 (LWP 4201)):
#0  0x00007f047a2b8bcd in __GI___poll (fds=0x7f0454000b90, nfds=1, timeout=24996) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f047a5fdeb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=1, fds=0x7f0454000b90, timeout=<optimized out>, context=0x560fdaf3be60) at ../glib/gmain.c:4653
        ret = <optimized out>
        errsv = <optimized out>
        poll_func = 0x7f047a5b0c60 <g_poll>
        poll_func = <optimized out>
        ret = <optimized out>
        errsv = <optimized out>
#2  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x560fdaf3be60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344
        max_priority = 2147483647
        timeout = 24996
        some_ready = <optimized out>
        nfds = 1
        allocated_nfds = <optimized out>
        fds = 0x7f0454000b90
        begin_time_nsec = 869679295905
#3  0x00007f047a5a0ad3 in g_main_context_iteration (context=context@entry=0x560fdaf3be60, may_block=may_block@entry=1) at ../glib/gmain.c:4414
        retval = <optimized out>
#4  0x00007f04791296b5 in dconf_gdbus_worker_thread (user_data=0x560fdaf3be60) at ../gdbus/dconf-gdbus-thread.c:82
        context = 0x560fdaf3be60
#5  0x00007f047a5d3523 in g_thread_proxy (data=0x560fdaf3c040) at ../glib/gthread.c:831
        thread = 0x560fdaf3c040
        __func__ = "g_thread_proxy"
#6  0x00007f047a23f897 in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139657205773728, -6566173840087089417, 139656936675008, -120, 17, 140728604866256, -6566173840066117897, -6566138468698980617}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f047a2c66fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

from mate-menus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.