Mar 142007

So I upgraded my iMac Core Duo to Mac OS X 10.4.9 late last night. This morning, I discovered that I couldn’t connect to any of the key Mozilla services I use most: IRC, mail, and certain areas of the web site.

Eventually I realized that the problem extended to any service requiring any sort of security privileges. SSL, secure web sites, applications that need administrative privileges, and even changing certain system preferences.

So I started up Keychain Access to run a diagnostic on my keychain, only to see that my keychain wasn’t listed, and a warning message indicating that Keychain Access couldn’t communicate with the securityd daemon.

So I did a ps and found that the daemon is in fact not running. A long series of reboots and tests later, I realized that the problem is that every time .Mac sync tries to synchronize my keychains, the securityd process dies — and the kcSync program that handles the keychain sync never exits. I suspect that kcSync is supposed to kill the security daemon, but is also supposed to restart it after it’s done syncing — but it never finishes.

A reinstall of the 10.4.9 update from the combo updater didn’t resolve the problem; nor did deleting extension and other system caches. I’ve now managed to disable keychain syncing temporarily, and have reset my .Mac sync data. It’s doing a fresh sync across to .Mac now. Once that’s done, I’ll try re-enabling keychain syncing and see what happens.

I’m a little confused as to why Firefox was affected by this, since it doesn’t use the keychain for security purposes at present. But it, too, had serious problems dealing with sites requiring security. Some worked, some didn’t. It was quite strange.

 Posted by at 12:36 PM

  2 Responses to “Post-Upgrade Traumatic Stress Disorder”

  1. Might want to write in to and keep an eye on that site for the next few days… they tend to cover all the drama of an update and do a great job. Forums are good too.

  2. OK, the problem is that when .Mac sync goes to synchronize the keychain, it kills securityd for the duration. For whatever reason, the daemon isn’t getting restarted when that process ends, and I can’t figure out any way to restart it by hand, since you need privs, which you can’t get when the daemon isn’t running. So I’ve disabled keychain sync for the moment.