在过去的一天里,我的 Mac(MacBook Air 运行 Mac OS X 10.6.2 并附带所有软件更新)开始出现很多问题。
最明显的是,iTunes 不再与我的 iPhone 同步。它失败并出现崩溃对话框报告“AppleMobileDeviceHelper 意外退出”和错误对话框“iTunes 无法从 SyncServices 加载数据类信息。请重新连接或稍后重试。”
我尝试在 support.apple.com/kb/HT1747 上进行修复,但失败了。
我也遇到了一些问题(起初看似无关),糟糕的 Cisco VPN 客户端开始给我这个错误:
Error 51: Unable to communicate with the VPN subsystem
我按照 www.anders.com/cms/192/CiscoVPN/Error.51:.Unable.to.communicate.with.the.VPN.subsystem 上的步骤操作,但是这些步骤对我来说似乎不起作用,但如果我使用带有 sudo 的命令行,我可以连接:
sudo vpnclient connect MyProfile
我查看了控制台应用程序中的诊断消息,发现一个规律,即许多应用程序都报告了“LIBDISPATCH 客户端中的错误”。受影响的程序包括:
- AppleMobile备份
- 苹果移动设备助手
- Safari 网页预览获取器
- cvpnd(Cisco VPN 守护进程)
其中,只有最后一个是非Apple软件!
诊断消息中的常见文本是:
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
我开始怀疑是否存在权限问题,或者重要库是否损坏......
我应该注意我已经重新启动了几次并验证了磁盘权限和磁盘。
任何帮助都将非常有帮助!
更多信息 2010-03-20
进一步查看日志后,我发现最早的 libdispatch 崩溃,而在此之前,coreservicesd 已经死亡:
2010-03-17 14:17:43 ... CarbonCore.framework: coreservicesd process died; attempting to reconnect but future use may result in erroneous behavior.
此后,与 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.
这导致强制重启(我忘记了这一点)并且在重启消息中我看到:
2010-03-17 14:25:24 kernel hfs: Removed 1 orphaned / unlinked files and 0 directories
可能没什么,但有没有什么办法可以查明这是什么?
无论如何,一切似乎都顺利加载,直到:
2010-03-17 14:26:41 Safari Webpage Preview Fetcher[134] BUG in libdispatch: 10C540 - 1931 - 0x4
我有点吃亏,因为我的 Snow Leopard 安装 CD 在办公室,而我一个星期内都不会回去...我可以根据 Leopard 安装 CD 和 Time Machine 备份尝试什么吗?
答案1
我又遇到了这个问题。这次我把主目录中的所有文件和目录都移开,然后一点一点地重新添加它们。问题似乎出在我的 .Trash、.DS_Store 或 .CFUserTextEncoding 文件中。
我没有尝试恢复 .Trash 或 .DS_Store,因为这似乎是个坏主意。
当我重新添加 .CFUserTextEncoding 时,问题再次出现。
我的 .CFUserTextEncoding 文件包含字符串39:50
.39
根据CFString 编码参考。我不太确定50
。我使用 Gaeilge(爱尔兰盖尔语)作为我的首选界面语言。
再次删除此文件后我得到了正确的行为。
(如果在从备份中恢复大量数据之前,删除一个 5 字节文件就能解决我的问题,那就太好了!)
答案2
我找到了 Apple 故障排除指南(http://support.apple.com/kb/ht1199)来隔离问题:
- 它没有出现在新用户帐户中
- 恢复旧的 ~/Library/Preferences、~/Library/Caches 或 ~/Library 没有帮助
因此,我大胆尝试并从三天前的备份中恢复了我的主目录,并且成功了!
之后,我从最近的备份中恢复了我的“文档”、“桌面”、“下载”和其他目录。
不幸的是我还没有发现问题的真正原因,但至少我在没有完全重新安装的情况下解决了它。