Skip to content

panic on "jump to owner" of reflect.Value.Elem on zero Value #3754

@damienpontifex

Description

@damienpontifex




Describe the bug
Using Shift+j keyboard shortcut for jump to owner, I run into a panic of:

panic: reflect: call of reflect.Value.Elem on zero Value                                                                   
                                                                                                                                                             
                                                                                          goroutine 221 [running]:
                                                                                                                  reflect.Value.Elem({0x0?, 0x0?, )
  	reflect/value.go:1254
                                    github.com/derailed/k9s/internal/render.hydrate({0x0, 0x0}, {}, {0x14002055ef0, 0x5,)
                                   	github.com/derailed/k9s/internal/render/cust_cols.go:189 +0x50c
                                                                                                       github.com/derailed/k9s/internal/render.ColumnSpecs.realize
                                                                                     	github.com/derailed/k9s/internal/render/cust_cols.go:130
                                                                                                                                                       github.com/derailed/k9s/internal/render.(*Table).Render
                                                                                                                                      	github.com/derailed/k9s/internal/render/table.go:98
                                    github.com/derailed/k9s/internal/model1.GenericHydrate.func1(                       	github.com/derailed/k9s/internal/model1/helpers.go:57
                             github.com/derailed/k9s/internal/model1.(*WorkerPool).Add.func1(
 	github.com/derailed/k9s/internal/model1/pool.go:57
                                                                created by github.com/derailed/k9s/internal/model1.(*WorkerPool).Add in goroutine 1
                                                                                                                                                   	github.com/derailed/k9s/internal/model1/pool.go:52

Pasting as is, as this is what shows on the screen, a panic/stack trace with varying indentation. I've removed a bunch of hex values to try and make it a bit clearer as I assume they are memory addresses that aren't valid in diagnosing the issue.

To Reproduce
Steps to reproduce the behavior:

  1. :pods
  2. shift+j on pod to jump to owner (lands on statefulset view)
  3. inspect yaml of stateful set and it also has an ownerreferences value (in this case is a custom resource)
  4. shift+j on statefulset
  • Check uid and name of owner reference that the owner resource does exist
  1. Panic stacktrace and only way to exit is use tmux kill-pane

Historical Documents
Stack trace above. No other logs I could find

Expected behavior

  • Jump to custom resource owner of stateful set successfully

Screenshots
Screenshot would just be the stacktrace as above

Versions (please complete the following information):

  • OS: macOS
  • K9s: v0.50.16
  • K8s: 1.32.9

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions