2010-11-07 96 views
0

我有一個垃圾收集CoreData應用程序,這是由我的一些朋友使用。這是一個相當標準的應用程序,其中Core Data條目顯示在表視圖上。垃圾收集核心數據程序中的奇怪崩潰

其中一些報告下列神祕崩潰報告,由表視圖的排序標準中的更改觸發。

Application Specific Information: 
objc_msgSend() selector name: objCType 
objc[1415]: garbage collection is ON 

Thread 0 Crashed: Dispatch queue: com.apple.main-thread 
0 libobjc.A.dylib     0x00007fff885bf10a objc_msgSend + 22 
1 com.apple.Foundation   0x00007fff82a80f91 -[NSNumber compare:] + 102 
2 com.apple.Foundation   0x00007fff82aa9c9a _NSCompareObject + 75 
3 com.apple.Foundation   0x00007fff82ae1ab9 _NSSortFunctionMany + 626 
4 com.apple.CoreFoundation  0x00007fff87f24419 __CFSimpleMergeSort + 409 
5 com.apple.CoreFoundation  0x00007fff87f242d8 __CFSimpleMergeSort + 88 
.... 
15 com.apple.CoreFoundation  0x00007fff87f242d8 __CFSimpleMergeSort + 88 
16 com.apple.CoreFoundation  0x00007fff87f240cd CFSortIndexes + 317 
17 com.apple.CoreFoundation  0x00007fff87f56a23 CFMergeSortArray + 147 
18 com.apple.Foundation   0x00007fff82aa99f3 _sortedObjectsUsingDescriptors + 572 
19 com.apple.Foundation   0x00007fff82ae162a -[NSMutableArray(NSKeyValueSorting) sortUsingDescriptors:] + 440 
20 com.apple.AppKit    0x00007fff84f06ad8 -[NSArrayController _sortObjects:] + 337 
21 com.yujitach.spires    0x00000001000225e0 -[IncrementalArrayController arrangeObjects:] + 194 

這裏,IncrementalArrayControllerNSArrayController一個子類。我不明白爲什麼從CoreData返回的Objective-C數組中的arrangeObjects:導致崩潰。

它與我的程序的多線程性有關嗎?我遵循文檔所說的:每個線程的MOC,並且我不通過線程傳遞託管對象,只傳遞託管對象ID。

我很感激,如果有人可以建議我如何調試它。例如我想看看哪個對象導致了objc_msgSend的崩潰。我如何追蹤它?

如果需要的源代碼,這是可以通過bzr

$ bzr branch http://www.sns.ias.edu/~yujitach/spires/code/ 

回答

0

那家參與分揀垃圾回收的應用程序非常大陣列的10.6早期版本的bug。修復程序正在更新中。

+0

你的意思是在即將到來的更新中?這個bug在10.6.4上。希望解決方案在10.6.5 ... – Yuji 2010-11-07 23:15:23