2014-10-11 158 views
-2

我真的很需要一些帮助破译这个崩溃报告:解释Mac OS X的崩溃报告

Process:    Farm Hand [616] 
Path:     /Applications/Farm Hand.app/Contents/MacOS/Farm Hand 
Identifier:   Farm Hand 
Version:    1.0 (1) 
Code Type:    X86-64 (Native) 
Parent Process:  Instruments [386] 
Responsible:   Instruments [386] 
User ID:    501 

Date/Time:    2014-10-12 00:13:17.116 +0100 
OS Version:   Mac OS X 10.10 (14A388a) 
Report Version:  11 
Anonymous UUID:  9C6E9671-468C-DBE5-F856-4D6923A3F425 


Time Awake Since Boot: 1400 seconds 

Crashed Thread:  0 Dispatch queue: com.apple.main-thread 

Exception Type:  EXC_BAD_ACCESS (SIGBUS) 
Exception Codes:  KERN_PROTECTION_FAILURE at 0x00007fd37a589ae0 

VM Regions Near 0x7fd37a589ae0: 
    MALLOC_TINY   00007fd37a400000-00007fd37a500000 [ 1024K] rw-/rwx SM=PRV 
--> MALLOC_TINY   00007fd37a500000-00007fd37a800000 [ 3072K] rw-/rwx SM=COW 
    MALLOC_SMALL   00007fd37a800000-00007fd37a83c000 [ 240K] rw-/rwx SM=ZER 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 
0 ???        0x00007fd37a589ae0 0 + 140546267454176 
1 com.apple.AppKit    0x00007fff9230b67a -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1875 
2 com.apple.AppKit    0x00007fff92309516 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 913 
3 com.apple.AppKit    0x00007fff92308c73 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 333 
4 com.apple.AppKit    0x00007fff923057cb -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2761 
5 com.apple.AppKit    0x00007fff922e41ca -[NSView displayIfNeeded] + 1876 
6 com.apple.AppKit    0x00007fff923016c5 -[NSWindow displayIfNeeded] + 232 
7 com.apple.AppKit    0x00007fff9233e8c2 _handleWindowNeedsDisplayOrLayoutOrUpdateConstraints + 936 
8 com.apple.AppKit    0x00007fff92903d91 __83-[NSWindow _postWindowNeedsDisplayOrLayoutOrUpdateConstraintsUnlessPostingDisabled]_block_invoke1523 + 46 
9 com.apple.CoreFoundation  0x00007fff8c8f9d87 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 
10 com.apple.CoreFoundation  0x00007fff8c8f9ce0 __CFRunLoopDoObservers + 368 
11 com.apple.CoreFoundation  0x00007fff8c8ebde8 __CFRunLoopRun + 872 
12 com.apple.CoreFoundation  0x00007fff8c8eb838 CFRunLoopRunSpecific + 296 
13 com.apple.HIToolbox    0x00007fff990a043f RunCurrentEventLoopInMode + 235 
14 com.apple.HIToolbox    0x00007fff990a00be ReceiveNextEventCommon + 179 
15 com.apple.HIToolbox    0x00007fff9909fffb _BlockUntilNextEventMatchingListInModeWithFilter + 71 
16 com.apple.AppKit    0x00007fff921df821 _DPSNextEvent + 964 
17 com.apple.AppKit    0x00007fff921defd0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194 
18 com.apple.AppKit    0x00007fff921d2f73 -[NSApplication run] + 594 
19 com.apple.AppKit    0x00007fff921be424 NSApplicationMain + 1832 
20 libdyld.dylib     0x00007fff919c15c9 start + 1 

Thread 1:: Dispatch queue: com.apple.libdispatch-manager 
0 libsystem_kernel.dylib   0x00007fff8e8dc22e kevent64 + 10 
1 libdispatch.dylib    0x00007fff9a706a6a _dispatch_mgr_thread + 52 

Thread 2: 
0 libsystem_kernel.dylib   0x00007fff8e8db946 __workq_kernreturn + 10 
1 libsystem_pthread.dylib   0x00007fff9aac04a1 start_wqthread + 13 

Thread 3: 
0 libsystem_kernel.dylib   0x00007fff8e8db946 __workq_kernreturn + 10 
1 libsystem_pthread.dylib   0x00007fff9aac04a1 start_wqthread + 13 

Thread 4:: Dispatch queue: com.apple.root.default-qos 
0 libsqlite3.dylib    0x00007fff97cdf4b4 sqlite3HashInsert + 100 
1 libsqlite3.dylib    0x00007fff97d7ef9e sqlite3CreateForeignKey + 1358 
2 libsqlite3.dylib    0x00007fff97cea93e yy_reduce + 4622 
3 libsqlite3.dylib    0x00007fff97ce95ea sqlite3Parser + 122 
4 libsqlite3.dylib    0x00007fff97ce8544 sqlite3RunParser + 324 
5 libsqlite3.dylib    0x00007fff97ce7cfa sqlite3Prepare + 794 
6 libsqlite3.dylib    0x00007fff97ce78e7 sqlite3LockAndPrepare + 231 
7 libsqlite3.dylib    0x00007fff97d0d3c3 sqlite3InitCallback + 771 
8 libsqlite3.dylib    0x00007fff97ce74a4 sqlite3_exec + 964 
9 libsqlite3.dylib    0x00007fff97d0ce21 sqlite3InitOne + 1457 
10 libsqlite3.dylib    0x00007fff97d0c7de sqlite3Init + 94 
11 libsqlite3.dylib    0x00007fff97d27f75 selectExpander + 1941 
12 libsqlite3.dylib    0x00007fff97d27671 sqlite3WalkSelect + 81 
13 libsqlite3.dylib    0x00007fff97def1ba sqlite3SelectPrep + 154 
14 libsqlite3.dylib    0x00007fff97d1bde0 sqlite3Select + 464 
15 libsqlite3.dylib    0x00007fff97ceaaae yy_reduce + 4990 
16 libsqlite3.dylib    0x00007fff97ce95ea sqlite3Parser + 122 
17 libsqlite3.dylib    0x00007fff97ce85f6 sqlite3RunParser + 502 
18 libsqlite3.dylib    0x00007fff97ce7cfa sqlite3Prepare + 794 
19 libsqlite3.dylib    0x00007fff97ce78e7 sqlite3LockAndPrepare + 231 
20 libsqlite3.dylib    0x00007fff97d7de33 sqlite3_prepare_v2 + 195 
21 rh.CoreFarmHand     0x0000000109eeb500 -[RHFileController loadSheepMovementsOff:fromDatabaseAtPath:] + 624 (RHFileController.m:3330) 
22 rh.CoreFarmHand     0x0000000109ebd442 __73-[RHFarmDataController loadResourcesFromDatabaseForYear:animation:error:]_block_invoke + 4690 (RHFarmDataController.m:218) 
23 libdispatch.dylib    0x00007fff9a708323 _dispatch_call_block_and_release + 12 
24 libdispatch.dylib    0x00007fff9a703c13 _dispatch_client_callout + 8 
25 libdispatch.dylib    0x00007fff9a70688f _dispatch_root_queue_drain + 935 
26 libdispatch.dylib    0x00007fff9a714fe4 _dispatch_worker_thread3 + 91 
27 libsystem_pthread.dylib   0x00007fff9aac26cb _pthread_wqthread + 729 
28 libsystem_pthread.dylib   0x00007fff9aac04a1 start_wqthread + 13 

Thread 5:: Dispatch queue: com.apple.root.default-qos 
0 libobjc.A.dylib     0x00007fff97aefb89 getMethodNoSuper_nolock(objc_class*, objc_selector*) + 71 
1 libobjc.A.dylib     0x00007fff97ae3a09 class_getInstanceMethod + 75 
2 com.apple.Foundation   0x00007fff8e4d5218 -[NSKeyValueUndefinedSetter initWithContainerClassID:key:containerIsa:] + 76 
3 com.apple.Foundation   0x00007fff8e4d515b +[NSObject(NSKeyValueCodingPrivate) _createValuePrimitiveSetterWithContainerClassID:key:] + 504 
4 com.apple.Foundation   0x00007fff8e4b89db +[NSObject(NSKeyValueCodingPrivate) _createValueSetterWithContainerClassID:key:] + 540 
5 com.apple.Foundation   0x00007fff8e4b8748 _NSKeyValueSetterForClassAndKey + 268 
6 com.apple.Foundation   0x00007fff8e4b7e36 _NSKVONotifyingEnableForInfoAndKey + 222 
7 com.apple.Foundation   0x00007fff8e491c7e -[NSKeyValueUnnestedProperty _isaForAutonotifying] + 101 
8 com.apple.Foundation   0x00007fff8e491ada -[NSKeyValueUnnestedProperty isaForAutonotifying] + 74 
9 com.apple.Foundation   0x00007fff8e4b737d -[NSObject(NSKeyValueObserverRegistration) _addObserver:forProperty:options:context:] + 602 
10 com.apple.Foundation   0x00007fff8e4b6f7a -[NSObject(NSKeyValueObserverRegistration) addObserver:forKeyPath:options:context:] + 107 
11 rh.CoreFarmHand     0x0000000109e965f9 __38-[RHPersistentManager addSheepDeaths:]_block_invoke259 + 681 (RHPersistentManager.m:1074) 
12 libdispatch.dylib    0x00007fff9a708323 _dispatch_call_block_and_release + 12 
13 libdispatch.dylib    0x00007fff9a703c13 _dispatch_client_callout + 8 
14 libdispatch.dylib    0x00007fff9a70688f _dispatch_root_queue_drain + 935 
15 libdispatch.dylib    0x00007fff9a714fe4 _dispatch_worker_thread3 + 91 
16 libsystem_pthread.dylib   0x00007fff9aac26cb _pthread_wqthread + 729 
17 libsystem_pthread.dylib   0x00007fff9aac04a1 start_wqthread + 13 

