24

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.}
4
  • Discussion on this post are in chat
    – bmike
    Commented Sep 2, 2018 at 3:58
  • It looks like Apple may have fixed this in Mojave.
    – orome
    Commented Oct 23, 2018 at 19:32
  • 3
    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
    Commented Jul 20, 2019 at 18:25
  • 2
    @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
    Commented Aug 20, 2019 at 18:02

7 Answers 7

26
+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) but remember to quit Message.app before doing so.

Also try to delete all the entries (if you ever added one) by hitting minus sign in Settings.app > Keyboard > 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 was pointed out by Everett.
1
  • 4
    Does anyone else find it amusing that the culprit is soagent? As in.... Stack Overflow Agent?? (obvs not but still)
    – steve
    Commented Aug 20, 2019 at 18:05
9

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.

1
  • Just had the issue happen in Mojave and this solved it again. I hope it helps others.
    – Cerniuk
    Commented May 12, 2019 at 18:52
8

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.

3
  • In Mojave this is ~/Library/Application Support/AddressBook/
    – f01
    Commented Nov 29, 2018 at 8:22
  • 1
    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.
    – Cerniuk
    Commented Jul 22, 2019 at 16:41
  • My problem was that ContactsAccountsService was using 100% of cpu continuously (nothing to do with Messages). This fix worked for me so far. I didn't do the Reboot in step 1), so I can confirm that is not necessary.
    – Andrew
    Commented May 25, 2021 at 20:35
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.

0
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.

0

I was observing high CPU with soagent, callserviceagent, and accountsd

I tried the spelling suggestion above and still observed some issues. I also did the following:

1) (Backed up) and then stopped syncing google contacts with Mac. Then restarted sync.

2) (Backed up) and deleted the address book pref file at ~/Library/Preferences/com.apple.AddressBook.plist

3) Restart

I noticed a couple "no name" contacts in Contacts, as well as one no-name contact that wasn't syncing correctly with Google (fields were different), even after the above steps. I updated the contact record on the mac and all was fixed (i.e. synced correctly).

-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 .