Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kubectl get pods --sort-by=status makes kubectl crash (error not handled) #993

Closed
cig0 opened this issue Dec 15, 2020 · 5 comments
Closed
Labels
kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@cig0
Copy link

cig0 commented Dec 15, 2020

What happened:
Kubectl crashes with F1215 09:51:35.632353 79162 sorter.go:360] Field {.status} in [][][]reflect.Value is an unsortable type: interface, err: unsortable type: map[string]interface {}

What you expected to happen:
Get a list of pods ordered by STATUS (I now know there're other ways to do this)

How to reproduce it (as minimally and precisely as possible):
Run the command in the title of this issue.

Anything else we need to know?:
Yes, following is the crash output messages:

% kubectl get pods --sort-by=status
F1215 09:51:35.632353   79162 sorter.go:360] Field {.status} in [][][]reflect.Value is an unsortable type: interface, err: unsortable type: map[string]interface {}
goroutine 1 [running]:
k8s.io/kubernetes/vendor/k8s.io/klog/v2.stacks(0xc00012e001, 0xc000094300, 0xa4, 0xf6)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:996 +0xb9
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).output(0x391fb20, 0xc000000003, 0x0, 0x0, 0xc0001d82a0, 0x36f2939, 0x9, 0x168, 0x0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:945 +0x191
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).printf(0x391fb20, 0x3, 0x0, 0x0, 0x28684cc, 0x31, 0xc0009ab6d8, 0x4, 0x4)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:733 +0x17a
k8s.io/kubernetes/vendor/k8s.io/klog/v2.Fatalf(...)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1456
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*TableSorter).Less(0xc000b2f920, 0x0, 0x9, 0xc000b2f920)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/sorter.go:360 +0x2d5
sort.medianOfThree(0x2aa0580, 0xc000b2f920, 0x0, 0x9, 0x12)
	/usr/local/Cellar/go/1.15.4/libexec/src/sort/sort.go:76 +0x49
sort.doPivot(0x2aa0580, 0xc000b2f920, 0x0, 0x13, 0xc000b2d860, 0xc0001e81a0)
	/usr/local/Cellar/go/1.15.4/libexec/src/sort/sort.go:105 +0xa5
sort.quickSort(0x2aa0580, 0xc000b2f920, 0x0, 0x13, 0xa)
	/usr/local/Cellar/go/1.15.4/libexec/src/sort/sort.go:190 +0x9a
sort.Sort(0x2aa0580, 0xc000b2f920)
	/usr/local/Cellar/go/1.15.4/libexec/src/sort/sort.go:218 +0x7a
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*TableSorter).Sort(...)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/sorter.go:366
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*SortingPrinter).PrintObj(0xc000656c30, 0x2a71a40, 0xc00019ed80, 0x2a64b20, 0xc00048f080, 0x0, 0xc00048f080)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/sorter.go:56 +0x20b
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*TablePrinter).PrintObj(0xc00063dfc0, 0x2a71b80, 0xc0003d4460, 0x2a64b20, 0xc00048f080, 0xc000447060, 0xc0000abd0d)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/table_printer.go:41 +0x1b7
k8s.io/kubernetes/vendor/k8s.io/cli-runtime/pkg/printers.ResourcePrinterFunc.PrintObj(0xc000183ba0, 0x2a71b80, 0xc0003d4460, 0x2a64b20, 0xc00048f080, 0x0, 0x20)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/cli-runtime/pkg/printers/interface.go:31 +0x4e
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*GetOptions).Run(0xc00046c1e0, 0x2abf540, 0xc000392f30, 0xc0004c9600, 0xc000129fa0, 0x1, 0x2, 0x0, 0x0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/get.go:579 +0x824
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.NewCmdGet.func1(0xc0004c9600, 0xc000129fa0, 0x1, 0x2)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/get.go:167 +0x135
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute(0xc0004c9600, 0xc000129f80, 0x2, 0x2, 0xc0004c9600, 0xc000129f80)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:846 +0x2c2
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc00043b600, 0xc000130120, 0xc000136000, 0x4)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:950 +0x375
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute(...)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:887
main.main()
	_output/local/go/src/k8s.io/kubernetes/cmd/kubectl/kubectl.go:49 +0x21d

goroutine 19 [chan receive]:
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).flushDaemon(0x391fb20)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1131 +0x8b
created by k8s.io/kubernetes/vendor/k8s.io/klog/v2.init.0
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:416 +0xd8

