derailed / popeye

👀 A Kubernetes cluster resource sanitizer
https://popeyecli.io
Other
5.32k stars 286 forks source link

runtime error: invalid memory address or nil pointer dereference on latest/dev with GKE 1.27.x #258

Closed otherguy closed 10 months ago

otherguy commented 1 year ago




Describe the bug On GKE 1.27, Popeye 0.11.1 and dev fail with the error Boom! runtime error: invalid memory address or nil pointer dereference.

This happens with any namespace and with any --sections argument, as well as when just running popeye.

On GKE 1.26 and below I run into this issue: https://github.com/derailed/popeye/issues/249

I'm not using Keda.

**Logs***

10:40AM DBG Connecting to API Server https://34.90.15.72
10:40AM ERR runtime error: invalid memory address or nil pointer dereference
10:40AM ERR goroutine 1 [running]:
runtime/debug.Stack()
    runtime/debug/stack.go:24 +0x64
github.com/derailed/popeye/cmd.doIt.func1()
    github.com/derailed/popeye/cmd/root.go:61 +0x100
panic({0x105ef1ae0, 0x10707f350})
    runtime/panic.go:884 +0x204
k8s.io/client-go/discovery.convertAPIResource(...)
    k8s.io/client-go@v0.26.1/discovery/aggregated_discovery.go:88
k8s.io/client-go/discovery.convertAPIGroup({{{0x0, 0x0}, {0x0, 0x0}}, {{0x14000139a58, 0x15}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
    k8s.io/client-go@v0.26.1/discovery/aggregated_discovery.go:69 +0x4a8
k8s.io/client-go/discovery.SplitGroupsAndResources({{{0x140001384f8, 0x15}, {0x1400070c9a0, 0x1b}}, {{0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
    k8s.io/client-go@v0.26.1/discovery/aggregated_discovery.go:35 +0x2ac
k8s.io/client-go/discovery.(*DiscoveryClient).downloadAPIs(0x14000031318?)
    k8s.io/client-go@v0.26.1/discovery/discovery_client.go:310 +0x374
k8s.io/client-go/discovery.(*DiscoveryClient).GroupsAndMaybeResources(0x14000031488?)
    k8s.io/client-go@v0.26.1/discovery/discovery_client.go:198 +0x44
k8s.io/client-go/discovery/cached/memory.(*memCacheClient).refreshLocked(0x140000671a0)
    k8s.io/client-go@v0.26.1/discovery/cached/memory/memcache.go:222 +0x48
k8s.io/client-go/discovery/cached/memory.(*memCacheClient).GroupsAndMaybeResources(0x140000671a0)
    k8s.io/client-go@v0.26.1/discovery/cached/memory/memcache.go:128 +0x84
k8s.io/client-go/discovery/cached/memory.(*memCacheClient).ServerGroups(0x14000806f50?)
    k8s.io/client-go@v0.26.1/discovery/cached/memory/memcache.go:148 +0x1c
k8s.io/client-go/discovery/cached/disk.(*CachedDiscoveryClient).ServerGroups(0x14000806f50)
    k8s.io/client-go@v0.26.1/discovery/cached/disk/cached_discovery.go:118 +0x140
github.com/derailed/popeye/internal/client.(*APIClient).supportsMetricsResources(0x14000066960)
    github.com/derailed/popeye/internal/client/client.go:351 +0x134
github.com/derailed/popeye/internal/client.InitConnectionOrDie({0x1061a9fe0, 0x140000faa40})
    github.com/derailed/popeye/internal/client/client.go:64 +0x104
github.com/derailed/popeye/pkg.(*Popeye).initFactory(0x140008060f0)
    github.com/derailed/popeye/pkg/popeye.go:158 +0xb4
github.com/derailed/popeye/pkg.(*Popeye).Init(0x140008060f0)
    github.com/derailed/popeye/pkg/popeye.go:84 +0x28
github.com/derailed/popeye/cmd.doIt(0x10708e0a0?, {0x105940517?, 0x2?, 0x2?})
    github.com/derailed/popeye/cmd/root.go:75 +0x1fc
github.com/spf13/cobra.(*Command).execute(0x10708e0a0, {0x1400004e1c0, 0x2, 0x2})
    github.com/spf13/cobra@v1.6.0/command.go:920 +0x5b0
github.com/spf13/cobra.(*Command).ExecuteC(0x10708e0a0)
    github.com/spf13/cobra@v1.6.0/command.go:1040 +0x354
github.com/spf13/cobra.(*Command).Execute(...)
    github.com/spf13/cobra@v1.6.0/command.go:968
github.com/derailed/popeye/cmd.Execute()
    github.com/derailed/popeye/cmd/root.go:47 +0x28
main.main()
    github.com/derailed/popeye/main.go:25 +0x1c

Screenshots

CleanShot 2023-06-21 at 10 45 57@2x

Versions (please complete the following information):

derailed commented 10 months ago

Fixed v0.11.2