Resolving dashboardadvisoryd errors in an old Mac's system.log
On a relatively old Mac that I was inspecting recently, I saw a load of entries in the
system.log generated by a process named
dashboardadvisoryd. The errors follow this pattern:
dashboardadvisoryd: fetch: advisory list is not the correct format, could not obtain being marker dashboardadvisoryd: fetch: unable to get sql from net dashboardadvisoryd: fetch-parsers: unable to fetch data from read stream
Not being familiar with
dashboardadvisoryd, I poked around a bit to see if I could track down what's throwing the error. The binary itself is part of the Dock, and lives at:
It has a preferences file and a couple of sqlite3 databases,
/private/etc/mach_init.d/dashboardadvisoryd.plist /private/var/db/.dashboardadvisory.database /private/var/db/dashboardadvisory.database
These were dead ends; the database files, which are of identical size with identical April 2017 mtimes, are empty, save for three rows in the "meta" table:
select * from meta; serial-number-time-stamp|399067189.42373 serial-number|1 last-fetch|513114816.438282
With nothing there, I ran strings on the
dashboardadvisoryd binary itself and found the likely culprit. It looks like the process is trying to fetch data from a file at http://www.apple.com/widgets/parser.info. That file exists (after a redirect to the same URI over https), but only contains 4 spaces. Whatever data
dashboardadvisoryd is expecting to find isn't there.
Searching for that URI, I wound up on this ancient MacWorld post which explains what
dashboardadvisoryd does: it's checking for new or updated Dock widgets, and/or verifying the integrity of the ones you have installed. I imagine Apple is no longer supporting this, hence the empty file on their site and the subsequent error messages when the process tries to load it.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist
...seems to have disabled the process and put an end to the log messages.
As an aside, the text "could not obtain being marker" in the error contains a typo, it should say "begin marker," as the companion string "could not obtain end marker" is in the binary.