-conformsToProtocol: or -executeFetchRequest: causing deadlock at runtime level

Originator:jbradforddillon
Number:rdar://12412686 Date Originated:10-02-2012
Status:Open Resolved:
Product:iPhone SDK Product Version:5.0
Classification:Crash/Hang Reproducible:Always
 
Summary:
While performing several CoreData operations in a background thread using the new CoreData concurrency API, I discovered a deadlock when using -conformsToProtocol: on the main thread.

Steps to Reproduce:
Call -conformsToProtocol: on the main thread while a background thread calls -executeFetchRequest:error: on a concurrent NSManagedObjectContext. The fetch request execution will call objc_lookUpClass() at the same time that -conformsToProtocol calls class_conformsToProtocol(), each requiring a readlock at the runtime level.

Expected Results:
-conformsToProtocol and -executeFetchRequest:error: would not cause a deadlock when threading is done correctly from the developers part.

Actual Results:
Deadlock

Regression:
Not sure.

Notes:

Comments

Duped as radar 12413210

By krismarkel at Oct. 2, 2012, 4:26 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!