当我选择源代码管理>历史记录时,Xcode 不断崩溃



当我选择源代码管理>历史记录时,我的Xcode总是崩溃。这种情况已经发生了很长一段时间,可能可以追溯到Xcode 6,并一直持续到Xcode 7.2。

我附上了坠机后显示的日志:

Process:               Xcode [31491]
Path:                  /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:            com.apple.dt.Xcode
Version:               7.2 (9548)
Build Info:            IDEFrameworks-9548000000000000~7
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Xcode [31491]
User ID:               501
Date/Time:             2015-12-25 11:14:33.771 +0530
OS Version:            Mac OS X 10.11.2 (15C50)
Report Version:        11
Anonymous UUID:        C50FD82E-3542-C9C3-C7B0-90B2D1E16E02
Sleep/Wake UUID:       256EB97F-CE9F-4D43-88C6-07F3B53C923F
Time Awake Since Boot: 40000 seconds
Time Since Wake:       3600 seconds
System Integrity Protection: enabled
Crashed Thread:        0  Dispatch queue: IDESourceControlLogItemsLock
Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY
Application Specific Information:
ProductBuildVersion: 7C68
UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** -[__NSCFCalendar components:fromDate:]: date cannot be nil
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff98884aca __exceptionPreprocess (in CoreFoundation)
  1  0x00000001091a9c67 DVTFailureHintExceptionPreprocessor (in DVTFoundation)
  2  0x00007fff8c98ff7e objc_exception_throw (in libobjc.A.dylib)
  3  0x00007fff987a517b -[__NSCFCalendar components:fromDate:] (in CoreFoundation)
  4  0x00007fff987a47fe -[_NSCopyOnWriteCalendarWrapper components:fromDate:] (in CoreFoundation)
  5  0x000000010a8dc54a __41-[IDESourceControlLog arrangeLogEntries:]_block_invoke (in IDEKit)
  6  0x00007fff9a14a33f _dispatch_client_callout (in libdispatch.dylib)
  7  0x00007fff9a14b926 _dispatch_barrier_sync_f_invoke (in libdispatch.dylib)
  8  0x00000001091e5005 DVTDispatchBarrierSync (in DVTFoundation)
  9  0x0000000108f7d627 -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
 10  0x000000010a4db06a -[IDESourceControlLog arrangeLogEntries:] (in IDEKit)
 11  0x000000010a8ddfd6 __109-[IDESourceControlLog loadLogItemsFromRevisions:searchString:searchType:incrementalLogBlock:completionBlock:]_block_invoke_2177 (in IDEKit)
 12  0x00000001091e5efa ___DVTAsyncPerformBlockOnMainRunLoop_block_invoke (in DVTFoundation)
 13  0x00007fff987944ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ (in CoreFoundation)
 14  0x00007fff98786165 __CFRunLoopDoBlocks (in CoreFoundation)
 15  0x00007fff9878592e __CFRunLoopRun (in CoreFoundation)
 16  0x00007fff98785338 CFRunLoopRunSpecific (in CoreFoundation)
 17  0x00007fff9a8dd935 RunCurrentEventLoopInMode (in HIToolbox)
 18  0x00007fff9a8dd677 ReceiveNextEventCommon (in HIToolbox)
 19  0x00007fff9a8dd5af _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
 20  0x00007fff8d7ee0ee _DPSNextEvent (in AppKit)
 21  0x00007fff8dbba943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
 22  0x00000001097840c2 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
 23  0x00007fff8d7e3fc8 -[NSApplication run] (in AppKit)
 24  0x00007fff8d766520 NSApplicationMain (in AppKit)
 25  0x00007fff882df5ad start (in libdyld.dylib)
abort() called
Application Specific Signatures:
NSInvalidArgumentException
Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff98884ae2 __exceptionPreprocess + 178
1   DVTFoundation                       0x00000001091a9c67 DVTFailureHintExceptionPreprocessor + 194
2   libobjc.A.dylib                     0x00007fff8c98ff7e objc_exception_throw + 48
3   CoreFoundation                      0x00007fff987a517b -[__NSCFCalendar components:fromDate:] + 2315
4   CoreFoundation                      0x00007fff987a47fe -[_NSCopyOnWriteCalendarWrapper components:fromDate:] + 78
5   IDEKit                              0x000000010a8dc54a __41-[IDESourceControlLog arrangeLogEntries:]_block_invoke + 534
6   libdispatch.dylib                   0x00007fff9a14a33f _dispatch_client_callout + 8
7   libdispatch.dylib                   0x00007fff9a14b926 _dispatch_barrier_sync_f_invoke + 74
8   DVTFoundation                       0x00000001091e5005 DVTDispatchBarrierSync + 62
9   DVTFoundation                       0x0000000108f7d627 -[DVTDispatchLock performLockedBlock:] + 116
10  IDEKit                              0x000000010a4db06a -[IDESourceControlLog arrangeLogEntries:] + 147
11  IDEKit                              0x000000010a8ddfd6 __109-[IDESourceControlLog loadLogItemsFromRevisions:searchString:searchType:incrementalLogBlock:completionBlock:]_block_invoke_2177 + 56
12  DVTFoundation                       0x00000001091e5efa ___DVTAsyncPerformBlockOnMainRunLoop_block_invoke + 72
13  CoreFoundation                      0x00007fff987944ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
14  CoreFoundation                      0x00007fff98786165 __CFRunLoopDoBlocks + 341
15  CoreFoundation                      0x00007fff9878592e __CFRunLoopRun + 910
16  CoreFoundation                      0x00007fff98785338 CFRunLoopRunSpecific + 296
17  HIToolbox                           0x00007fff9a8dd935 RunCurrentEventLoopInMode + 235
18  HIToolbox                           0x00007fff9a8dd677 ReceiveNextEventCommon + 184
19  HIToolbox                           0x00007fff9a8dd5af _BlockUntilNextEventMatchingListInModeWithFilter + 71
20  AppKit                              0x00007fff8d7ee0ee _DPSNextEvent + 1067
21  AppKit                              0x00007fff8dbba943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
22  DVTKit                              0x00000001097840c2 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 247
23  AppKit                              0x00007fff8d7e3fc8 -[NSApplication run] + 682
24  AppKit                              0x00007fff8d766520 NSApplicationMain + 1176
25  libdyld.dylib                       0x00007fff882df5ad start + 1

Xcode正试图解析存储库的日志条目,但日期出现问题。

__NSCF日历组件:fromDate:]:日期不能为零

您需要确定的第一件事是,这是否特定于单个存储库。如果是,则存储库中的某些内容无效。您可以尝试运行git fsck,看看它是否识别出任何损坏或丢失的对象。

  • 根据问题的不同,您可以修复、恢复或恢复对象
  • 在最坏的情况下,您可能不得不牺牲全部或部分历史记录,方法是初始化新的存储库,或者恢复到存储库的早期备份,然后提交最新的更改

如果该问题影响到所有存储库,请确定该问题是否特定于您的系统。将存储库克隆到另一个系统上,看看它们的Xcode是否可以显示历史记录。

  • 如果问题是特定于您的系统的,则可能是安装的软件包或第三方工具的问题(影响您的存储库),或损坏的属性列表(影响Xcode或其工具)。按照严重程度的顺序,您可以尝试:
    • 删除并重新安装Xcode
    • 删除~/Library/Developer/Xcode中专门与Xcode的用户数据相关的目录
    • 在自定义帐户和重新安装其他应用程序和工具的每个步骤中,执行操作系统的干净安装,恢复存储库,然后检查Xcode是否崩溃

最坏的情况是,这可能不是Xcode的问题,这使得其他人很难对原因有具体的答案。但是,通过系统地采取措施来识别和解决问题,您应该能够回到可以查看源代码管理历史记录的状态。

最新更新