Сбой NSImage _cacheSnapShotRep - PullRequest
       1

Сбой NSImage _cacheSnapShotRep

1 голос
/ 13 января 2010

Я создаю изображения с использованием подкласса NSOperation;создаются потоки для создания изображений, которые отображаются в imageView.Изображения задаются как ключ в контроллере массива, который привязан к представлению изображения.

Пользователи случайным образом сообщают о сбоях приложения, и в журнале сбоев отображается ошибка в потоке, вызывающем селектор _cacheSnapshotRep ();Я не смог воспроизвести это сам, и в поиске по сети ничего не появляется для этой ошибки.

Вот соответствующие разделы из журнала сбоев:

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread:  5  Dispatch queue: com.apple.root.default-priority

Application Specific Information:
objc_msgSend() selector name: _cacheSnapshotRep:

И:

Thread 5 Crashed:  Dispatch queue: com.apple.root.default-priority
0   libobjc.A.dylib                 0x90008edb objc_msgSend + 27
1   com.apple.AppKit                0x962abd48 -[NSImage _usingBestRepresentationForRect:context:hints:body:] + 189
2   com.apple.AppKit                0x962ab87e -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 1939
3   com.apple.AppKit                0x962aa6a0 -[NSImage _drawMappingAlignmentRectToRect:withState:backgroundStyle:operation:fraction:flip:hints:] + 842
4   com.apple.AppKit                0x963bfb95 -[NSImageCell drawInteriorWithFrame:inView:] + 821
5   com.apple.AppKit                0x963bf7f9 -[NSImageCell drawWithFrame:inView:] + 2133
6   com.apple.AppKit                0x9635066a -[NSControl drawRect:] + 589
7   com.apple.AppKit                0x96348a99 -[NSView _drawRect:clip:] + 3510
8   com.apple.AppKit                0x969ae107 -[_NSViewDrawOperation main] + 257
9   com.apple.Foundation            0x9279c33b -[__NSOperationInternal start] + 811
10  com.apple.Foundation            0x9279bf61 ____startOperations_block_invoke_2 + 94
11  libSystem.B.dylib               0x922ac828 _dispatch_call_block_and_release + 16
12  libSystem.B.dylib               0x9229ea5c _dispatch_worker_thread2 + 222
13  libSystem.B.dylib               0x9229e4f1 _pthread_wqthread + 390
14  libSystem.B.dylib               0x9229e336 start_wqthread + 30

Я немного растерялся, куда идти с этимздесь, так что любой совет приветствуется.

Ответы [ 2 ]

2 голосов
/ 13 января 2010
Exception Type:  EXC_BAD_ACCESS (SIGBUS)

Похоже, проблема управления памятью, NSZombieEnabled или Инструменты должны помочь вам найти, что не так, особенно если вы не можете воспроизвести ошибку самостоятельно.

0 голосов
/ 18 января 2010

Похоже, что это вызвано использованием не поточно-безопасных классов в моих подпотоках.

Документация Apple содержит краткое изложение правил безопасности потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...