2014-10-11 1 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:] is –

ответ

0

Нет, это не переполнение стека. Незаконный доступ составляет 0x00007fd37a589ae0. [NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:], 1875 байт в коде, попытался перепрыгнуть туда, и эта область памяти зарезервирована для данных, а не кода. Конкретный фрагмент кода [NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] не должен быть виноват или действительно какой-либо фрагмент кода, который появляется в стеке вызовов. Сбой может быть следствием ошибки в любой функции, которая была вызвана (прямо или косвенно) функцией, которая появляется в стеке вызовов, и эта функция больше не может быть включена в стек вызовов, поскольку она завершила выполнение и оставила бомба замедленного действия в памяти.

Регистр указателя стека содержит значение 0x00007fff55df91d0, подтверждающее, что незаконный доступ на 0x00007fd37a589ae0 вряд ли будет переполнен стеком.

Кроме того, если вы не являетесь автором Farm Hand, с этим отчетом ничего полезного вы не можете сделать, кроме как отправить его автору Farm Hand (и надейтесь, что этот человек является тем программистом, который может понять это) или запустить отладчик для долгого и утомительного сеанса. Все интерпретации, которые вы предлагаете в своем вопросе (рекурсия, переполнение стека), кажутся неправильными.

+0

Привет, спасибо за ответ. Я являюсь автором Farm Hand и ранее сталкивался с проблемами переполнения стека в проекте, поэтому я думал, что это может быть связано (я вообще не разбираюсь в интерпретации отчетов о сбоях). Теперь я понял, что проблема возникает только в сегменте кода, который многого зависит от метода «performSelector: withObject: afterDelay» NSObject. По-видимому, это может вызвать проблемы с точки зрения «выравнивания памяти». Я удалил эти вызовы методов, и проблема, похоже, решена. –