From b6307c42e095c6f8e9e7c2518fb1004cc8f201a1 Mon Sep 17 00:00:00 2001 From: William Banfield <4561443+williambanfield@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:57:00 -0500 Subject: [PATCH] consensus: check proposal non-nil in prevote message delay metric (#7625) --- internal/consensus/state.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/consensus/state.go b/internal/consensus/state.go index 17d032464..eb4b6b2c6 100644 --- a/internal/consensus/state.go +++ b/internal/consensus/state.go @@ -2399,11 +2399,16 @@ func (cs *State) checkDoubleSigningRisk(height int64) error { } func (cs *State) calculatePrevoteMessageDelayMetrics() { + if cs.Proposal == nil { + return + } ps := cs.Votes.Prevotes(cs.Round) pl := ps.List() + sort.Slice(pl, func(i, j int) bool { return pl[i].Timestamp.Before(pl[j].Timestamp) }) + var votingPowerSeen int64 for _, v := range pl { _, val := cs.Validators.GetByAddress(v.ValidatorAddress)