Skip to content

bug: Operator fails with SIGSEGV while trying to create datastreams service without SA key #241

@mvgorbunov

Description

@mvgorbunov

ydb-kubernetes-operator v0.5.22

Trying to create datastreams service without IAM SA key (just enable service in database specification)

spec:
  configuration: ""
  storageEndpoint: ""
  domain: dev
  resources:
    containerResources:
      limits:
        memory: 16Gi
      requests:
        cpu: 8
        memory: 16Gi
    storageUnits:
      - count: 1
        unitKind: ssd
  image:
    tag: "24.1.18-stream-nb-1.2"
    pullSecret: ydb-cr-puller
  nodes: 3
  datastreams:
    enabled: true

Operator gets crashed in reconcile loop:

2024-08-09T16:07:08Z	INFO	Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference	{"controller": "database", "controllerGroup": "ydb.tech", "controllerKind": "Database", "Database": {"name":"stunder-test","namespace":"ydb-dev"}, "namespace": "ydb-dev", "name": "stunder-test", "reconcileID": "90537b9a-d16f-428e-933b-f0c3171a0db2"}
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x18c48d8]

goroutine 645 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
	/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:119 +0x1fa
panic({0x1b33ce0, 0x2fe20b0})
	/usr/local/go/src/runtime/panic.go:884 +0x213
github.com/ydb-platform/ydb-kubernetes-operator/internal/resources.(*DatabaseStatefulSetBuilder).buildDatastreamsIAMServiceAccountKeyVolume(...)
	/workspace/internal/resources/database_statefulset.go:380
github.com/ydb-platform/ydb-kubernetes-operator/internal/resources.(*DatabaseStatefulSetBuilder).buildVolumes(0xc00cc41620)
	/workspace/internal/resources/database_statefulset.go:186 +0xd38
github.com/ydb-platform/ydb-kubernetes-operator/internal/resources.(*DatabaseStatefulSetBuilder).buildPodTemplateSpec(_)
	/workspace/internal/resources/database_statefulset.go:106 +0x85
github.com/ydb-platform/ydb-kubernetes-operator/internal/resources.(*DatabaseStatefulSetBuilder).Build(0xc00cc41620, {0x20f7200?, 0xc00c89ea00})
	/workspace/internal/resources/database_statefulset.go:63 +0x245
github.com/ydb-platform/ydb-kubernetes-operator/internal/controllers/database.(*Reconciler).handleResourcesSync.func1()
	/workspace/internal/controllers/database/sync.go:394 +0x5e
github.com/ydb-platform/ydb-kubernetes-operator/internal/resources.mutate(0xc00c89ea00?, {{0xc000e8c1c0?, 0x20e9188?}, {0xc000e8c190?, 0x20f7200?}}, {0x20f7200, 0xc00c89ea00})
	/workspace/internal/resources/resource.go:92 +0x55
github.com/ydb-platform/ydb-kubernetes-operator/internal/resources.CreateOrUpdateOrMaybeIgnore({0x20dd160, 0xc00cbc7290}, {0x20e9188, 0xc0003828a0}, {0x20f7200?, 0xc00c89ea00}, 0x0?, 0xc0007f5a68)
	/workspace/internal/resources/resource.go:165 +0x10a
github.com/ydb-platform/ydb-kubernetes-operator/internal/controllers/database.(*Reconciler).handleResourcesSync(0xc00095eb90, {0x20dd160, 0xc00cbc7290}, 0xc00cbbf690)
	/workspace/internal/controllers/database/sync.go:391 +0x2e5
github.com/ydb-platform/ydb-kubernetes-operator/internal/controllers/database.(*Reconciler).Sync(0x0?, {0x20dd160, 0xc00cbc7290}, 0x0?)
	/workspace/internal/controllers/database/sync.go:46 +0xf6
github.com/ydb-platform/ydb-kubernetes-operator/internal/controllers/database.(*Reconciler).Reconcile(0xc00095eb90, {0x20dd160, 0xc00cbc7290}, {{{0xc00133b406?, 0x0?}, {0xc00133b410?, 0x40de67?}}})
	/workspace/internal/controllers/database/controller.go:74 +0x214
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x20dd160?, {0x20dd160?, 0xc00cbc7290?}, {{{0xc00133b406?, 0x1a836c0?}, {0xc00133b410?, 0x40f926?}}})
	/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:122 +0xc8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000319040, {0x20dd0b8, 0xc00095eaf0}, {0x1bcc7c0?, 0xc0003901a0?})
	/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:323 +0x377
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000319040, {0x20dd0b8, 0xc00095eaf0})
	/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:274 +0x1d9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
	/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:235 +0x85
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
	/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:231 +0x587

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions