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

panic during "kubectl exec" when redirecting stdout to a file #30290

Closed
dims opened this issue Aug 9, 2016 · 0 comments
Closed

panic during "kubectl exec" when redirecting stdout to a file #30290

dims opened this issue Aug 9, 2016 · 0 comments
Labels
area/kubectl sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery.

Comments

@dims
Copy link
Member

dims commented Aug 9, 2016

kubectl run --image=alpine sleep -- /bin/sh -c "sleep 10000"
kubectl exec -it sleep-1786222145-kukx6 -- ls -altr > out.txt

results in:

E0809 12:51:03.679435 27231 runtime.go:64] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/util/runtime/runtime.go:70
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/util/runtime/runtime.go:63
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/util/runtime/runtime.go:49
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:472
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:443
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:62
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/sigpanic_unix.go:24
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/client/unversioned/remotecommand/v3.go:75
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:1998
 panic: runtime error: invalid memory address or nil pointer dereference [recovered]
 panic: runtime error: invalid memory address or nil pointer dereference
 [signal 0xb code=0x1 addr=0x20 pc=0x4d41ec]

goroutine 11 [running]:
 panic(0x17506a0, 0xc8200120c0)
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:481 +0x3e6
 k8s.io/kubernetes/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/util/runtime/runtime.go:56 +0x153
 panic(0x17506a0, 0xc8200120c0)
 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:443 +0x4e9
 k8s.io/kubernetes/pkg/client/unversioned/remotecommand.(*streamProtocolV3).handleResizes.func1(0xc820098f20)
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/client/unversioned/remotecommand/v3.go:75 +0xfc
 created by k8s.io/kubernetes/pkg/client/unversioned/remotecommand.(*streamProtocolV3).handleResizes
 /Users/dims/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/client/unversioned/remotecommand/v3.go:83 +0x44

Note that kubectl exec -it sleep-1786222145-kukx6 -- ls -altr works fine.

@k8s-github-robot k8s-github-robot added area/kubectl sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. labels Aug 9, 2016
dims added a commit to dims/kubernetes that referenced this issue Aug 9, 2016
Just add some nil checks to make sure we don't trip over when
we redirect output from exec to a file.

Fixes kubernetes#30290
k8s-github-robot pushed a commit that referenced this issue Aug 10, 2016
Automatic merge from submit-queue

Prevent panic in 'kubectl exec' when redirecting stdout

Just add some nil checks to make sure we don't trip over when
we redirect output from exec to a file.

Fixes #30290

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30291)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kubectl sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery.
Projects
None yet
Development

No branches or pull requests

2 participants