Sorry, there is no SessionManger error reported here. but I've fixed my issue by replacing dash with bash linked to /bin/sh. Gnome-session can't source my .bashrc if sh linked to dash. It's a bit ridiculous thing that .bashrc stops gnome-session, isn't it?