The answer is: JUST ANGRILY RUN OVER THE PROBLEM
- Boot into Safe Mode (holding down shift at the two separate appropriate moments, BTW OMGWTF). Safe mode still won’t login, but now you have an option…
- Get to a terminal, somehow.
- I was able to use crazy circus methods to get one: I pressed the play/pause button on my keyboard to trigger iTunes to bring up a license agreement dialog box, this in turn brings up the menu bar, which I used to get to System Preferences, from there I used the “Secrets” prefpane (which was luckily already installed) to launch Firefox, thereafter I used a url handler to have firefox let me choose an application to open – for example “Terminal” or “Quicksilver”)
- There must be a better way.
At the terminal, run this (all on one line):
sudo launchctl unload -w "/System/Library/LaunchDaemons/com.apple.mbsystemadministration.plist"
enter your password when prompted, then reboot.
If you know a better way to fix this issue, please share. If only
launchctl unload -w from single-user-mode would work across reboots…
From safe-mode, before the fix, errors like these were getting logged:
Oct 22 13:12:41 unknown mbsystemadministration: open on (null)/Library/Preferences/.GlobalPreferences.plist: File exists Oct 22 13:12:41 unknown com.apple.xpc.launchd (com.apple.mbbackgrounduseragent): Service only ran for 0 seconds. Pushing respawn out by 10 seconds. Oct 22 13:12:41 unknown mbsystemadministration: open on (null)/Library/Preferences/com.apple.HIToolbox.plist: File exists Oct 22 13:12:41 unknown mbsystemadministration: open on (null)/Library/Preferences/com.apple.universalaccess.plist: File exists Oct 22 13:12:51 unknown com.apple.xpc.launchd (com.apple.mbbackgrounduseragent): Service only ran for 0 seconds. Pushing respawn out by 10 seconds. Oct 22 13:13:01 unknown com.apple.xpc.launchd (com.apple.mbbackgrounduseragent): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
The “mb” in “mbsystemadministration.plist” is “MacBuddy” as you can see by running:
strings '/System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbsystemadministration' | grep -i buddy
Note I’m removing some things for blog readability…
-[MBSAServer getBuddyUser:] -[MBSAServer postMacBuddyTasks:] -[MBSAServer preMacBuddyTasks:] -[MBSAServer terminateBuddySession:transitioningToUID:withCompletionBlock:] Buddy info dict we just wrote is invalid: %@ FacelessConfiguration: %@ skip buddy cookie FacelessConfiguration: skip buddy set Failed to remove MacBuddy automation cookie. Error: %@ LastSeenBuddyBuildVersion Removed MacBuddy automation cookie. Setting the MacBuddy Cookie ShowKeychainSyncBuddyAtLogin getBuddyUser: kPrimaryBuddyType kSecondaryBuddyType lastSeenBuddyBuildVersion lastSeenBuddyBuildVersion postMacBuddyTasks: preMacBuddyTasks: removeBuddyUserHome: removeResumeBuddyCookie: setLastSeenBuddyBuildVersion: setMacBuddyDoneCookie: setResumeBuddyCookie: setShowKeychainSyncBuddyAtLogin: setSkipBuddy: showKeychainSyncBuddyAtLogin showKeychainSyncBuddyAtLogin skipMiniBuddy switchToBuddySession: terminateBuddySession:transitioningToUID:withCompletionBlock: void MBSetTheMacBuddyCookie()
Separately, out of curiosity, I ran:
strings '/System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbsystemadministration' \ | grep '/' | sort | uniq
…to see what paths the program might be working with…
%@/Library/Preferences %@/Library/Preferences/%@ /Library/Documentation /Library/Logs/DiagnosticReports /Library/Preferences/%@ /System/Library/CoreServices/Language Chooser.app /System/Library/CoreServices/ManagedClient.app/Contents/MacOS/ManagedClient /Users/Shared/adi/adi-%08lX.pb /bin/cat /bin/chmod /etc/kcpassword /etc/kcpassword.mb /etc/ntp.conf /etc/resolver /sbin/mount /sbin/newfs_hfs /sbin/shutdown -h now /sbin/shutdown -r now /sbin/umount /usr/bin/certtool /usr/libexec/configureLocalKDC /usr/sbin/chown /usr/sbin/hdik /var/db/.AppleDiagnosticsSetupDone /var/db/.AppleLaunchMigration /var/db/.AppleSetupDebugInitialization /var/db/.AppleSetupDone /var/db/.AppleSetupDone22 /var/db/.AppleSetupResume /var/db/.AppleSetupUser /var/db/.InstallerConfiguration /var/db/.RunLanguageChooserToo /var/db/ConfigurationProfiles/.profilesAreInstalled /var/db/krb5kdc /var/root/.CFUserTextEncoding ram://100000