From ec3dd2d0772bcd4f579f0f1ba8c550e22bd42511 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Mon, 20 Oct 2025 13:43:55 +0800 Subject: [PATCH] fix(grpc/client): protect GetGrpcClient with _clientMux lock to avoid race during singleton init --- core/grpc/client/client.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/grpc/client/client.go b/core/grpc/client/client.go index f68f3e09..8c62afd7 100644 --- a/core/grpc/client/client.go +++ b/core/grpc/client/client.go @@ -1059,6 +1059,9 @@ var _clientOnce sync.Once var _clientMux sync.Mutex func GetGrpcClient() *GrpcClient { + _clientMux.Lock() + defer _clientMux.Unlock() + _clientOnce.Do(func() { _client = newGrpcClient() go _client.Start()