Skip to content

bug: SIGSEGV in the Kubernetes 1.27Β #759

@aleksey-novikov

Description

@aleksey-novikov

Describe the issue

fluent-operator crashed on startup in the Kubernetes 1.27 environment:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x131a850]
goroutine 1 [running]:
k8s.io/client-go/discovery.convertAPIResource(...)
 /go/pkg/mod/k8s.io/[email protected]/discovery/aggregated_discovery.go:114
k8s.io/client-go/discovery.convertAPIGroup({{{0x0, 0x0}, {0x0, 0x0}}, {{0xc0005144b0, 0x15}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
 /go/pkg/mod/k8s.io/[email protected]/discovery/aggregated_discovery.go:95 +0x6f0
k8s.io/client-go/discovery.SplitGroupsAndResources({{{0xc00004c0c0, 0x15}, {0xc000118080, 0x1b}}, {{0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
 /go/pkg/mod/k8s.io/[email protected]/discovery/aggregated_discovery.go:49 +0x125
k8s.io/client-go/discovery.(*DiscoveryClient).downloadAPIs(0xc0000c4c90?)
 /go/pkg/mod/k8s.io/[email protected]/discovery/discovery_client.go:328 +0x3de
k8s.io/client-go/discovery.(*DiscoveryClient).GroupsAndMaybeResources(0xc0000c50c0?)
 /go/pkg/mod/k8s.io/[email protected]/discovery/discovery_client.go:203 +0x65
k8s.io/client-go/discovery.ServerGroupsAndResources({0x1b28580, 0xc000177e90})
 /go/pkg/mod/k8s.io/[email protected]/discovery/discovery_client.go:413 +0x59
k8s.io/client-go/discovery.(*DiscoveryClient).ServerGroupsAndResources.func1()
 /go/pkg/mod/k8s.io/[email protected]/discovery/discovery_client.go:376 +0x25
k8s.io/client-go/discovery.withRetries(0x2, 0xc0002a70d8)
 /go/pkg/mod/k8s.io/[email protected]/discovery/discovery_client.go:651 +0x71
k8s.io/client-go/discovery.(*DiscoveryClient).ServerGroupsAndResources(0x0?)
 /go/pkg/mod/k8s.io/[email protected]/discovery/discovery_client.go:375 +0x3a
k8s.io/client-go/restmapper.GetAPIGroupResources({0x1b28580?, 0xc000177e90?})
 /go/pkg/mod/k8s.io/[email protected]/restmapper/discovery.go:148 +0x42
sigs.k8s.io/controller-runtime/pkg/client/apiutil.NewDynamicRESTMapper.func1()
 /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/client/apiutil/dynamicrestmapper.go:94 +0x25
sigs.k8s.io/controller-runtime/pkg/client/apiutil.(*dynamicRESTMapper).setStaticMapper(...)
 /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/client/apiutil/dynamicrestmapper.go:130
sigs.k8s.io/controller-runtime/pkg/client/apiutil.NewDynamicRESTMapper(0xc0000cc990?, {0x0, 0x0, 0xb5d040c8da1c8c01?})
 /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/client/apiutil/dynamicrestmapper.go:110 +0x182
sigs.k8s.io/controller-runtime/pkg/cluster.setOptionsDefaults.func1(0xc0003817a0?)
 /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/cluster/cluster.go:217 +0x25
sigs.k8s.io/controller-runtime/pkg/cluster.New(0xc000278b40, {0xc0000c5a78, 0x1, 0x0?})
 /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/cluster/cluster.go:159 +0x18d
sigs.k8s.io/controller-runtime/pkg/manager.New(_, {0xc0003817a0, 0x0, 0x0, {{0x1b24878, 0xc0003e55c0}, 0x0}, 0x0, {0x0, 0x0}, ...})
 /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/manager/manager.go:351 +0xf9
main.main()
 /workspace/main.go:108 +0x555

To Reproduce

Install and run in the last Kubernetes environment - 1.27.1+

Expected behavior

Don't crash

Your Environment

- Fluent Operator version: 2.1.0, 2.2.0
- Container Runtime: containerd
- Operating system: CentOS 9 Stream
- Kernel version: 5.14

How did you install fluent operator?

Install by helm chart

Additional context

This bug would be fixed by rebuild with client-go 0.27
#kubernetes/client-go@2bd557f

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