16

When I launch Messages on macOS and attempt to do anything at all with it (or even, it seems, if I just wait a while until a message is received) the two processes soagent and callservicesd start maxing out CPU and don't stop until Messages and they are all force quit.

Messages is in effect now unusable on my Mac. My iCloud account is the only one that syncs contacts and the only one used in Messages (the use of multiple accounts in either case is suggested as a trigger of the bug).

What can I do to fix this? Deleting and readding all of my Internet accounts is not an option.


Update: The trigger for this behavior seems to be Apple's (terrible) spell check. I can use Messages without soagent taking over my machine until I mistype. But one mistyping, and Messages hangs for a while, and then soagent takes off and can't be stopped except by force quitting.


Searching for errors containing "contacts" I get:

error   08:33:58.523010 -0500   accountsd   "Cannot check access to a private account type: <private>"
error   08:33:58.526106 -0500   accountsd   "Cannot check access to a private account type: <private>"
error   08:33:58.561595 -0500   accountsd   "Cannot check access to a private account type: com.apple.account.AppleAccount"

and

default 08:38:32.371678 -0500   AppleSpell  Rebroadcasting external notification ABDistributedDatabaseChangedNotification from process accountsd (<private>)
default 08:38:32.405900 -0500   suggestd    Rebroadcasting external notification ABDistributedDatabaseChangedNotification from process accountsd (<private>)
default 08:39:33.801123 -0500   ContactsAccountsService There was an error while trying to load accounts. We'll return an empty array. Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.AddressBook.ContactsAccountsService was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.AddressBook.ContactsAccountsService was invalidated.}
  • It looks like Apple may have fixed this in Mojave. – orome Oct 23 '18 at 19:32
  • 2
    Wow, the power of searchable forums means I can find this July, 2019 & follow the answers here. Restart, wait about 45 minutes to resync Messages and Contacts, Activity Monitor shows everything back to 5% levels. First time in MONTHS and I've got my Mac health back. If I could buy you all beers, I would. Seriously. Thank you. – user191860 Jul 20 at 18:25
  • 1
    @orome I'm on Mojave. I have no idea if my issue is same as OP's but symptoms are similar, only difference is I don't need to start typing—if I open Messages app, don't use it at all, CPU is shortly (nearly) maxed out with soagent & Messages itself – steve Aug 20 at 18:02
18
+100

As the issue is related to the spell checking feature I would suggest you to reset text replacement.

You can erase (or save, if learnt spelling matters for you) all files in:

~/Library/Spelling

Do not forget to kill the spell process (something like AppleSpell) and to quit Message.app before.

Also try to delete all the entries (if you ever added one) by hittin minus sign in:

Settings.app > Keybord > Text Replacement

Note that your problem seems to be closely related to this one (as pointed out in some answers). To sum up the solutions discussed:

  • "Navigate to ~/Library/Containers/com.apple.soagent/Data/Library/Preferences and delete (Drag to Trash) the com.apple.soagent.plist and then Restart the computer."
  • The second solution is the one's pointed out by Everett
  • Does anyone else find it amusing that the culprit is soagent? As in.... Stack Overflow Agent?? (obvs not but still) – steve Aug 20 at 18:05
8

This has been happening periodically since Mac OS X Yosemite & Handoff / Continuity was implemented... and I now I treat everything that comes through Messages as expendable (copy it off immediately or commit to losing it in the future).

Today it happened in Mojave. So like many other times... soagent starts to chew up the processor, bird, callserviced, and a couple others seem to be impacted as well.

Tired of fooling with it, I do the following.

1 - Delete everything in the folder :

~/Library/Messages

2 - Delete the entire folder:

~/Library/Containers/com.apple.iChat

3 - Roll over to preferences folder here (don't delete this):

~/Library/Preferences

and do a find for 'chat' which lists many more preferences files than should exist (lots of leftover garbage from Messages). I delete all the files that appear in the find with the word 'chat' in them in the Preferences folder.

Then, I relaunched Messages and get: messages dialog indicating Messages data was rebuilding

Then I reboot. Messages rebuilds and soagent stops eating my MacBook battery.

  • Just had the issue happen in Mojave and this solved it again. I hope it helps others. – William Cerniuk May 12 at 18:52
7

Tentative diagnosis: There is a corrupt record (or structure) in the Contacts database. Downloading the database completely from the iCloud version ensures that the local version is clean.

Solution: See https://appuals.com/fix-mac-running-slow-due-addressbooksourcesync/

A simplified version of the above seems to have done the trick for me:

0) Quit Contacts

1) Delete (after making a copy) all the contents of ~/Library/Application Support/Address Book/. Reboot (don't know if that is really necessary).

2) Uncheck Contacts in the iCloud settings.

3) Open Contacts (the contents will be empty)

4) Check Contacts in the iCloud settings. Sync starts (incl. the grouping of contacts into labeled groups)

That calmed everything down, including the soagent, callservicesd etc.

  • In Mojave this is ~/Library/Application Support/AddressBook/ – f01 Nov 29 '18 at 8:22
  • The database does not stay clean. Be ready to be relegated to periodically having to delete the local database, loose any contacts that have not synced up from your Mac to iCloud, and download all contacts again. The central contacts database is very fragile. I have to do this once every 3 months. I have lost 100's of contacts and even more updates to contacts over the last two years. – William Cerniuk Jul 22 at 16:41
5

Have you opened the console and filtered for messages from "MCContactsManager"?

In the details of the message, you can find a reference to the contact causing the issue. Export this contact to a VCF file. Delete the contact and check that there are no more messages from "MCContactsManager".

Check for soagent and callerservicesd to decrease CPU load.

After you see the drop you can import the saved VCF into contacts again and everything should be back to normal.

2

i’m not running messages, but this happened on my MacBook Pro (13-inch, late 2012, macOS 10.13.6, 2.9 GHz Intel Core i7, 8 GB RAM, Intel HD Graphics 4000 1536 MB) just now.

after quitting Notes, soagent’s CPU usage returned to normal, and the fans quieted down.

-1

I think removing/not syncing Google and other contacts also works. In System Preferences > Internet Accounts, uncheck Contacts retaining only iCloud Contacts.

After doing this, I also did https://apple.stackexchange.com/a/321509.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .