4
Date/Time: 2013-05-22 21:31:31.863 -0400  
OS Version: iOS 6.1.3 (10B329)  
Report Version: 104  

Exception Type: EXC_CRASH (SIGSEGV)  
Exception Codes: 0x0000000000000000, 0x0000000000000000  
Crashed Thread: 1  

Thread 0 name: Dispatch queue: com.apple.main-thread  
Thread 0:  
0 CoreFoundation 0x3203f950 -[NSArrayM dealloc] + 128    
1 Foundation 0x32999218 -[NSFunctionExpression dealloc] + 56  
2 Foundation 0x329991d8 -[NSKeyPathExpression dealloc] + 36  
3 Foundation 0x3299914c -[NSComparisonPredicate dealloc] + 40  
4 CoreData 0x31f6b672 -[NSFetchedResultsController(PrivateMethods) _managedObjectContextDidChange:] + 1362  
5 CoreFoundation 0x32045034 _CFXNotificationPost + 1424  
6 Foundation 0x3295b594 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68  
7 CoreData 0x31ef9712 -[NSManagedObjectContext(_NSInternalNotificationHandling) _postObjectsDidChangeNotificationWithUserInfo:] + 74  
8 CoreData 0x31ef8c72 -[NSManagedObjectContext(_NSInternalChangeProcessing) _createAndPostChangeNotification:withDeletions:withUpdates:withRefreshes:] + 294  9 CoreData 0x31e7abf4 - [NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:] + 2676  
10 CoreData 0x31e7a10a _performRunLoopAction + 266  
11 CoreFoundation 0x320c96ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 18  
12 CoreFoundation 0x320c79bc __CFRunLoopDoObservers + 272  
13 CoreFoundation 0x320c7d12 __CFRunLoopRun + 738  
14 CoreFoundation 0x3203aeb8 CFRunLoopRunSpecific + 352  
15 CoreFoundation 0x3203ad44 CFRunLoopRunInMode + 100    
16 GraphicsServices 0x35bef2e6 GSEventRunModal + 70  
17 UIKit 0x33f502fc UIApplicationMain + 1116  
18 MyApp 0x00003fd6 main (main.m:16)  
19 MyApp 0x00003f8c 0x1000 + 12172  

Thread 1 name: Dispatch queue: com.apple.libdispatch-manager  
Thread 1 Crashed:  
0 libsystem_kernel.dylib 0x3a486648 kevent64 + 24  
1 libdispatch.dylib 0x3a3b6974 _dispatch_mgr_invoke + 792  
2 libdispatch.dylib 0x3a3b6654 _dispatch_mgr_thread$VARIANT$mp + 32  
4

2 回答 2

6

几乎可以肯定,该崩溃实际上并没有发生在调度管理器线程上(尽管崩溃报告声称),因为它在kevent64系统调用的内核中被阻塞了。

CrashReporter 可能错误地识别了崩溃线程,或者您的进程可能已从SEGV外部发送信号。

如果您在此处列出的线程之外还有其他线程,则值得仔细查看它们是否可能是崩溃的线程,否则罪魁祸首是dealloc主线程上的。

于 2013-05-23T21:36:00.440 回答
0

您在NSFetchedResultsController. 处理通知时出现问题,可能是在将更改保存到托管对象上下文时发布的。这就是堆栈跟踪所说的全部内容。如果不看一些代码,就无法回答谓词有什么问题以及为什么此时会出现问题。

于 2013-05-23T15:56:48.110 回答