I spent a few minutes scratching my head over this one today, so here is a donation to the Googleverse.

When you first log into a Solaris 10 system via a graphical terminal, it prompts you to select the Java Desktop System or Common Desktop Environment. It stores your preference in your home directory for future reference.

The bug is that if this fails for some reason, no error is presented, but instead the login screen comes back up.

I had created ~pepper as root and not set ownership, but ssh was working fine. When I tried logging into my Solaris 10 VM, I thought it was curdled because login could not complete. Now I think creating ~/.dt/sessions/lastsession is a hard requirement, which it should not be. There are lots of reasons one's home directory might not be writable. None of these need to prevent login, and the lack of an error message or explanation aggravates the problem.