apple / swift-distributed-actors

Peer-to-peer cluster implementation for Swift Distributed Actors
https://apple.github.io/swift-distributed-actors/
Apache License 2.0
580 stars 54 forks source link

generic specialization <DistributedCluster.AnyDistributedReceptionKey> of Swift.__RawDictionaryStorage.find<A where A: Swift.Hashable>(A) -> (bucket: Swift._HashTable.Bucket, found: Swift.Bool) in /root/shared/ZK/zk/<compiler-generated>:0 #1146

Open SeanXuCn opened 6 months ago

SeanXuCn commented 6 months ago

A Crash was found in a concurrent situation

0   0x5621c2774889  generic specialization <DistributedCluster.AnyDistributedReceptionKey> of Swift.__RawDictionaryStorage.find<A where A: Swift.Hashable>(A) -> (bucket: Swift._HashTable.Bucket, found: Swift.Bool) in /root/shared/ZK/zk/<compiler-generated>:0
1   0x5621c2b359c3  generic specialization <DistributedCluster.AnyDistributedReceptionKey, OrderedCollections.OrderedSet<DistributedCluster.VersionedRegistration>> of Swift.Dictionary._Variant.removeValue(forKey: A) -> B? in /root/shared/myprocess/<compiler-generated>:0
2   0x5621c2b359c3  generic specialization <DistributedCluster.AnyDistributedReceptionKey, OrderedCollections.OrderedSet<DistributedCluster.VersionedRegistration>> of Swift.Dictionary.removeValue(forKey: A) -> B? in /root/shared/ZK/zk/<compiler-generated>:0
3   0x5621c2b359c3  DistributedCluster.DistributedReceptionistStorage.pruneNode(DistributedCluster.Cluster.Node) -> DistributedCluster.DistributedReceptionistStorage.PrunedNodeDirective in /root/shared/ZK/zk/.build/checkouts/swift-distributed-actors/Sources/DistributedCluster/Receptionist/DistributedReceptionist.swift:312
4   0x5621c29d67f5  DistributedCluster.OpLogDistributedReceptionist.pruneClusterMember(removedNode: DistributedCluster.Cluster.Node) -> () in /root/shared/ZK/zk/.build/checkouts/swift-distributed-actors/Sources/DistributedCluster/Cluster/Reception/OperationLogDistributedReceptionist.swift:1008
5   0x5621c29bfa82  DistributedCluster.OpLogDistributedReceptionist.(onClusterEvent in _0D0F9A8DB12431CCF5A9EE502E3E5067)(event: DistributedCluster.Cluster.Event) -> () in /root/shared/ZK/zk/.build/checkouts/swift-distributed-actors/Sources/DistributedCluster/Cluster/Reception/OperationLogDistributedReceptionist.swift:953
6   0x5621c29bec04  (3) suspend resume partial function for closure #1 @Sendable () async throws -> () in DistributedCluster.OpLogDistributedReceptionist.init(settings: DistributedCluster.ReceptionistSettings, system: DistributedCluster.ClusterSystem) async -> DistributedCluster.OpLogDistributedReceptionist in /root/shared/ZK/zk/.build/checkouts/swift-distributed-actors/Sources/DistributedCluster/Cluster/Reception/OperationLogDistributedReceptionist.swift:265
7   0x7f40c48f449d
8   0x7f40c48f4c4b
9   0x7f40c33d3f04
10  0x7f40c33d3cb2
11  0x7f40c33df5a1
12  0x7f40c3a166da  start_thread in /build/glibc-CVJwZb/glibc-2.27/nptl/pthread_create.c:463
13  0x7f40c16a161e
14  0xffffffffffffffff