ProcedureKit: swift_conformsToProtocol deadlock in state change setter

Hi Dan,

Another one of these related to swift_conformsToProtocol, as before. It would seem that these parts of the Swift runtime aren’t thread safe… In any case, same issue as http://stackoverflow.com/questions/33788606/apparent-deadlock-in-alamofire-request-method, in fact. The deadlock is caused by two threads entering https://github.com/apple/swift/blob/2ded9fe4447553050f08a4d1afe3c92d57b93390/stdlib/public/runtime/ProtocolConformance.cpp#L568.

In this case, it’s caused by the logging https://github.com/eyeem/Operations/blob/36fbe8baf495fbc1d752b53d724e261c89e57fec/Sources/Core/Shared/Operation.swift#L288. It’s fine for us to just comment that out. Also, I can try the older version you suggested.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 21 (21 by maintainers)

Most upvoted comments

Yes - in fact we’re wiring through CocoaLumberjack now (for the file logging possibilities, mostly). Previously Loggerithm, but that didn’t have the support for multiple log outputs