From 30a76203d3f68679f08075f3c8ee3ced70c81b13 Mon Sep 17 00:00:00 2001 From: Cassandra Heart Date: Thu, 9 Oct 2025 22:45:07 -0500 Subject: [PATCH] fix: nil ref on consensus halts for non-archive nodes --- node/consensus/global/event_distributor.go | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/node/consensus/global/event_distributor.go b/node/consensus/global/event_distributor.go index 45e4871..73b5a43 100644 --- a/node/consensus/global/event_distributor.go +++ b/node/consensus/global/event_distributor.go @@ -202,11 +202,13 @@ func (e *GlobalConsensusEngine) eventDistributorLoop() { if ok && data.Message != "" { e.logger.Error(data.Message) e.halt() - if err := e.stateMachine.Stop(); err != nil { - e.logger.Error( - "error occurred while halting consensus", - zap.Error(err), - ) + if e.stateMachine != nil { + if err := e.stateMachine.Stop(); err != nil { + e.logger.Error( + "error occurred while halting consensus", + zap.Error(err), + ) + } } go func() { for { @@ -230,11 +232,13 @@ func (e *GlobalConsensusEngine) eventDistributorLoop() { zap.Error(data.Error), ) e.halt() - if err := e.stateMachine.Stop(); err != nil { - e.logger.Error( - "error occurred while halting consensus", - zap.Error(err), - ) + if e.stateMachine != nil { + if err := e.stateMachine.Stop(); err != nil { + e.logger.Error( + "error occurred while halting consensus", + zap.Error(err), + ) + } } go func() { for {