EDIT: Page
is one of my entities
EIDT2: I'm always running with '-com.apple.CoreData.ConcurrencyDebug 1' and I've got no concurrency issues reported by that
I've stared to see a crash that I have no clue how to solve. I can't find when it was introduced it seems to come from CoreData. And also it's not 100% reproducible.
How can I track it down better? Is it me?
Fatal Exception: NSInvalidArgumentException
-[Page compare:]: unrecognized selector sent to instance 0x281c640a0
With the following stack-trace:
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x192cc896c __exceptionPreprocess
1 libobjc.A.dylib 0x1929e1028 objc_exception_throw
2 CoreFoundation 0x192bc6dcc -[NSOrderedSet initWithSet:copyItems:]
3 CoreFoundation 0x192ccd048 ___forwarding___
4 CoreFoundation 0x192ccf3a0 _CF_forwarding_prep_0
5 Foundation 0x1930afc3c _NSCompareObject
6 CoreData 0x197670e24 +[NSFetchedResultsController(PrivateMethods) _insertIndexForObject:inArray:lowIdx:highIdx:sortDescriptors:]
7 CoreData 0x197671034 -[NSFetchedResultsController(PrivateMethods) _updateFetchedObjectsWithInsertChange:]
8 CoreData 0x19766b73c -[NSFetchedResultsController(PrivateMethods) _updateFetchedObjectsWithInsertedObjects:deletedObjects:updatedObjects:]
9 CoreData 0x19779829c __82-[NSFetchedResultsController(PrivateMethods) _core_managedObjectContextDidChange:]_block_invoke
10 CoreData 0x197757aac developerSubmittedBlockToNSManagedObjectContextPerform
11 CoreData 0x1976221c4 -[NSManagedObjectContext performBlockAndWait:]
12 CoreData 0x19762b81c -[NSFetchedResultsController(PrivateMethods) _core_managedObjectContextDidChange:]
13 Foundation 0x19309306c __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_2
14 CoreFoundation 0x192c2099c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
15 CoreFoundation 0x192c209ec ___CFXRegistrationPost1_block_invoke
16 CoreFoundation 0x192c1fce4 _CFXRegistrationPost1
17 CoreFoundation 0x192c1f97c ___CFXNotificationPost_block_invoke
18 CoreFoundation 0x192b98910 -[_CFXNotificationRegistrar find:object:observer:enumerator:]
19 CoreFoundation 0x192c1f2ac _CFXNotificationPost
20 Foundation 0x192f81bfc -[NSNotificationCenter postNotificationName:object:userInfo:]
21 CoreData 0x1976329dc -[NSManagedObjectContext(_NSInternalNotificationHandling) _postContextDidMergeChangesNotificationWithUserInfo:]
22 CoreData 0x19762b6b4 -[NSManagedObjectContext(_NSInternalChangeProcessing) _createAndPostChangeNotification:deletions:updates:refreshes:deferrals:wasMerge:]
23 CoreData 0x197635e00 -[NSManagedObjectContext(_NSInternalChangeProcessing) _postRefreshedObjectsNotificationAndClearList]
24 CoreData 0x19762a4fc -[NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:]
25 CoreData 0x197631f1c -[NSManagedObjectContext _mergeChangesFromDidSaveDictionary:usingObjectIDs:]
26 CoreData 0x19763228c -[NSManagedObjectContext mergeChangesFromContextDidSaveNotification:]
27 CoreData 0x197757aac developerSubmittedBlockToNSManagedObjectContextPerform
28 libdispatch.dylib 0x19296dfd8 _dispatch_client_callout
29 libdispatch.dylib 0x192979cc8 _dispatch_main_queue_callback_4CF
30 CoreFoundation 0x192c43cc8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
31 CoreFoundation 0x192c3ea24 __CFRunLoopRun
32 CoreFoundation 0x192c3df40 CFRunLoopRunSpecific
33 GraphicsServices 0x19cebb534 GSEventRunModal
34 UIKitCore 0x196db6a60 UIApplicationMain
35 Calendarly 0x1005812fc main + 29 (AppDelegate.swift:29)
36 libdyld.dylib 0x192abce18 start
I think I've found it! As a last sorting-resort, I wanted to sort by primary-key and added this:
And it seems like that didn't work.. Because the crash happens when the names and years are the same, thus it's using: NSSortDescriptor(key: "self", ascending: true)
5 Foundation 0x1b8d8bc34 _NSCompareObject + 64 (NSSortDescriptor.m:275)
in another crash I got from a the crash, which gave me the file as well (NSSortDescriptor.m), which got me thinking more...
Page
is your class, you could also try creating a temporarycompare:
method as a debugging tool and see what calls it. – Phillip MillsPage
is one of my CoreData entities. It represents a page in a PDF. – netdigger