From e64163ad1d5ead8f9e92e443b56ebe0126399ba9 Mon Sep 17 00:00:00 2001 From: Jim Date: Wed, 18 Jan 2023 16:46:45 -0500 Subject: [PATCH] fix (controller): prevent panic when controller stops when there's no listener (#2793) --- internal/daemon/controller/listeners.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/daemon/controller/listeners.go b/internal/daemon/controller/listeners.go index 7a7817dae..6f65e18c2 100644 --- a/internal/daemon/controller/listeners.go +++ b/internal/daemon/controller/listeners.go @@ -321,10 +321,11 @@ func (c *Controller) stopApiGrpcServerAndListener() error { if c.apiGrpcServer == nil { return nil } - c.apiGrpcServer.GracefulStop() - err := c.apiGrpcServerListener.Close() - return listenerCloseErrorCheck("ch", err) // apiGrpcServerListener is just a channel, so the type here is not important. + if c.apiGrpcServerListener != nil { + return listenerCloseErrorCheck("ch", c.apiGrpcServerListener.Close()) // apiGrpcServerListener is just a channel, so the type here is not important. + } + return nil } // stopAnyListeners does a final once over the known