Debugging multithreading from CoreData

We use master data for multiple threads and get multithreading. it's usually pretty easy to fix it, see where the violation is, and make sure the code is executed in the executeBlock call.

The problem today is that the call stack doesn't point to which gives me a lot of clue. I suppose someone might have some idea on how to track this down

#0  0x05e40f63 in +[NSManagedObjectContext __Multithreading_Violation_AllThatIsLeftToUsIsHonor__] ()
#1  0x05e4138b in _PFAssertSafeMultiThreadedAccess_impl ()
#2  0x05e0c15d in -[_PFBatchFaultingArray dealloc] ()
#3  0x05e0c1dd in -[_PFBatchFaultingArray release] ()
#4  0x07130eb1 in objc_release ()
#5  0x07131d32 in (anonymous namespace)::AutoreleasePoolPage::pop(void*) ()
#6  0x080d0536 in _dispatch_root_queue_drain ()
#7  0x080d1b70 in _dispatch_worker_thread3 ()
#8  0x0842d1da in _pthread_wqthread ()
#9  0x0842ae2e in start_wqthread ()

      

+3


source to share


1 answer


I had the same problem and noticed that the error does not appear when I do not receive data in packets i.e. don't set fetchBatchSize on NSFetchRequest.



This is probably a bug in the iOS 8.3 implementation of PFBatchFaultingArray.

0


source







All Articles