Thread 6: 
0 libsystem_kernel.dylib   0x00007fff8e8db946 __workq_kernreturn + 10 
1 libsystem_pthread.dylib   0x00007fff9aac04a1 start_wqthread + 13 

Thread 7: 
0 libsystem_kernel.dylib   0x00007fff8e8d652e mach_msg_trap + 10 
1 libsystem_kernel.dylib   0x00007fff8e8d569f mach_msg + 55 
2 com.apple.CoreFoundation  0x00007fff8c8ecb14 __CFRunLoopServiceMachPort + 212 
3 com.apple.CoreFoundation  0x00007fff8c8ebfdb __CFRunLoopRun + 1371 
4 com.apple.CoreFoundation  0x00007fff8c8eb838 CFRunLoopRunSpecific + 296 
5 com.apple.AppKit    0x00007fff923428f7 _NSEventThread + 137 
6 libsystem_pthread.dylib   0x00007fff9aac22fc _pthread_body + 131 
7 libsystem_pthread.dylib   0x00007fff9aac2279 _pthread_start + 176 
8 libsystem_pthread.dylib   0x00007fff9aac04b1 thread_start + 13 

Thread 0 crashed with X86 Thread State (64-bit): 
    rax: 0x0000000000000000 rbx: 0x00007fd37a7e96b0 rcx: 0x00000000000fc080 rdx: 0x000000000002fb10 
    rdi: 0x00007fd37a4a5700 rsi: 0x00007fff92b52ae3 rbp: 0x00007fff55df9420 rsp: 0x00007fff55df91d0 
    r8: 0x0000000000000006 r9: 0x00007fd37a400000 r10: 0x00007fd37b087e30 r11: 0x00007fff7c561ec8 
    r12: 0x00007fd37a4a5700 r13: 0x0000000000000000 r14: 0x0000014a164eaad8 r15: 0x0000000000000088 
    rip: 0x00007fd37a589ae0 rfl: 0x0000000000010202 cr2: 0x00007fd37a589ae0 

Logical CPU:  1 
Error Code:  0x00000015 
Trap Number:  14 

我相当肯定这是一个堆栈溢出。我是否正确,它是一个递归循环吗?如果没有发生什么事情!

+1

我注意到有很多AppKit调用在崩溃的线程中进行,并想知道什么[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]是 – 2014-10-11 23:37:00

回答

0

不,它不是堆栈溢出。非法访问在0x00007fd37a589ae0。 [NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:],其代码中有1875个字节,试图跳到那里,并且这个存储区域被保留用于数据而不是代码。代码[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]的特定代码不一定是错误的,或者确实出现在调用堆栈中的任何代码段。这个崩溃可能是由于调用堆栈中出现的函数(直接或间接)调用的任何函数中的错误的结果,并且此函数可能不再在调用堆栈中显示,因为它已经完成执行并离开记忆中的定时炸弹。

堆栈指针寄存器包含值0x00007fff55df91d0,确认在0x00007fd37a589ae0非法访问不可能是堆栈溢出。另外,如果你不是Farm Hand的作者,那么除了将它发送给农场手的作者(并且希望这个人是那种能够理解它)或启动一个调试器进行漫长而乏味的会话。你在你的问题中提出的所有解释(递归,堆栈溢出)似乎都是错误的。

+0

嗨,谢谢你的回答。我是Farm Hand的作者,之前在项目中遇到了堆栈溢出问题,因此我认为这可能是相关的(我在解释崩溃报告方面根本没有经验)。我现在已经意识到,问题只发生在依赖NSObject的'performSelector:withObject:afterDelay'方法的很多代码段中。显然这可能导致“内存对齐”方面的问题。我已经删除了这些方法调用,并且问题似乎得到解决。 – 2014-10-12 14:14:10