I recently installed Solaris 11 Express at work. This past Friday, I was suddenly unable to log in to the desktop after a crash/reboot. I did a lot of digging but eventually I found the right clue in \~/.xsession-errors:

.bashrc: no such file or directory

Turns out a change I had made to ensure consistency in my console environments came back to bite me in the rear. Specifically, I copied all of my customizations in .profile to .bashrc and added a line to .profile:

. .bashrc

The Gnome login process must be calling .profile from some other working directory. While logged in via SSH, I changed the above line to a fully qualified path (/export/home/myuser/.bashrc) and this fixed the issue. Maybe one day I'll understand the reasoning behind having .profile vs. .bashrc, but that day is not today.