mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-11 20:31:20 +00:00
consensus: recover panics in receive routine
This commit is contained in:
@ -615,6 +615,12 @@ func (cs *ConsensusState) newStep() {
|
|||||||
// Updates (state transitions) happen on timeouts, complete proposals, and 2/3 majorities.
|
// Updates (state transitions) happen on timeouts, complete proposals, and 2/3 majorities.
|
||||||
// ConsensusState must be locked before any internal state is updated.
|
// ConsensusState must be locked before any internal state is updated.
|
||||||
func (cs *ConsensusState) receiveRoutine(maxSteps int) {
|
func (cs *ConsensusState) receiveRoutine(maxSteps int) {
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
cs.Logger.Error("CONSENSUS FAILURE!!!", "err", r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
if maxSteps > 0 {
|
if maxSteps > 0 {
|
||||||
if cs.nSteps >= maxSteps {
|
if cs.nSteps >= maxSteps {
|
||||||
|
Reference in New Issue
Block a user