Interpret Mac OS X crash report

-2

I just really need some help deciphering this crash report:

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

I'm fairly sure this is a stack overflow. Am I correct and is it a recursive loop that is doing it? If not what is happening!

objective-c
macos
crash
stack-overflow
crash-reports
asked on Stack Overflow Oct 11, 2014 by Rob Sanders • edited Oct 11, 2014 by Pascal Cuoq

1 Answer

0

No, it is not a stack overflow. The illegal access is at 0x00007fd37a589ae0. [NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:], 1875 bytes within its code, tried to jump there, and this memory area is reserved for data, not code. The particular piece of code [NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] does not have to be at fault, or indeed any piece of code that appears in the call stack. The crash may be the consequence of a bug in any function that has been called (directly or indirectly) by a function that appears in the call stack, and this function may no longer be featured in the call stack because it has finished executing and left a time bomb in memory.

The stack pointer register contains the value 0x00007fff55df91d0, confirming that an illegal access at 0x00007fd37a589ae0 is not likely to be the stack overflowing.

Also, if you are not the author of Farm Hand, there is nothing useful you can do with this report except send it to the author of Farm Hand (and hope this person is the kind of programmer that can make sense of it) or launch a debugger for a long and tedious session. All the interpretations you suggest in your question (recursion, stack overflow) appear to be wrong.

answered on Stack Overflow Oct 11, 2014 by Pascal Cuoq • edited Oct 11, 2014 by Pascal Cuoq

User contributions licensed under CC BY-SA 3.0