ClusterInfo::tvu_peers acquires a read-lock on gossip: https://github.com/solana-labs/solana/blob/f0e934145/core/src/cluster_info.rs#L1171-L1185 and so, ClusterInfo::repair_peers is recursively locking gossip for read twice: https://github.com/solana-labs/solana/blob/f0e934145/core/src/cluster_info.rs#L1202-L1223 But std::sync::RwLock is not re-entrant (recursive).