This is an automated email from the ASF dual-hosted git repository.

RongtongJin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git


The following commit(s) were added to refs/heads/master by this push:
     new 9d026ed5 fix(client.go): nil pointer exception during close (#1243)
9d026ed5 is described below

commit 9d026ed53a228ff65a8cef7365dd9be5d0f9adb1
Author: Quan <[email protected]>
AuthorDate: Fri May 8 19:57:19 2026 +0800

    fix(client.go): nil pointer exception during close (#1243)
    
    Add nil checks for `consumerService` and `clientManager` in the close flow 
to prevent nil pointer panics caused by uninitialized objects.
---
 golang/client.go        | 4 +++-
 golang/push_consumer.go | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/golang/client.go b/golang/client.go
index 7aa17635..04ec6657 100644
--- a/golang/client.go
+++ b/golang/client.go
@@ -647,7 +647,9 @@ func (cli *defaultClient) GracefulStop() error {
                return fmt.Errorf("client has been closed")
        }
        cli.notifyClientTermination()
-       cli.clientManager.UnRegisterClient(cli)
+       if cli.clientManager != nil {
+               cli.clientManager.UnRegisterClient(cli)
+       }
        cli.done <- struct{}{}
        close(cli.done)
        cli.clientMeterProvider.Reset(&v2.Metric{
diff --git a/golang/push_consumer.go b/golang/push_consumer.go
index 237ef4b5..a7d1dce9 100644
--- a/golang/push_consumer.go
+++ b/golang/push_consumer.go
@@ -517,7 +517,9 @@ func (pc *defaultPushConsumer) GracefulStop() error {
        pc.cli.log.Infof("Begin to Shutdown consumption executor, clientId=%s", 
pc.cli.clientID)
 
        // step 4
-       pc.consumerService.Shutdown()
+       if pc.consumerService != nil {
+               pc.consumerService.Shutdown()
+       }
 
        // step 5
        time.Sleep(time.Second)

Reply via email to