Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CoreData: error: NULL _cd_rawData but the object is not being turned into a fault

I occasionally get this error when saving to core data. I cannot manage to recreate it.

Does anyone have any experience with this error;

CoreData: error: NULL _cd_rawData but the object is not being turned into a fault 

?

like image 922
johan Avatar asked Feb 10 '12 08:02

johan


1 Answers

Reason:

This happens when the object's context does not belong to the current thread. One of many ways that mistake can manifest itself.

Debug:

When the crash occurs do the following:

  1. Check the thread in which the crash occured (Xcode > Debug Navigator)
  2. On the console print, the concurrency type of the NSManagedObjectContext
  3. If the concurrency type is mainQueueConcurrencyType then it needs to be on the main thread otherwise on the background threads.

Console command to check concurrency type:

p context.concurrencyType 

In the sample command above the NSManagedObjectContext was stored in the variable context

Console Output:

(NSManagedObjectContextConcurrencyType) $R4 = mainQueueConcurrencyType 
like image 129
Neal Ehardt Avatar answered Sep 21 '22 07:09

Neal Ehardt