on Tuesday, November 21, 2017
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[4326]: fetch: advisory list is not the correct format, could not obtain being marker
dashboardadvisoryd[4326]: fetch: unable to get sql from net
dashboardadvisoryd[4326]: fetch-parsers: unable to fetch data from read stream
As is common with Mac errors, a quick search turned up only one result, an unanswered 10-year-old post on the Apple forums.
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:
/System/Library/CoreServices/Dock.app/Contents/Resources/dashboardadvisoryd
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.