A few days ago the system menu didn't appear any more (but there was some xfce stuff still), so yesterday I upgraded to benny's experimental RC1 installer, but that still didn't solve the problem. Then I did export XDG_DATA_DIRS="$HOME/.local/share:/path/to/xfce/prefix/share:/usr/local/share:/usr/share" and ran xfdesktop again, so it started to recreate the system menu. I know it's kind of broken (a bit was about that in #272) but mine xfdesktop won't slow down. It ran whole night at ~99% CPU but was still unable to finish whatever was it doing. In the morning I was able to use/see the desktop menu, but it was really slow and xfdesktop was STILL eating CPU. So i killed it in hope it had cached the menu, but the next time i ran it, it started all over again. In one word: i think xfdesktop can't somewhy finish creating the system menu
hmm, never seen this before. ok, i need you to run xfdesktop inside gdb from a terminal. after it's been sitting at 99% CPU for a minute or so, hit ctrl+c. it should give you a "(gbb)" prompt; type bt and hit enter, and paste what it says. if there is any other output before that, please paste that as well. note: if there are repeated messages about putting something in a horizontal list, leave it out, as it's unrelated. if you end up with a large amount of output, please put it in a file and attach it to the bug.
after running ~5 minutes all i got was: #0 0x48d1e6b9 in simple_add_entry () from /usr/local/lib/libxfce4util.so.1 #1 0x48d1f26c in _xfce_rc_simple_parse () from /usr/local/lib/libxfce4util.so.1 #2 0x48d1df2d in _xfce_rc_config_new () from /usr/local/lib/libxfce4util.so.1 #3 0x48d1cd8d in xfce_rc_config_open () from /usr/local/lib/libxfce4util.so.1 #4 0x40236103 in desktop_menu_cache_is_valid () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #5 0x40234fec in _generate_menu () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #6 0x4023520c in _generate_menu_initial () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #7 0x47421f53 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0 #8 0x4741eb92 in g_main_depth () from /usr/lib/libglib-2.0.so.0 #9 0x4741fc88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #10 0x4741ffc0 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #11 0x47420603 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #12 0x491624e3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x0804d4da in main ()
ok, i removed old menu caches, and i got it generating menu again (looks like it used cache last time). It is still running high, and i so got new bt: #0 0x4741c365 in g_list_last () from /usr/lib/libglib-2.0.so.0 #1 0x4741ba77 in g_list_append () from /usr/lib/libglib-2.0.so.0 #2 0x402387ef in desktop_menu_cache_add_dentrydir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #3 0x4023c842 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #4 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #5 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #6 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #7 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #8 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #9 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #10 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #11 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #12 0x4023c7e9 in menu_dentry_legacy_process_dir () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #13 0x4023c980 in menu_dentry_legacy_add_all () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #14 0x4023c3e2 in desktop_menu_dentry_parse_files () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #15 0x40239e84 in menu_file_xml_start () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #16 0x47423f72 in g_markup_parse_context_parse () from /usr/lib/libglib-2.0.so.0 #17 0x4023a7e5 in desktop_menu_file_parse () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so #18 0x40236f38 in _generate_menu () from /usr/local/lib/xfce4/modules/xfce4_desktop_menu.so # from here on it continues as last time
Looks like i found the problem. Looks like /usr/share/apps/Debian contains LOTS of directories that contain NO .desktop's and link to /usr/share/doc. So thathswhy it took so much time and cpu and could never finish it. It looks like rox has to do something with them, as these app directories contain AppRun, which says: # Generated by /etc/menu-methods/rox : do not edit I suggest making appfinder exclude this dir for now :)
ok, it shouldn't be looking in /usr/share/apps/, which was a mistake on xfdesktop's part. it should be /usr/share/gnome/apps/. /usr/share/apps/ is for non-public .desktop files... fixed in CVS, though unfortunately not soon enough for 4.2RC2.