$this = (new Soapbox())->shout(array_map('strtoupper', $opinions)); //Shaun's blog

Resolving dashboardadvisoryd errors in an old Mac's system.log

Posted November 22, 2017 by shaun

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:


It has a preferences file and a couple of sqlite3 databases,


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;

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.

Recent articles

📰 Evaluating DNSBL Effectiveness with Postfix Logs

📰 Russian/Ukrainian Referer Spam Campaign IPs

📰 Resolving subversion error E145001: Node has unexpectedly changed kind

📰 Installing PHP 7.2 with pthreads on CentOS 6

📰 LocalStorage kills another site, or: Working around Zap2it's new interface

📰 A new DNS geolocation service from PowerDNS

📰 Firefox's privacy.resistFingerprinting option reports a very old User-Agent (50.0)

📰 Undefined symbol "Py_InitModule4_64" while upgrading harfbuzz

📰 ipid.shat.net is back online for now

📰 Implementing a report-uri endpoint for Expect-CT (and other headers)

📰 A curious UDAP packet from DirecTV hardware

📰 Secure PHP file inclusion based on query string parameters

▲ Back to top | Permalink to this page