At some point in the endless reboots back and forth to different OSes, I found myself again at the Mac OS X login screen. I entered my username and password. It accepted them, the login screen went away and… came back. It did this several times. I rebooted. No luck. I booted from the Leopard install DVD and repaired the disk and repaired permissions. Nada. Nothing. I started looking and everyone was saying “Bad Luck- guess you’ll have to archive and install.” I’ve never done an archive and install. I’m a firm believer that any OS ‘upgrade’ is better if you wipe everything and start fresh. But I was not in the mood to reinstall Mac OS X.
Luckily, I stumbled upon a post on a third party site that solved the problem. Basically my login caches had become corrupt. To fix it you have to remove (or move out of the caches folder) some files OS X accesses at login.
“I discovered that Launch Services’ cache was corrupted, and was causing lsregister to seg fault.” His posting was related to MacOSX 10.2.6, and since then the name of the Launch Services cache file has morphed. I found it in the same place (the /Library/Caches directory), but now there is more than one and they take the form of “com.apple.LaunchServices-023uid.csstore” where uid varies depending on the appropriate userid number. I removed all of the Launch Services files from /Library/Caches, restarted, and was able to log in fine. The only side effect was that the applications-to-launch-at-login list was gone (the “Login Items” tab of the Account Preference Pane) and had to be reconstructed.
I solved it by booting again from the Leopard Install DVD and in the Utilities menu is a Terminal. The Installer mounts the local drives for you apparently so it was very easy- just navigate to the /Library/Caches folder and get rid of those files. And we’re back without reinstalling.