Coredata multithread violation
J'ai un appli qui utilise core data sur plusieurs thread et malheureusement, j'ai une Multithreading_Violation exception. D'habitude, c'est facile, je regarde la stack trace et je vois d'ou ca viens et je rajoute un performBlock la ou on l'a oublié... Malheureusement, la stack trace ne me dit pas grand chose...
#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 ()
Des idées?
Olivier
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Peut-être ceci http://stackoverflow.com/questions/29199185/using-com-apple-coredata-concurrencydebug-1-on-async-block-crash-on-both-mainco t'aidera ?
Merci pour le lien.
Nous utilisons performBlock ou il le faut, mais apparement il y a un endroit que nous avons manqué. La question est comment trouver cet endroit. D'habitude la stack trace nous envoie au bon endroit, mais pas cette fois ci.