-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
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!
Duped as radar 12413210