goroutine 6 [select]:
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0x290f148, 0x2a65100, 0xc0001e6000, 0x1, 0xc0001080c0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:167 +0x149
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil(0x290f148, 0x12a05f200, 0x0, 0x1, 0xc0001080c0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.Until(0x290f148, 0x12a05f200, 0xc0001080c0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/util/logs.InitLogs
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/util/logs/logs.go:51 +0x96

goroutine 148 [IO wait]:
internal/poll.runtime_pollWait(0x45ab1e0, 0x72, 0x2a68400)
	/usr/local/Cellar/go/1.15.4/libexec/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00042ee18, 0x72, 0x2a68400, 0x372ab28, 0x0)
	/usr/local/Cellar/go/1.15.4/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.15.4/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00042ee00, 0xc0007d6000, 0xed60, 0xed60, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.15.4/libexec/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc00042ee00, 0xc0007d6000, 0xed60, 0xed60, 0x203000, 0x125929b, 0xc00096c160)
	/usr/local/Cellar/go/1.15.4/libexec/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010088, 0xc0007d6000, 0xed60, 0xed60, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.15.4/libexec/src/net/net.go:182 +0x8e
crypto/tls.(*atLeastReader).Read(0xc0004000a0, 0xc0007d6000, 0xed60, 0xed60, 0x1a, 0x8c8c, 0xc0009b5710)
	/usr/local/Cellar/go/1.15.4/libexec/src/crypto/tls/conn.go:779 +0x62
bytes.(*Buffer).ReadFrom(0xc00096c280, 0x2a63b00, 0xc0004000a0, 0x100d605, 0x2620aa0, 0x279e020)
	/usr/local/Cellar/go/1.15.4/libexec/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc00096c000, 0x452c3b8, 0xc000010088, 0x5, 0xc000010088, 0x9)
	/usr/local/Cellar/go/1.15.4/libexec/src/crypto/tls/conn.go:801 +0xf3
crypto/tls.(*Conn).readRecordOrCCS(0xc00096c000, 0x0, 0x0, 0xc0009b5d18)
	/usr/local/Cellar/go/1.15.4/libexec/src/crypto/tls/conn.go:608 +0x115
crypto/tls.(*Conn).readRecord(...)
	/usr/local/Cellar/go/1.15.4/libexec/src/crypto/tls/conn.go:576
crypto/tls.(*Conn).Read(0xc00096c000, 0xc0000fc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.15.4/libexec/src/crypto/tls/conn.go:1252 +0x15f
bufio.(*Reader).Read(0xc0001bbc20, 0xc000026038, 0x9, 0x9, 0xc0009b5d18, 0x2910000, 0x1584eeb)
	/usr/local/Cellar/go/1.15.4/libexec/src/bufio/bufio.go:227 +0x222
io.ReadAtLeast(0x2a63920, 0xc0001bbc20, 0xc000026038, 0x9, 0x9, 0x9, 0xc000118050, 0x0, 0x2a63d20)
	/usr/local/Cellar/go/1.15.4/libexec/src/io/io.go:314 +0x87
io.ReadFull(...)
	/usr/local/Cellar/go/1.15.4/libexec/src/io/io.go:333
k8s.io/kubernetes/vendor/golang.org/x/net/http2.readFrameHeader(0xc000026038, 0x9, 0x9, 0x2a63920, 0xc0001bbc20, 0x0, 0x0, 0xc00058f2f0, 0x0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/frame.go:237 +0x89
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*Framer).ReadFrame(0xc000026000, 0xc00058f2f0, 0x0, 0x0, 0x0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/frame.go:492 +0xa5
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*clientConnReadLoop).run(0xc0009b5fa8, 0x0, 0x0)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:1794 +0xd8
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*ClientConn).readLoop(0xc0001fe600)
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:1716 +0x6f
created by k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*Transport).newClientConn
	/private/tmp/kubernetes-cli-20201112-92726-hdc9kn/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:695 +0x66e

Environment:

  • Kubernetes client and server versions (use kubectl version):
GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-12T01:09:16Z", GoVersion:"go1.15.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.15-gke.4300", GitCommit:"7ed5ddc0e67cb68296994f0b754cec45450d6a64", GitTreeState:"clean", BuildDate:"2020-10-28T09:23:22Z", GoVersion:"go1.13.15b4", Compiler:"gc", Platform:"linux/amd64"}
  • Cloud provider or hardware configuration: GKE
  • OS (e.g: cat /etc/os-release): macOS and GNU+Linux
@cig0 cig0 added the kind/bug Categorizes issue or PR as related to a bug. label Dec 15, 2020
@k8s-ci-robot
Copy link
Contributor

@cig0: This issue is currently awaiting triage.

SIG CLI takes a lead on issue triage for this repo, but any Kubernetes member can accept issues by applying the triage/accepted label.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Dec 15, 2020
@dougsland
Copy link
Member

dougsland commented Dec 20, 2020

Looks like a long time regression and still on master. In branch 1.18 it seems works in a "better" way.

