2014-10-11 217 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