Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CoreData: error: Serious application error. Exception was caught during Core Data change processing

Hi I'm getting crash,

when i'm trying to insert 1000 records into db in back ground, i'm getting following exception: CoreData: error: Serious application error. Exception was caught during Core Data change processing.
This is usually a bug within an observer of

NSManagedObjectContextObjectsDidChangeNotification. -[__NSCFSet addObject:]: attempt to insert nil with userInfo (null)2013-11-19 09:41:19.587 3pTalk[7487:907]

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFSet addObject:]: attempt to insert nil'

I used the code for inserting objexts

dispatch_queue_t myBackgroundQ = dispatch_queue_create("com.sample.addressbook", NULL);
// Could also get a global queue; in this case, don't release it below.
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC);
dispatch_after(delay, myBackgroundQ, ^(void){
    [self userAddressbook];
});
dispatch_release(myBackgroundQ);
[self performSelectorOnMainThread:@selector(startSyncLoader) withObject:nil waitUntilDone:YES];
like image 742
venkipar Avatar asked Nov 19 '13 04:11

venkipar


2 Answers

Dont access same Database(Persistent Store Coordinator) from 2 threads(Main,Background) simultaneously with one context. This is not recommended. it causes App Crash.

create NSManagedContext Object and set persistentstoreCoordinator.

    dispatch_queue_t request_queue = dispatch_queue_create("com.xxx.ScsMethod", NULL);
    dispatch_async(request_queue, ^{
    NSPersistentStoreCoordinator *mainThreadContextStoreCoordinator = [context     persistentStoreCoordinator]; //
    NSManagedObjectContext *context = [[NSManagedObjectContext alloc] init]; // 
    [context setPersistentStoreCoordinator:mainThreadContextStoreCoordinator];}
like image 101
Baalu Avatar answered Nov 12 '22 21:11

Baalu


Are you accessing the database from two threads simultaneously?, using same context? That may be the reason. see this question

Problems Adding to NSMutableArray: attempt to insert nil object at 10

like image 20
arundevma Avatar answered Nov 12 '22 21:11

arundevma