I finally have the chance to look at /var/log/Xorg.0.log in recovery mode but it didn't have anything with "(EE)" or "(WW)". And in recovery mode, I can shutdown properly with shutdown -h now. Any more suggestion?