MacOS High Sierra – SafariBookmarksSyncAgent CPU problem (updated 20180321)

2018/03/20

Edit – 20180321

Late yesterday afternoon this problem came back. Turning off Safari sync in the iCloud cdev treats the symptom but its not the cure.

Root cause found. Information below updated to reflect the final fix.

Fault Description

For an unknown reason the SafariBooksmarksSyncAgent process is consuming large amounts of CPU and memory on my 2012 MacBook Pro 15”.

Observed Behaviour

The process can be killed using Activity Monitor but will restart when Safari is open. If Safari is closed then the sync process doesn’t restart.

Console.app showed the following warnings and errors:

XX BAChangeCopyChangedItem: BAChange object created with UUID that does not correspond to a known bookmark.
Move change <BAChange 0x7fc580b014b0 (0x7fc580cb0450 85087F40-FD87-4FDB-B101-713F9FCD1AA3) Modify> was provided without a corresponding changed item.
Batch record save operation completed but failed to save records due to unrecoverable error: Error Domain=CKErrorDomain Code=12 "Request UUID: (null)"
Did fail to save record batch with error: Error Domain=CKErrorDomain Code=12 "Request UUID: (null)"
Sync coordinator failed to sync bookmarks with error: Error Domain=CKErrorDomain Code=12 "Request UUID: (null)"
*** CloudKit bookmark sync failed with result <3>: Error Domain=CKErrorDomain Code=12 "Request UUID: (null)"

So obviously the sync agent has some problems.

Getting Close

Some Googlephoo turned up a few items that were close but nothing that really seemed to me like a root cause fix. Eventually I found an article that led me to this Apple support article: Resolve issues caused by changing the permissions of items in your home folder

That seemed like a worthy fix to try since I had just rebuilt my Mac from scratch and started with a fresh and new user profile. It was highly likely that some home directory permissions got clobbered during my various file restores, especially related to the hidden ‘~/Library’ folder.

I performed the steps as described however it didn’t seem to fix it. The sync process was still chewing high CPU.

The Fix Part 1

I closed Safari and reran the Apple support fix steps.
When I started Safari again the sync process was perfectly behaved. For a short while. Read on.

The Fix Part 2

So, soon after posting this article the problem came screaming back. Same fault as originally described.

This time I nuked the site from orbit.

  • In Safari on my Mac I exported my bookmarks. File -> Export Bookmarks.
  • I turned off Safari iCloud Sync on the Mac and my devices.
  • I deleted all Bookmarks from all devices and then properly closed Safari on all devices.
  • Waited five minutes.
  • Opened the console.app and watched the logs for any process with the word safari in it.
  • Turned on Safari in the iCloud cdev on the mac and my devices. Watched a bunch of stuff scroll by in the console.app. None of it appeared to be warnings or errors.
  • Waited five minutes.
  • Imported my bookmarks from the backup file.

Root cause? Unknown. Problem fixed? Yes.

A side effect

Immediately following the fix a bunch of ‘mds’ related processes started churning. These are processes related to the Spotlight app and are part of Spotlight’s discovery and search of data on the computer. Obviously the permissions fix also fixed a bunch of access issues for Spotlight. I left it alone to chug along and it settled down to more normal levels after a short while.

Advertisements

Microsoft Remote Desktop for Mac

2018/03/12

Mac users have a few choices when it comes to an RDP client for MacOS. There is the one that comes included with MacOS or there is the the one from Microsoft in the App Store.

There is also a beta version of the app store version available from here which, if you like to run beta stuff to get access to new and improved features and bugs is also useful.

I blew away my Mac on the weekend and did a fresh OS install etc because reasons. Unfortunately for me I didn’t remember to save/export my config from the beta client. Fortunately I had my TM backups and was able to grab the config file out of it and copy it over to my new profile. Problem is is that the App Store and Beta versions seem to store their configs in different files. **FURIOUS EYE ROLLING**

