diff --git a/consensus/state.go b/consensus/state.go index 48c91d27..f6ee5d45 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -615,6 +615,12 @@ func (cs *ConsensusState) newStep() { // Updates (state transitions) happen on timeouts, complete proposals, and 2/3 majorities. // ConsensusState must be locked before any internal state is updated. func (cs *ConsensusState) receiveRoutine(maxSteps int) { + defer func() { + if r := recover(); r != nil { + cs.Logger.Error("CONSENSUS FAILURE!!!", "err", r) + } + }() + for { if maxSteps > 0 { if cs.nSteps >= maxSteps {