$ git branch

  • release-1.18
$ ./_output/local/go/bin/kubectl get pods --sort-by=status
F1220 12:48:36.226885  417859 sorter.go:360] Field {.status} in [][][]reflect.Value is an unsortable type: interface, err: unsortable type: map[string]interface {}

$ ./_output/local/go/bin/kubectl version
Client Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.15-rc.0.1+e2b8fd2c3bf6fd", GitCommit:"e2b8fd2c3bf6fdc45e5392ac20710b1167d458ac", GitTreeState:"clean", BuildDate:"2020-12-20T17:28:38Z", GoVersion:"go1.15.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:04:18Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

$ git branch

  • master
$ ./_output/local/go/bin/kubectl version
Client Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.0-alpha.0.409+b749a3a4216526", GitCommit:"b749a3a421652644bb170b57375ef0cf46c0fa3f", GitTreeState:"clean", BuildDate:"2020-12-20T17:54:59Z", GoVersion:"go1.15.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:04:18Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

$ ./_output/local/go/bin/kubectl get pods --sort-by=status
F1220 12:56:48.294835  425537 sorter.go:360] Field {.status} in [][][]reflect.Value is an unsortable type: interface, err: unsortable type: map[string]interface {}
goroutine 1 [running]:
k8s.io/kubernetes/vendor/k8s.io/klog/v2.stacks(0xc000138001, 0xc000176b00, 0xa4, 0xf6)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1026 +0xb9
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).output(0x2aa1780, 0xc000000003, 0x0, 0x0, 0xc0008440e0, 0x2847eb4, 0x9, 0x168, 0x0)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:975 +0x19b
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).printf(0x2aa1780, 0xc000000003, 0x0, 0x0, 0x0, 0x0, 0x1b0e1e9, 0x31, 0xc0006cd040, 0x4, ...)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:750 +0x191
k8s.io/kubernetes/vendor/k8s.io/klog/v2.Fatalf(...)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1502
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*TableSorter).Less(0xc000cf6f60, 0x0, 0x6, 0xc000cf6f60)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/sorter.go:360 +0x317
sort.medianOfThree(0x1d27700, 0xc000cf6f60, 0x0, 0x6, 0xc)
	/usr/lib/golang/src/sort/sort.go:76 +0x49
sort.doPivot(0x1d27700, 0xc000cf6f60, 0x0, 0x32, 0xc000cfe0e0, 0xc0007396c0)
	/usr/lib/golang/src/sort/sort.go:101 +0x5e5
sort.quickSort(0x1d27700, 0xc000cf6f60, 0x0, 0x32, 0xc)
	/usr/lib/golang/src/sort/sort.go:190 +0x9a
sort.Sort(0x1d27700, 0xc000cf6f60)
	/usr/lib/golang/src/sort/sort.go:218 +0x7a
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*TableSorter).Sort(...)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/sorter.go:366
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*SortingPrinter).PrintObj(0xc00077e7b0, 0x1cf8640, 0xc000022870, 0x1ced460, 0xc00089c000, 0x0, 0x13b304f)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/sorter.go:56 +0x20b
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*TablePrinter).PrintObj(0xc000767d30, 0x1cf8780, 0xc000426028, 0x1ced460, 0xc00089c000, 0xc00000d6e0, 0xc00013579d)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/table_printer.go:41 +0x23a
k8s.io/kubernetes/vendor/k8s.io/cli-runtime/pkg/printers.ResourcePrinterFunc.PrintObj(0xc0006c15c0, 0x1cf8780, 0xc000426028, 0x1ced460, 0xc00089c000, 0x0, 0x20)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/cli-runtime/pkg/printers/interface.go:31 +0x4e
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.(*GetOptions).Run(0xc000168690, 0x1d45c40, 0xc00049bdd0, 0xc0003fb8c0, 0xc0001fb820, 0x1, 0x2, 0x0, 0x0)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/get.go:579 +0x824
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get.NewCmdGet.func1(0xc0003fb8c0, 0xc0001fb820, 0x1, 0x2)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/get/get.go:167 +0x135
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute(0xc0003fb8c0, 0xc0001fb7e0, 0x2, 0x2, 0xc0003fb8c0, 0xc0001fb7e0)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:854 +0x2c2
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc000166dc0, 0xc00013a120, 0xc00013c040, 0x4)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:958 +0x375
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute(...)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:895
main.main()
	_output/local/go/src/k8s.io/kubernetes/cmd/kubectl/kubectl.go:49 +0x21d

goroutine 18 [chan receive]:
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).flushDaemon(0x2aa1780)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1169 +0x8b
created by k8s.io/kubernetes/vendor/k8s.io/klog/v2.init.0
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:417 +0xdf