For the benefit of other people and for my own future reference the beta version of the app stores its config in `~/Library/Application Support/com.microsoft.rdc.osx.beta`. So, to recover your settings quickly and easily, quit the app, copy the file above from your backups and then restart your Mac. After the restart when you open the beta client you should see all your configs restored.

Edit:

I had a response from the team that develops the tool to my question about this. They said:

hi Andrew, they are stored under:
~/Library/Application Support/com.microsoft.rdc.osx.beta/com.microsoft.rdc.application-data.sqlite

this will only transfer your saved desktops, remote app feeds, gateway, and usernames.
it wont transfer your passwords, as they are stored on the keychain.
also please note that this is not an officially supported scenario


Missing Instant Hotspot on MacOS

2017/12/21

One problem that keeps coming back on my MacBook Pro is that the Instant Hotspot option in the WiFi menu (in the menu bar) disappears.

Don’t confuse this with the Personal Hotspot feature of your phone. Instant Hotspot is part of the Continuity suite that uses your AppleID to make your iPhone’s hotspot feature available to your Mac even if the iPhone has the Personal Hotspot turned off.

After spending some time googling around for solutions to the missing option I worked out that I had to be searching for “Instant Hotspot” instead. I then started to get somewhere.

The fix that worked for me was step three from here.

I had to sign out of iCloud on my Mac and then sign back in. I didn’t have to do it on the iPhone.

Ive hit this issue three times now. No idea what the cause was tbh.


How to view and move your iMessage history and attachments to a new Mac

2017/02/28

Last weekend I blew away my macOS and did a fresh install from scratch of all the things.

I was disappointed to learn that iMessage on macOS doesn’t preserve its message history. The link below explains how to restore/move your iMessage history.

Source: How to view and move your iMessage history and attachments to a new Mac


VMware Fusion 8.5.X – Windows 10 – Shared Folders AWOL

2017/02/22

Updated: 20170228

The problem occurred again. This time, an uninstall and reinstall of VMware Tools didn’t fix the issue.

The fix was to:

  • Open the VMware Fusion Sharing preferences and leave “Enable Shared Folders” ticked but untick all the “Mirrored Folders”.
  • When prompted, log off and log back on.
  • Open the VMware Fusion Sharing preferences and select the folders you want under ‘Mirrored Folders’.
  • You will again be prompted to log off. Log off and then log back on.

The mirrored folders should be accessible again.

Originally:

VMware Fusion has a nifty feature called ‘Shared Folders’ thats lets you access data on the underlying Mac OSX host from within the guest OS. Fusion must be configured to enable it and VMware Tools must be running inside the guest for it to work.

Recently, mine stopped working. I hadnt disabled the feature in Fusion and nothing lept to mind about other changes I could have made that caused the problem.

Today I had some spare cycles to dig into the cause of the problem and find the fix. See the source below from Nov 2015.

TL;DR: Windows Update nerfs a registry value which VMware Tools uses. The fix was simple, uninstall VMware Tools, reboot, install VMware Tools, reboot.

 

Source: Shared Folders – Windows 10 upgrade from 15.11. | VMware Communities


EtreCheck – A simple Mac OS health check tool

2017/01/31

I had to help a friend the other week to resolve some page hijacking that was occurring on their Mac. See https://discussions.apple.com/docs/DOC-8071. I was surprised to learn that such a thing actually happens with Macs and Safari.

I needed a quick way to run a health check of the Mac OS and found EtreCheck. Recommended.

Source: EtreCheck: About EtreCheck


Internet Performance Measurement Tools

2016/11/23

This post contains a catalogue of useful Internet performance testing tools.

ICSI Netalyzr

http://netalyzr.icsi.berkeley.edu/cli.html

sivel/speedtest-cli: Command line interface for testing internet bandwidth using speedtest.net

A nifty tool for the CLI jockeys to test the internet performance of their machine.

speedtest-cli – Command line interface for testing internet bandwidth using speedtest.net

Source: sivel/speedtest-cli: Command line interface for testing internet bandwidth using speedtest.net