From 9962e598a095dec77579d55ba2e68126b8eb762d Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Mon, 23 Jul 2018 21:15:08 +0400 Subject: [PATCH] reconnect to self-reported address if persistent peer is inbound (#2031) * reconnect to self-reported address if persistent peer is inbound * add a fixme --- p2p/switch.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/p2p/switch.go b/p2p/switch.go index 77c64fca..636ca6d8 100644 --- a/p2p/switch.go +++ b/p2p/switch.go @@ -283,7 +283,9 @@ func (sw *Switch) StopPeerForError(peer Peer, reason interface{}) { if peer.IsPersistent() { addr := peer.OriginalAddr() if addr == nil { - panic(fmt.Sprintf("persistent peer %v with no original address", peer)) + // FIXME: persistent peers can't be inbound right now. + // self-reported address for inbound persistent peers + addr = peer.NodeInfo().NetAddress() } go sw.reconnectToPeer(addr) }