Skip to content

[BUG] KB panic when vars referencing a serviceRef not defined in cluster obj #9501

@cjc7373

Description

@cjc7373

This bug happens in kb 0.9, but may also exist in 1.0.

(EDIT: 1.0 works fine)

For instance, cmpd defined as:

...
  serviceRefDeclarations:
  - name: milvus-meta-storage
    optional: true # <------- note optional
    serviceRefDeclarationSpecs:
    - serviceKind: etcd
      serviceVersion: ^3.*
  vars:
  - name: ETCD_PORT_SVC_REF
    valueFrom:
      serviceRefVarRef:
        name: milvus-meta-storage
        optional: true # <------- note optional
        port: Required

And in cluster cr, do not define milvus-meta-storage serviceRef. Then the panic happens.

logs:

manager 2025-07-01T08:38:13.332Z    INFO    Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference    {"controller": "component", "controllerGroup": "apps.kubeblocks.io", "controllerKind": "Component", "Component": {"name":"milvus-cluster-proxy","namespace":"default"}, "namespace": "default", "name": "milvus-cluster-proxy", "reconcileID": "66d72e3e-d750-472f-a56a-bfb1e90e5114"}
manager panic: runtime error: invalid memory address or nil pointer dereference [recovered]
manager     panic: runtime error: invalid memory address or nil pointer dereference
manager [signal SIGSEGV: segmentation violation code=0x1 addr=0x130 pc=0x1bda9cc]
manager 
manager goroutine 797 [running]:
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:116 +0x1e5
manager panic({0x2892aa0?, 0x4b99b70?})
manager     /usr/local/go/src/runtime/panic.go:914 +0x21f
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveServiceRefHostRef.func1({0x2c869c0?, 0x0?})
manager     /src/pkg/controller/component/vars.go:915 +0x2c
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveClusterObjectVars({0x2d02508, 0xa}, {{0x0, 0x0}, {0xc00248e750, 0x13}, 0xc0156f9fe4, 0x0}, 0xc015ba3cf0, 0xc00875cd60, ...)
manager     /src/pkg/controller/component/vars.go:1313 +0x478
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveServiceRefVarRefLow({0xc015d87701?, 0x2?}, {0xc015d87788?, 0x1?}, 0x0?, {{{0x0, 0x0}, {0xc00248e750, 0x13}, 0xc0156f9fe4, ...}, ...}, ...)
manager     /src/pkg/controller/component/vars.go:1117 +0xd2
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveServiceRefHostRef({0x33511a0?, 0xc01565d9b0?}, {0x3335470?, 0xc015daecf0?}, 0xc015daec90?, {0xc00248e738?, 0x0?}, {{{0x0, 0x0}, {0xc00248e750, ...}, ...}, ...})
manager     /src/pkg/controller/component/vars.go:923 +0xc6
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveServiceRefVarRef({0x33511a0?, 0xc01565d9b0?}, {0x3335470?, 0xc015daecf0?}, 0x0?, {0xc00248e738?, 0x0?}, {{{0x0, 0x0}, {0xc00248e750, ...}, ...}, ...})
manager     /src/pkg/controller/component/vars.go:893 +0xfc
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveClusterObjectVarRef({0x33511a0?, 0xc01565d9b0?}, {0x3335470?, 0xc015daecf0?}, 0x8?, {0xc00248e738?, 0x194?}, {0x0, 0x0, 0x0, ...}, ...)
manager     /src/pkg/controller/component/vars.go:495 +0x1aa
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveClusterObjectRefVars({0x33511a0, 0xc01565d9b0}, {0x3335470, 0xc015daecf0}, 0xc015b96e00, {0xc015bc4900?, 0xc, 0x0?})
manager     /src/pkg/controller/component/vars.go:465 +0x5ab
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveBuiltinNObjectRefVars({0x33511a0, 0xc01565d9b0}, {0x3335470, 0xc015daecf0}, 0x0?, {0xc015bc4900, 0xc, 0xc})
stream closed EOF for kb-system/kubeblocks-68c74bcbc-hpmkz (tools)
manager     /src/pkg/controller/component/vars.go:159 +0xc5
manager github.com/apecloud/kubeblocks/pkg/controller/component.resolveNewTemplateNEnvVars({0x33511a0?, 0xc01565d9b0?}, {0x3335470?, 0xc015daecf0?}, 0xc015bf8000?, {0xc015bc4900?, 0xc00875d668?, 0x410645?})
manager     /src/pkg/controller/component/vars.go:63
manager github.com/apecloud/kubeblocks/controllers/apps.(*componentVarsTransformer).Transform(0xc015653d80?, {0x3350d30?, 0xc01567c120}, 0xc015653dc0)
manager     /src/controllers/apps/transformer_component_vars.go:74 +0x32e
manager github.com/apecloud/kubeblocks/pkg/controller/graph.TransformerChain.ApplyTo({0xc01560de40?, 0x16, 0xc01567e2d0?}, {0x3350d30, 0xc01567c120}, 0x417852?)
manager     /src/pkg/controller/graph/transformer.go:57 +0x9b
manager github.com/apecloud/kubeblocks/controllers/apps.(*componentPlanBuilder).Build(0xc0156462d0)
manager     /src/controllers/apps/component_plan_builder.go:117 +0xb6
manager github.com/apecloud/kubeblocks/controllers/apps.(*ComponentReconciler).Reconcile(0xc000912690, {0x33511a0, 0xc01565d530}, {{{0xc000caf8c0, 0x7}, {0xc000a78810, 0x14}}})
manager     /src/controllers/apps/component_controller.go:188 +0xa0e
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x33572a8?, {0x33511a0?, 0xc01565d530?}, {{{0xc000caf8c0?, 0xb?}, {0xc000a78810?, 0x0?}}})
manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:119 +0xb7
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00043d7c0, {0x33511d8, 0xc0003bba90}, {0x29d1ac0?, 0xc000437340?})
manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:316 +0x3cc
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00043d7c0, {0x33511d8, 0xc0003bba90})
manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266 +0x1af
manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227 +0x79
manager created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 in goroutine 132
manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:223 +0x565

Metadata

Metadata

Labels

kind/bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions