From 195308e4ce90e29bbccdaab1be5b9cff1d5ead85 Mon Sep 17 00:00:00 2001 From: Jordan Krage Date: Wed, 22 Jul 2026 08:14:02 -0500 Subject: [PATCH] Enhance error reporting in standard capabilities service Added error handling for service initialization and readiness. --- .../standardcapabilities/standard_capabilities.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/services/standardcapabilities/standard_capabilities.go b/core/services/standardcapabilities/standard_capabilities.go index d84fd7e3b38..07239c00603 100644 --- a/core/services/standardcapabilities/standard_capabilities.go +++ b/core/services/standardcapabilities/standard_capabilities.go @@ -51,6 +51,7 @@ type StandardCapabilities struct { wg sync.WaitGroup readyChan chan struct{} + readyErr error stopChan services.StopChan startTimeout time.Duration } @@ -114,6 +115,7 @@ func (s *StandardCapabilities) Start(ctx context.Context) error { if err = s.capabilitiesLoop.WaitCtx(cctx); err != nil { s.log.Errorf("error waiting for standard capabilities service to start: %v", err) + s.readyErr = fmt.Errorf("error waiting for standard capabilities service to start: %w", err) return } @@ -132,12 +134,14 @@ func (s *StandardCapabilities) Start(ctx context.Context) error { } if err = s.capabilitiesLoop.Service.Initialise(cctx, dependencies); err != nil { s.log.Errorf("error initialising standard capabilities service: %v", err) + s.readyErr = ... return } capabilityInfos, err := s.capabilitiesLoop.Service.Infos(cctx) if err != nil { s.log.Errorf("error getting standard capabilities service info: %v", err) + s.readyErr = ... return } @@ -156,7 +160,7 @@ func (s *StandardCapabilities) Ready() error { } select { case <-s.readyChan: - return nil + return s.readyErr case <-s.stopChan: return ErrServiceStopped default: @@ -168,7 +172,7 @@ func (s *StandardCapabilities) Ready() error { func (s *StandardCapabilities) Await(ctx context.Context) error { select { case <-s.readyChan: - return nil + return s.readyErr case <-s.stopChan: return ErrServiceStopped case <-ctx.Done():