解决Mac新文字漏洞软件崩溃问题

早上同事用QQ发了一段文字给我,内容为如下:
玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉王玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉玉
当我点开这条QQ消息的时候,QQ瞬间就崩溃了!我还不知道怎么回事,重新打开了QQ查看刚才发过来的这条消息,QQ再次崩溃。怎么QQ崩溃啦我整个人都不好了,233…… 我上网查了一下,发现很多人都遇到了类似问题,原来这是一个新的Mac文字漏洞。
以下是有人在知乎上提的问题:
某网站该问题截图
从浏览次数和关注人数来看,说明很多人都被调戏了!O(∩_∩)O~~
QQ的崩溃信息如下:

Process:               QQ [1588]
Path:                  /Applications/QQ.app/Contents/MacOS/QQ
Identifier:            com.tencent.qq
Version:               4.0.2 (18031)
Code Type:             X86 (Native)
Parent Process:        ??? [1]
Responsible:           QQ [1588]

Date/Time:             2015-07-20 16:53:34.393 +0800
OS Version:            Mac OS X 10.10.4 (14E46)
Report Version:        11

Time Awake Since Boot: 6300 seconds

Crashed Thread:        2  Dispatch queue: NSTextCheckingOperationQueue :: NSOperation 0x7cab7510 (QOS: USER_INITIATED)

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'condition "must be there"'

Application Specific Backtrace 1:
0   CoreFoundation                      0x917b3c63 __raiseError + 195
1   libobjc.A.dylib                     0x95c7aa2a objc_exception_throw + 276
2   CoreFoundation                      0x917b3b7d +[NSException raise:format:] + 141
3   DataDetectorsCore                   0x9b8761e2 DDRaiseException + 67
4   DataDetectorsCore                   0x9b8914d0 DDCrashv + 145
5   DataDetectorsCore                   0x9b891503 DDCrash + 27
6   DataDetectorsCore                   0x9b84c170 DDScannerScanQuery + 729
7   DataDetectorsCore                   0x9b84ba6a DDScannerScanStringWithRange + 319
8   AppKit                              0x93fb1f41 checkDataDetectors + 161
9   AppKit                              0x93faf40a NSSpellCheckerCheckString + 16505
10  AppKit                              0x93fab336 -[NSTextCheckingOperation main] + 162
11  Foundation                          0x9b2b937e -[__NSOperationInternal _start:] + 770
12  Foundation                          0x9b2b9071 -[NSOperation start] + 71
13  Foundation                          0x9b2b8d8b __NSOQSchedule_f + 213
14  libdispatch.dylib                   0x95e61130 _dispatch_client_callout + 50
15  libdispatch.dylib                   0x95e64d05 _dispatch_queue_drain + 1017
16  libdispatch.dylib                   0x95e6699d _dispatch_queue_invoke + 186
17  libdispatch.dylib                   0x95e63f89 _dispatch_root_queue_drain + 395
18  libdispatch.dylib                   0x95e7363d _dispatch_worker_thread3 + 97
19  libsystem_pthread.dylib             0x9794c1da _pthread_wqthread + 724
20  libsystem_pthread.dylib             0x97949e2e start_wqthread + 30

Thread 2 Crashed:: Dispatch queue: NSTextCheckingOperationQueue :: NSOperation 0x7cab7510 (QOS: USER_INITIATED)
0   com.apple.CoreFoundation        0x917b45f7 ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ + 7
1   com.apple.CoreFoundation        0x917b3f79 __raiseError + 985
2   libobjc.A.dylib                 0x95c7aa2a objc_exception_throw + 276
3   com.apple.CoreFoundation        0x917b3b7d +[NSException raise:format:] + 141
4   com.apple.datadetectorscore     0x9b8761e2 DDRaiseException + 67
5   com.apple.datadetectorscore     0x9b8914d0 DDCrashv + 145
6   com.apple.datadetectorscore     0x9b891503 DDCrash + 27
7   com.apple.datadetectorscore     0x9b84c170 DDScannerScanQuery + 729
8   com.apple.datadetectorscore     0x9b84ba6a DDScannerScanStringWithRange + 319
9   com.apple.AppKit                0x93fb1f41 checkDataDetectors + 161
10  com.apple.AppKit                0x93faf40a NSSpellCheckerCheckString + 16505
11  com.apple.AppKit                0x93fab336 -[NSTextCheckingOperation main] + 162
12  com.apple.Foundation            0x9b2b937e -[__NSOperationInternal _start:] + 770
13  com.apple.Foundation            0x9b2b9071 -[NSOperation start] + 71
14  com.apple.Foundation            0x9b2b8d8b __NSOQSchedule_f + 213
15  libdispatch.dylib               0x95e61130 _dispatch_client_callout + 50
16  libdispatch.dylib               0x95e64d05 _dispatch_queue_drain + 1017
17  libdispatch.dylib               0x95e6699d _dispatch_queue_invoke + 186
18  libdispatch.dylib               0x95e63f89 _dispatch_root_queue_drain + 395
19  libdispatch.dylib               0x95e7363d _dispatch_worker_thread3 + 97
20  libsystem_pthread.dylib         0x9794c1da _pthread_wqthread + 724
21  libsystem_pthread.dylib         0x97949e2e start_wqthread + 30

从崩溃信息可以看到是在NSTextCheckingOperationQueue线程中崩溃的,这是一个执行文本检查的线程。
其实之前苹果就出过几次类似问题,比如”Fill:///”崩溃问题。都是DataDectorsCore.framework这个framework的问题,
这个库的主要作用是自带的拼写检测和特殊格式的信息(比如URL、电话号码、时间等)匹配都会触发 DataDectorsCore.framework。
我查找了”Fill:///”崩溃问题的解决方案,于是也尝试了同样的方案解决这个问题,果然不出所料的不再崩溃了!
解决崩溃问题的方法就是:
在终端运行以下两条命令:

sudo mv -v /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/Resources/com.apple.datadetectorscore.cache.urlifier.system /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/Resources/com.apple.datadetectorscore.cache.urlifier.system.backup
sudo mv -v /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/Resources/com.apple.datadetectorscore.cache.full.asia.system /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/Resources/com.apple.datadetectorscore.cache.full.asia.system.backup
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值