We use cmake, so it was a bit more difficult -- and CircleCI, so I had to make sure the dsym files got archived. Did that. Re-confirmed it's this code:
guard let flowData = self.flowSets[id] else {
os_log(.error, log: Self.log, "Could not find flow %{public}@", id.uuidString);
completion(RedirectorError.flowNotFound)
return
}
id is a UUID; self.flowSets is private var flowSets : [UUID : FlowData] = [:] (where FlowData is a simple class wrapping some flow-related information). This particular method is invoked via XPC from a daemon, with a signature of func handleTCPData(_ id: UUID, data: Data?, completion: @escaping (_: Error?) -> Void). The daemon code is in ObjC++, and it checks to ensure that the UUID is non-nil.
So I have no idea why it is segfaulting!
Topic:
Programming Languages
SubTopic:
Swift
Tags: