The menubar library breaks entirely if it cannot parse every .desktop file in its search path. For example, it breaks if one of your .desktop files is a broken symlink.
For example, run # ln -s /foo /usr/share/applications/broken.desktop Restart awesome, and open the menubar. You will get an error at lib/menubar/utils.lua:131 because it assumes that it will be able to parse every .desktop file. It's an uncommon situation, but it's pretty annoying that it breaks the whole menubar rather than skipping the problematic file. Max