How do I fix libdispatch problem crashing Mac OS X apps?

6

In the last day I have started having a lot of brokenness on my Mac (MacBook Air running Mac OS X 10.6.2 with all software updates).

Most noticably, iTunes no longer syncs with my iPhone. It fails with a crash dialog reporting "AppleMobileDeviceHelper quit unexpectedly" and an error dialog "iTunes was unable to load dataclass information from SyncServices. Reconnect or try again later."

I've attempted the fix at support.apple.com/kb/HT1747 but it failed.

I've also been having problems (at first seemingly unrelated) with the horrible Cisco VPN client, which started giving me this error:

Error 51: Unable to communicate with the VPN subsystem

I followed the steps at www.anders.com/cms/192/CiscoVPN/Error.51:.Unable.to.communicate.with.the.VPN.subsystem which don't seem to work for me, although I can connect if I use the command line with sudo :

sudo vpnclient connect MyProfile

I had a look in the Console app at the diagnostic messages and I noticed a pattern, that a number of apps were reporting "BUG IN CLIENT OF LIBDISPATCH". The affected programs are:

  • AppleMobileBackup
  • AppleMobileDeviceHelper
  • Safari Webpage Preview Fetcher
  • cvpnd (the Cisco VPN daemon)

Of these, only the last is non-Apple software!

The common text in the diagnostic messages is:

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Crashed Thread:  1  Dispatch queue: com.apple.libdispatch-manager

Application Specific Information:
BUG IN CLIENT OF LIBDISPATCH: Do not close random Unix descriptors

I'm beginning to wonder if there's a permissions problem, or corruption of an important library, ...

I should note that I've rebooted several times and verified the disk permissions and the disk.

Any help would be great!

More Info 2010-03-20

Looking into the logs a bit more I found the earliest libdispatch crash, and before that found that coreservicesd had died:

2010-03-17 14:17:43 ... CarbonCore.framework: coreservicesd process died; attempting to reconnect but future use may result in erroneous behavior.

and that after that there were problems talking to coreservicesd:

2010-03-17 14:17:45 ... LaunchServices/5123589: coreservicesd is running an unsupported version, 0 ( we are 10600000 ), so we cannot talk to it.

This lead to a forced reboot (I'd forgotten this) and in the reboot messages I see:

2010-03-17 14:25:24 kernel  hfs: Removed 1 orphaned / unlinked files and 0 directories 

Might be nothing, but is there any way to find out what this was?

Anyway, it all seems to load without major problems until:

2010-03-17 14:26:41 Safari Webpage Preview Fetcher[134] BUG in libdispatch: 10C540 - 1931 - 0x4

I'm at a bit of a disadvantage, because my Snow Leopard install CD is in my office, and I'm not going to be back there for a week... Anything I can try based on a Leopard install CD and a Time Machine backup?

david-ocallaghan

Posted 2010-03-19T18:16:49.717

Reputation: 171

Answers

3

I suffered from this problem again. This time I moved all the files and dirs in my home dir out of the way and re-added them bit by bit. The problem seemed to have been in my .Trash, .DS_Store or .CFUserTextEncoding files.

I didn't try restoring .Trash or .DS_Store as this seemed like a Bad Idea.

When I re-added .CFUserTextEncoding the problem reoccurred.

My .CFUserTextEncoding file contained the string 39:50. 39 seems to correspond to "MacCeltic" according to the CFString encoding reference. I'm not sure about 50. I use Gaeilge (Irish Gaelic) as my preferred interface language.

Removing this file again gave me correct behaviour.

(It would have been nice to discover that removing a 5 byte file would fix my problem before restoring gigs of data from backup!)

david-ocallaghan

Posted 2010-03-19T18:16:49.717

Reputation: 171

1

I found the Apple troubleshooting guide (http://support.apple.com/kb/ht1199) to isolate the problem:

  • It didn't occur in a new user account
  • Restoring old ~/Library/Preferences, ~/Library/Caches or ~/Library didn't help

So, I took a leap and restored my home dir from a three day old backup, and it worked!

After that I restored my Documents, Desktop, Downloads, and other dirs from a more recent backup.

Unfortunately I haven't discovered the real cause of the problem, but at least I solved it without a full reinstall.

david-ocallaghan

Posted 2010-03-19T18:16:49.717

Reputation: 171