goroutine 9 [select]:
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0x1bb88d0, 0x1ceda40, 0xc00017e030, 0x1, 0xc000114b40)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:167 +0x149
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil(0x1bb88d0, 0x12a05f200, 0x0, 0x1, 0xc000114b40)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.Until(0x1bb88d0, 0x12a05f200, 0xc000114b40)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/util/logs.InitLogs
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/util/logs/logs.go:51 +0x96

goroutine 148 [IO wait]:
internal/poll.runtime_pollWait(0x7fea27f32bf0, 0x72, 0x1cf0b00)
	/usr/lib/golang/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0006c8518, 0x72, 0x1cf0b00, 0x2876610, 0x0)
	/usr/lib/golang/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/lib/golang/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0006c8500, 0xc0004cc000, 0x3e4e, 0x3e4e, 0x0, 0x0, 0x0)
	/usr/lib/golang/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc0006c8500, 0xc0004cc000, 0x3e4e, 0x3e4e, 0x203000, 0x652f7b, 0xc000aca160)
	/usr/lib/golang/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000138270, 0xc0004cc000, 0x3e4e, 0x3e4e, 0x0, 0x0, 0x0)
	/usr/lib/golang/src/net/net.go:182 +0x8e
crypto/tls.(*atLeastReader).Read(0xc000335d80, 0xc0004cc000, 0x3e4e, 0x3e4e, 0xb1a, 0x2e2a, 0xc00056b710)
	/usr/lib/golang/src/crypto/tls/conn.go:779 +0x62
bytes.(*Buffer).ReadFrom(0xc000aca280, 0x1cec440, 0xc000335d80, 0x40b5a5, 0x18e60a0, 0x1a4e780)
	/usr/lib/golang/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc000aca000, 0x1ceeee0, 0xc000138270, 0x5, 0xc000138270, 0xb09)
	/usr/lib/golang/src/crypto/tls/conn.go:801 +0xf3
crypto/tls.(*Conn).readRecordOrCCS(0xc000aca000, 0x0, 0x0, 0xc00056bd18)
	/usr/lib/golang/src/crypto/tls/conn.go:608 +0x115
crypto/tls.(*Conn).readRecord(...)
	/usr/lib/golang/src/crypto/tls/conn.go:576
crypto/tls.(*Conn).Read(0xc000aca000, 0xc000ae1000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/lib/golang/src/crypto/tls/conn.go:1252 +0x15f
bufio.(*Reader).Read(0xc0003901e0, 0xc00032c578, 0x9, 0x9, 0xc00056bd18, 0x1bb9600, 0x967ccb)
	/usr/lib/golang/src/bufio/bufio.go:227 +0x222
io.ReadAtLeast(0x1cec260, 0xc0003901e0, 0xc00032c578, 0x9, 0x9, 0x9, 0xc000116050, 0x0, 0x1cec660)
	/usr/lib/golang/src/io/io.go:314 +0x87
io.ReadFull(...)
	/usr/lib/golang/src/io/io.go:333
k8s.io/kubernetes/vendor/golang.org/x/net/http2.readFrameHeader(0xc00032c578, 0x9, 0x9, 0x1cec260, 0xc0003901e0, 0x0, 0x0, 0xc00056bdd0, 0x46b285)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/frame.go:237 +0x89
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*Framer).ReadFrame(0xc00032c540, 0xc0004e8ea0, 0x0, 0x0, 0x0)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/frame.go:492 +0xa5
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*clientConnReadLoop).run(0xc00056bfa8, 0x0, 0x0)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:1819 +0xd8
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*ClientConn).readLoop(0xc000683c80)
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:1741 +0x6f
created by k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*Transport).newClientConn
	/home/douglas/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:705 +0x6c5

@knight42
Copy link
Member

looks like this is caused by the changes of klog kubernetes/klog#79

It might be better to check if objects is sortable in advance rather than during sorting.

@brianpursley
Copy link
Member

@cig0 Is there somewhere in the docs saying that --sort-by=status should work? And if so what are you expecting? status is a map in the json and sort-by is a JSONPath expression:

      --sort-by='': If non-empty, sort list types using this field specification.  The field specification is expressed
as a JSONPath expression (e.g. '{.metadata.name}'). The field in the API resource specified by this JSONPath expression
must be an integer or a string.

I'm trying to understand the bug here, or are you saying that the error should be handled better?

@cig0
Copy link
Author

cig0 commented Dec 31, 2020

Hi @brianpursley I see, I confused it's use and hence the trace I got -- thanks.

Anyway, yeah, maybe the error could be shown without the trace for a cleaner output, since it doesn't add any useful information.

Thanks everyone.

@cig0 cig0 closed this as completed Dec 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

5 participants