After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 744431 - gnome-shell crashed with SIGSEGV in g_desktop_app_info_get_is_hidden()
gnome-shell crashed with SIGSEGV in g_desktop_app_info_get_is_hidden()
Status: RESOLVED OBSOLETE
Product: gnome-menus
Classification: Core
Component: general
3.13.x
Other Linux
: Normal critical
: ---
Assigned To: gnome-menus dummy account
gnome-menus dummy account
Depends on:
Blocks:
 
 
Reported: 2015-02-12 20:34 UTC by Cristian Aravena Romero
Modified: 2021-05-25 12:46 UTC
See Also:
GNOME target: ---
GNOME version: 3.25/3.26



Description Cristian Aravena Romero 2015-02-12 20:34:26 UTC
Open bug in launchpad.net
https://bugs.launchpad.net/ubuntu/+source/gnome-menus/+bug/1206729

"Fazendo backup."

  • #0 g_desktop_app_info_get_is_hidden
    at /build/buildd/glib2.0-2.37.3/./gio/gdesktopappinfo.c line 679
  • #1 desktop_entry_get_hidden
    at /build/buildd/gnome-menus-3.8.0/./libmenu/desktop-entries.c line 578
  • #2 process_layout
    at /build/buildd/gnome-menus-3.8.0/./libmenu/gmenu-tree.c line 3690
  • #3 process_layout
    at /build/buildd/gnome-menus-3.8.0/./libmenu/gmenu-tree.c line 3466
  • #4 gmenu_tree_build_from_layout
    at /build/buildd/gnome-menus-3.8.0/./libmenu/gmenu-tree.c line 4767
  • #5 gmenu_tree_load_sync
    at /build/buildd/gnome-menus-3.8.0/./libmenu/gmenu-tree.c line 745
  • #6 on_apps_tree_changed_cb
    at shell-app-system.c line 305
  • #7 _g_closure_invoke_va
    at /build/buildd/glib2.0-2.37.3/./gobject/gclosure.c line 840
  • #8 g_signal_emit_valist
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c line 3234
  • #9 g_signal_emit
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c line 3382
  • #10 menu_layout_invoke_monitors
    at /build/buildd/gnome-menus-3.8.0/./libmenu/menu-layout.c line 154
  • #11 g_main_dispatch
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c line 3058
  • #12 g_main_context_dispatch
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c line 3634
  • #13 g_main_context_iterate
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c line 3705
  • #14 g_main_loop_run
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c line 3899
  • #15 meta_run
    at core/main.c line 556
  • #16 main
    at main.c line 410

Comment 1 Ricky Zhou 2018-11-02 17:04:18 UTC
I've been running into this recently as well, from the gnome-panel process in flashback mode. I suspect the bug affects both flashback and shell, given that it happens inside of libgnome-menu, which appears to be a shared component between the two.

Here is a symbolized backtrace:

  • #0 g_desktop_app_info_get_is_hidden
  • #1 process_layout
  • #2 process_layout
  • #3 gmenu_tree_load_sync
  • #4 handle_gmenu_tree_changed
  • #5 g_closure_invoke
  • #6 signal_emit_unlocked_R
  • #7 g_signal_emit_valist
  • #8 g_signal_emit
  • #9 menu_layout_invoke_monitors
  • #10 g_main_context_dispatch
  • #11 g_main_context_iterate.isra
  • #12 g_main_loop_run
  • #13 gtk_main
  • #14 main

Here is the crashing instruction:

(gdb) x/i $pc
=> 0x7f53ebf43570 <g_desktop_app_info_get_is_hidden>:	movzbl 0xc0(%rdi),%eax
(gdb) p/a $rdi
$1 = 0x0

The cause of the segfault is g_desktop_app_info_get_is_hidden being called with a NULL argument. 

This is most likely the same bug as this one in Cinnamon:

https://github.com/linuxmint/Cinnamon/issues/5882

which was fixed in https://github.com/linuxmint/cinnamon-menus/commit/7516e8d138072d167ea93b37a2ffcbcf5b250756.

I do not fully understand that commit, but I can see that it would have prevented the null pointer dereference that happened here. Perhaps that fix could be ported over to GNOME as well?
Comment 2 André Klapper 2021-05-25 12:46:05 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new enhancement request ticket at
  https://gitlab.gnome.org/GNOME/gnome-menus/-/issues/

Thank you for your understanding and your help.