Bug 1323666 - oc rsh throws stacktrace
Summary: oc rsh throws stacktrace
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: oc
Version: 3.1.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Fabiano Franz
QA Contact: Xingxing Xia
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-04 11:54 UTC by Alexander Koksharov
Modified: 2019-11-14 07:43 UTC (History)
9 users (show)

Fixed In Version: atomic-openshift-3.2.0.45-1.git.0.a2ee9db.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-06-09 21:10:47 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:1221 0 normal SHIPPED_LIVE Red Hat OpenShift Enterprise 3.2 bug fix update 2016-06-10 01:10:20 UTC

Description Alexander Koksharov 2016-04-04 11:54:53 UTC
Description of problem:

If i run 'oc rsh <podname>' I get the following stacktrace. Any idea?

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x34 pc=0xa6b62e]

goroutine 1 [running]:
k8s.io/kubernetes/pkg/util/httpstream/spdy.(*SpdyRoundTripper).dial(0x144428b0, 0x143c3030, 0x0, 0x0, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/util/httpstream/spdy/roundtripper.go:114 +0x38e
k8s.io/kubernetes/pkg/util/httpstream/spdy.(*SpdyRoundTripper).RoundTrip(0x144428b0, 0x143c3030, 0xd, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/util/httpstream/spdy/roundtripper.go:183 +0xcd
k8s.io/kubernetes/pkg/client/unversioned.(*bearerAuthRoundTripper).RoundTrip(0x144428c0, 0x143c2fc0, 0xa, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unversioned/transport.go:98 +0x1a7
k8s.io/kubernetes/pkg/client/unversioned.(*userAgentRoundTripper).RoundTrip(0x144428d0, 0x143c2f50, 0x1426ac40, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unversioned/transport.go:44 +0xfb
net/http.send(0x143c2ee0, 0x3195d8, 0x144428d0, 0xdf, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:219 +0x3b8
net/http.(*Client).send(0x143e63e0, 0x143c2ee0, 0xdf, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:142 +0xf8
net/http.(*Client).doFollowingRedirects(0x143e63e0, 0x143c2ee0, 0x1599ed4, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:367 +0x91f
net/http.(*Client).Do(0x143e63e0, 0x143c2ee0, 0x19, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:177 +0x144
k8s.io/kubernetes/pkg/client/unversioned/remotecommand.(*streamExecutor).Dial(0x143e63c0, 0x14321cb0, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unversioned/remotecommand/remotecommand.go:127 +0x364
k8s.io/kubernetes/pkg/client/unversioned/remotecommand.(*streamExecutor).Stream(0x143e63c0, 0x3157f8, 0x142640c8, 0x3124a0, 0x142640d0, 0x3124a0, 0x142640d8, 0x0, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unversioned/remotecommand/remotecommand.go:161 +0x90
k8s.io/kubernetes/pkg/kubectl/cmd.(*DefaultRemoteExecutor).Execute(0x1a67980, 0x120a168, 0x4, 0x142f3d00, 0x144461e0, 0x3157f8, 0x142640c8, 0x3124a0, 0x142640d0, 0x3124a0, ...)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/kubectl/cmd/exec.go:89 +0xc2
k8s.io/kubernetes/pkg/kubectl/cmd.(*ExecOptions).Run(0x143b64b0, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/kubectl/cmd/exec.go:238 +0x8a6
github.com/openshift/origin/pkg/cmd/cli/cmd.(*RshOptions).Run(0x143b5260, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_build/src/github.com/openshift/origin/pkg/cmd/cli/cmd/rsh.go:135 +0x3b
github.com/openshift/origin/pkg/cmd/cli/cmd.func·024(0x143b0a00, 0x143bc740, 0x1, 0x1)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_build/src/github.com/openshift/origin/pkg/cmd/cli/cmd/rsh.go:72 +0xaa
github.com/spf13/cobra.(*Command).execute(0x143b0a00, 0x143bc6f8, 0x1, 0x1, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/spf13/cobra/command.go:572 +0x62b
github.com/spf13/cobra.(*Command).ExecuteC(0x142a8700, 0x143b0a00, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/spf13/cobra/command.go:662 +0x49a
github.com/spf13/cobra.(*Command).Execute(0x142a8700, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/spf13/cobra/command.go:618 +0x38
main.main()
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_build/src/github.com/openshift/origin/cmd/oc/oc.go:22 +0x12f

goroutine 5 [syscall]:
os/signal.loop()
        /usr/lib/golang/src/os/signal/signal_unix.go:21 +0x21
created by os/signal.init·1
        /usr/lib/golang/src/os/signal/signal_unix.go:27 +0x34

goroutine 10 [chan receive]:
github.com/golang/glog.(*loggingT).flushDaemon(0x1a5c6a0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/golang/glog/glog.go:879 +0x76
created by github.com/golang/glog.init·1
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/golang/glog/glog.go:410 +0x1ff

goroutine 25 [IO wait]:
net.(*pollDesc).Wait(0x1426bb10, 0x72, 0x0, 0x0)
        /usr/lib/golang/src/net/fd_poll_runtime.go:84 +0x42
net.(*ioSrv).ExecIO(0x14438d90, 0x1426ba78, 0x120c828, 0x7, 0x1599e54, 0x890, 0x0, 0x0)
        /usr/lib/golang/src/net/fd_windows.go:188 +0x265
net.(*netFD).Read(0x1426ba40, 0x14484000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/net/fd_windows.go:470 +0x11a
net.(*conn).Read(0x14438da0, 0x14484000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/net/net.go:121 +0xba
crypto/tls.(*block).readFromUntil(0x14444d40, 0x31a748, 0x14438da0, 0x5, 0x0, 0x0)
        /usr/lib/golang/src/crypto/tls/conn.go:454 +0xb5
crypto/tls.(*Conn).readRecord(0x14315520, 0x17, 0x0, 0x0)
        /usr/lib/golang/src/crypto/tls/conn.go:539 +0x26f
crypto/tls.(*Conn).Read(0x14315520, 0x14460000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/crypto/tls/conn.go:904 +0x11e
net/http.noteEOFReader.Read(0x31a9c8, 0x14315520, 0x1424abcc, 0x14460000, 0x1000, 0x1000, 0x142f2040, 0x0, 0x0)
        /usr/lib/golang/src/net/http/transport.go:1270 +0x5c
net/http.(*noteEOFReader).Read(0x1445b300, 0x14460000, 0x1000, 0x1000, 0x14466420, 0x0, 0x0)
        <autogenerated>:125 +0x9f
bufio.(*Reader).fill(0x1445e360)
        /usr/lib/golang/src/bufio/bufio.go:97 +0x15c
bufio.(*Reader).Peek(0x1445e360, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/bufio/bufio.go:132 +0xd2
net/http.(*persistConn).readLoop(0x1424aba0)
        /usr/lib/golang/src/net/http/transport.go:842 +0x87
created by net/http.(*Transport).dialConn
        /usr/lib/golang/src/net/http/transport.go:660 +0xa45

goroutine 26 [select]:
net/http.(*persistConn).writeLoop(0x1424aba0)
        /usr/lib/golang/src/net/http/transport.go:945 +0x31a
created by net/http.(*Transport).dialConn
        /usr/lib/golang/src/net/http/transport.go:661 +0xa5a
➜  ~ oc rsh novap-pflege-backend-1-iin7y
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x34 pc=0xa6b62e]

goroutine 1 [running]:
k8s.io/kubernetes/pkg/util/httpstream/spdy.(*SpdyRoundTripper).dial(0x14437a70, 0x1450a700, 0x0, 0x0, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/util/https
k8s.io/kubernetes/pkg/util/httpstream/spdy.(*SpdyRoundTripper).RoundTrip(0x14437a70, 0x1450a700, 0xd, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/util/https
k8s.io/kubernetes/pkg/client/unversioned.(*bearerAuthRoundTripper).RoundTrip(0x14437a80, 0x1450a690, 0xa, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unv
k8s.io/kubernetes/pkg/client/unversioned.(*userAgentRoundTripper).RoundTrip(0x14437a90, 0x1450a620, 0x142eac40, 0x0
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unv
net/http.send(0x1450a5b0, 0x237668, 0x14437a90, 0xdf, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:219 +0x3b8
net/http.(*Client).send(0x144c63e0, 0x1450a5b0, 0xdf, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:142 +0xf8
net/http.(*Client).doFollowingRedirects(0x144c63e0, 0x1450a5b0, 0x1599ed4, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:367 +0x91f
net/http.(*Client).Do(0x144c63e0, 0x1450a5b0, 0x19, 0x0, 0x0)
        /usr/lib/golang/src/net/http/client.go:177 +0x144
k8s.io/kubernetes/pkg/client/unversioned/remotecommand.(*streamExecutor).Dial(0x144c63c0, 0x14451cb0, 0x2, 0x2, 0x0
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unv
k8s.io/kubernetes/pkg/client/unversioned/remotecommand.(*streamExecutor).Stream(0x144c63c0, 0x235780, 0x142e40c8, 0
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/client/unv
k8s.io/kubernetes/pkg/kubectl/cmd.(*DefaultRemoteExecutor).Execute(0x1a67980, 0x120a168, 0x4, 0x142c7c00, 0x144c81e
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/kubectl/cm
k8s.io/kubernetes/pkg/kubectl/cmd.(*ExecOptions).Run(0x144382d0, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/k8s.io/kubernetes/pkg/kubectl/cm
github.com/openshift/origin/pkg/cmd/cli/cmd.(*RshOptions).Run(0x14437280, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_build/src/github.com/openshift/origin/pkg/cmd/cli/cm
github.com/openshift/origin/pkg/cmd/cli/cmd.func·024(0x14432a00, 0x1443c740, 0x1, 0x1)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_build/src/github.com/openshift/origin/pkg/cmd/cli/cm
github.com/spf13/cobra.(*Command).execute(0x14432a00, 0x1443c6f8, 0x1, 0x1, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/spf13/cobra/command.g
github.com/spf13/cobra.(*Command).ExecuteC(0x14328700, 0x14432a00, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/spf13/cobra/command.g
github.com/spf13/cobra.(*Command).Execute(0x14328700, 0x0, 0x0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/spf13/cobra/command.g
main.main()
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_build/src/github.com/openshift/origin/cmd/oc/oc.go:2

goroutine 5 [syscall]:
os/signal.loop()
        /usr/lib/golang/src/os/signal/signal_unix.go:21 +0x21
created by os/signal.init·1
        /usr/lib/golang/src/os/signal/signal_unix.go:27 +0x34

goroutine 10 [chan receive]:
github.com/golang/glog.(*loggingT).flushDaemon(0x1a5c6a0)
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/golang/glog/glog.go:8
created by github.com/golang/glog.init·1
        /builddir/build/BUILD/atomic-openshift-git-32.adf8ec9/_thirdpartyhacks/src/github.com/golang/glog/glog.go:4

goroutine 25 [IO wait]:
net.(*pollDesc).Wait(0x142ebb10, 0x72, 0x0, 0x0)
        /usr/lib/golang/src/net/fd_poll_runtime.go:84 +0x42
net.(*ioSrv).ExecIO(0x144bad90, 0x142eba78, 0x120c828, 0x7, 0x1599e54, 0x890, 0x0, 0x0)
        /usr/lib/golang/src/net/fd_windows.go:188 +0x265
net.(*netFD).Read(0x142eba40, 0x14528000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/net/fd_windows.go:470 +0x11a
net.(*conn).Read(0x144bada0, 0x14528000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/net/net.go:121 +0xba
crypto/tls.(*block).readFromUntil(0x144c6d40, 0x238850, 0x144bada0, 0x5, 0x0, 0x0)
        /usr/lib/golang/src/crypto/tls/conn.go:454 +0xb5
crypto/tls.(*Conn).readRecord(0x14395520, 0x17, 0x0, 0x0)
        /usr/lib/golang/src/crypto/tls/conn.go:539 +0x26f
crypto/tls.(*Conn).Read(0x14395520, 0x144e2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/crypto/tls/conn.go:904 +0x11e
net/http.noteEOFReader.Read(0x238ad0, 0x14395520, 0x142cabcc, 0x144e2000, 0x1000, 0x1000, 0x144c1000, 0x0, 0x0)
        /usr/lib/golang/src/net/http/transport.go:1270 +0x5c
net/http.(*noteEOFReader).Read(0x144dd300, 0x144e2000, 0x1000, 0x1000, 0x14384860, 0x0, 0x0)
        <autogenerated>:125 +0x9f
bufio.(*Reader).fill(0x144e0360)
        /usr/lib/golang/src/bufio/bufio.go:97 +0x15c
bufio.(*Reader).Peek(0x144e0360, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/golang/src/bufio/bufio.go:132 +0xd2
net/http.(*persistConn).readLoop(0x142caba0)
        /usr/lib/golang/src/net/http/transport.go:842 +0x87
created by net/http.(*Transport).dialConn
        /usr/lib/golang/src/net/http/transport.go:660 +0xa45

goroutine 26 [select]:
net/http.(*persistConn).writeLoop(0x142caba0)
        /usr/lib/golang/src/net/http/transport.go:945 +0x31a
created by net/http.(*Transport).dialConn
        /usr/lib/golang/src/net/http/transport.go:661 +0xa5a



Version-Release number of selected component (if applicable):

oc v3.1.1.6-21-gcd70c35
kubernetes v1.1.0-origin-1107-g4c8e6f4

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Fabiano Franz 2016-04-04 16:55:32 UTC
Could you please confirm if it's being accessed under a proxy (and if possible the values of 'http_proxy' and 'https_proxy' environment variables)?

Comment 3 Fabiano Franz 2016-04-06 18:21:33 UTC
I was unable to reproduce this issue, tried using both 'no_proxy' for the cluster domain and also using a proxy (with and without auth).

We will need more information to debug. Could you please provide the contents of the '~/.kube/config' file and the entire output of the rsh command with --loglevel=8 (e.g. 'oc rsh --loglevel=9 <pod-name>'). Thanks.

Comment 6 Christophe Augello 2016-04-12 10:46:43 UTC
Files provided

Comment 10 Fabiano Franz 2016-05-20 20:27:27 UTC
We have a fix for this issue in Origin: https://github.com/openshift/origin/pull/8896. Backports to OpenShift Enterprise are in progress.

Comment 13 Xingxing Xia 2016-05-26 10:56:32 UTC
Verified in oc v3.2.0.45. See verification in https://bugzilla.redhat.com/show_bug.cgi?id=1336337#c9

Comment 15 errata-xmlrpc 2016-06-09 21:10:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1221


Note You need to log in before you can comment on or make changes to this bug.