Description of problem: Calling gmenu_tree_lookup blocks and causes 100% CPU usage. gnome-menus-2.23.1-1.fc10 in rawhide seems to have this fixed. Version-Release number of selected component (if applicable): gnome-menus-2.22.1-1.fc9 glib2-2.16.3-5.fc9 How reproducible: Always Steps to Reproduce: 1. gcc -x c -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DGMENU_I_KNOW_THIS_IS_UNSTABLE -lgnome-menu - <<EOF #include <glib.h> #include <glib/gprintf.h> #include <gnome-menus/gmenu-tree.h> int main(int argc, char **argv) { GMenuTree *menuTree = gmenu_tree_lookup ("/etc/xdg/menus/applications.menu", GMENU_TREE_FLAGS_NONE ); GMenuTreeDirectory *rootDirectory = gmenu_tree_get_root_directory(menuTree); return 0; } 2. ./a.out Actual results: hangs Expected results: shouldn't hang Additional info: backtrace: #0 IA__g_slist_find (list=0x12d3820, data=0x310fa6d3f0) at gslist.c:571 #1 0x0000003100c608cf in IA__g_once_init_enter_impl (value_location=<value optimized out>) at gthread.c:217 #2 0x000000310f829b1c in IA__g_file_monitor_get_type () at ../glib/gthread.h:338 #3 0x000000310f849594 in IA__g_local_file_monitor_get_type () at glocalfilemonitor.c:39 #4 0x000000310f82ed74 in _g_io_modules_ensure_loaded () at giomodule.c:315 #5 0x000000310f837fda in get_default_vfs (arg=<value optimized out>) at gvfs.c:183 #6 0x0000003100c5e8e4 in IA__g_once_impl (once=<value optimized out>, func=<value optimized out>, arg=<value optimized out>) at gthread.c:190 #7 0x000000310f81b74e in IA__g_file_new_for_path (path=<value optimized out>) at gfile.c:4633 #8 0x000000000011c2cc in lookup_monitor (path=0x12d05f0 "/etc/xdg/menus/applications.menu", is_directory=0) at menu-monitor.c:215 #9 0x00000000001163e8 in gmenu_tree_add_menu_file_monitor (tree=0x12cf4f0, path=0x12d05f0 "/etc/xdg/menus/applications.menu", type=<value optimized out>) at gmenu-tree.c:339 #10 0x00000000001171cc in gmenu_tree_new (type=<value optimized out>, menu_file=0x12cf5e0 "/etc/xdg/menus/applications.menu", canonical=1, flags=GMENU_TREE_FLAGS_NONE) at gmenu-tree.c:633 #11 0x0000000000118734 in gmenu_tree_lookup (menu_file=0x12cf5e0 "/etc/xdg/menus/applications.menu", flags=GMENU_TREE_FLAGS_NONE) at gmenu-tree.c:447 #12 0x000000000040065a in main ()
Seems to be fixed in gnome-menus-2.22.2-1.fc9.