I just want to share with everyone having this same problem with their Contacts app that I seem to have resolved the Contacts hangup (spinning beachball) ...not permanently, of course, because I didn't change any of the app's code. Nevertheless, for the moment anyway I can continue to use this app on my MacBook Pro. Here's what I did:
- After reading the suggestions of several others who are experiencing this same problem, I Force-Quit my Contacts app;
- Then I entered my iCloud account (Apple menu > System Settings... > Apple Account > iCloud > Saved to iCloud > Contacts) and turned off Contacts syncing;
- Next, I opened my Contacts app; as others had experienced at this point, only a few Contacts records were displaying.
- I quit the Contacts app and returned to the Apple menu to enter my iCloud account (as in #2, above) and re-enable Contacts syncing.
After that, my Contacts app no longer displays the spinning beachball! Leaving it open for awhile, I noticed the iCloud syncing activity was taking care of removing (from view) some duplicate records that hadn't been displaying prior to the hangup.
Apparently, at least in my case, the whole Contacts app hangup had something to do with the iCloud syncing function. Hopefully the crash reporting data sent to Apple every time one of us has had to Force Quit their Contacts app will lead someone on Apple's Contacts app Team to modify the offending code and release the fixed version in a future update.