(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:

/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.


Recent articles

📰 🎂

📰 SFSQuery, a PHP class to query the StopForumSpam API and DNSBL

📰 Resolving portmaster error "pkg-static: automake-1.16.1 conflicts with automake-wrapper-20131203"

📰 Resolving LibreNMS error "RuntimeException: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths"

📰 1.1.1.1: Fast, but not so accurate (yet)

📰 autodiscover.xml as an Indicator of Attack

📰 Blocking Facebook's Tracking and Surveillance: A Comprehensive Approach

📰 Let's Encrypt Readies for Certificate Transparency with Embedded SCTs

📰 Evaluating DNSBL Effectiveness with Postfix Logs

📰 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

▲ Back to top | Permalink to this page