MacOS – Unable to sign out of iCloud on OSX Yosemite or disable Keychain

erroricloudkeychainmacos

Background

This appears to be an ongoing problem with many people.. In short, I'm getting a ton of errors in my system.log along the lines of:

CloudKeychainProxy[307]:  __39-[UbiqitousKVSProxy doSyncWithAllPeers]_block_invoke_2 <UBK-s-pC---> syncWithAllPeers (null), rescheduling timer

This happens once every 5 seconds – kind of silly, right?

The first thing I wanted to do was to sign out of iCloud because something has obviously gone wrong there. I open the system preferences, navigate to iCloud and try to hit Sign Out. One by one the iCloud services are all disabled, each asks me if I want to keep a copy of the data locally. This process finishes, and then I get an error stating:

Your iCloud account couldn't be removed at this time.

Turn off all iCloud services and try again.

The one holdout in the iCloud preferences pane is Keychain. When I uncheck the box, it immediately re-checks itself, the moment I answer the keep or delete data question (and regardless of the answer selected).

A look in system.log via Console shows this error appearing the moment the box is rechecked:

com.apple.preferences.icloud.remoteservice[645]: [AOSAccounts] : [SetEnabled] : Did not call SSRemoveSyncedKeychainData as we had an error in SOSCCRemoveThisDeviceFromCircle for account myaccount@site.com  error: (null)

(actual email address replaced with "myaccount@site.com")

So. I can't sign out of iCloud since I can't disable iCloud Keychain. WTF?

Ideas that did not work

  • Repairing permissions, both in Disk Utility, and my home directory permissions from the Cmd-R-on-boot Recovery system. No effect.

  • Checking for disk errors – there are none.

  • Booting in safe mode – No effect.

  • Clearing every cache possible (via OnyX), including LaunchServices, dyld, XPC, kernel, boot, and system components. – No effect.

  • Changing my password on iCloud.com – this results in a prompt for a password which is never accepted, and attempting to cancel out of it results in System Preferences crashing!! After reloading it, it appears that my modified password was accepted, but no other changes have been made. No effect on the problem.

  • Removing all third party kexts (anything that shows in a kextstat | grep -v apple). Only stuff I had in there was Virtualbox and Little Snitch, both of which were uninstalled totally. No effect.

  • Signing out of all other iCloud devices, including another Mac, an iPhone, and an iPad. No effect.

Ideas that are not acceptable

  • Creating a new user account. This is a workaround, and does not fix whatever's been broken. The same problem could happen again, and just abandoning my account anytime it does really isn't a tenable solution.

Other notes

iCloud appears to work fine except for the keychain bits. New passwords saved in Safari do not synchronize across devices. Mail, notes, calendar, etc, work fine.

Apple Support was useless on this matter, suggesting everything I tried above, with the only other option being a full iCloud reset, which is both the nuclear option (all my synced data goes away), and may not fix the problem on the mac anyways.

Best Answer

Signing in in my iPhone and enable iCloud Keychain did the trick to me. So I restored the keychain in my iPhone and then the keychain switch in my Mac changed to off state as magic