1e9ef65345
During "Port forwarding" e2e tests, the following panic happened: ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x64981d] goroutine 52788 [running]: panic(0x1830ee0, 0xc4200100c0) /usr/lib/golang/src/runtime/panic.go:500 +0x1a1 github.com/kubernetes-incubator/cri-o/oci.(*Runtime).UpdateStatus(0xc4202afc00, 0x0, 0x0, 0x0) /home/amurdaca/go/src/github.com/kubernetes-incubator/cri-o/oci/oci.go:549 +0x7d github.com/kubernetes-incubator/cri-o/server.streamService.PortForward(0xc42026e000, 0x0, 0x0, 0x0, 0x0, 0xc420d9af40, 0x40, 0xc400000050, 0x7fe660659a28, 0xc4201cd0e0, ...) ``` The issue is `streamService.PortForward` assumed the first argument to be the sandbox's infra container ID, thus trying to get it from memory store using `.state.containers.Get`. Since that ID is of the sandbox itself, it fails to get the container object from memory and panics in `UpdateStatus`. Fix it by looking for the sandbox's infra container ID starting from a sandbox ID. Signed-off-by: Antonio Murdaca <runcom@redhat.com> |
||
---|---|---|
.. | ||
apparmor | ||
seccomp | ||
config.go | ||
container.go | ||
container_attach.go | ||
container_create.go | ||
container_exec.go | ||
container_execsync.go | ||
container_list.go | ||
container_portforward.go | ||
container_remove.go | ||
container_start.go | ||
container_status.go | ||
container_stop.go | ||
container_updateruntimeconfig.go | ||
image_list.go | ||
image_pull.go | ||
image_remove.go | ||
image_status.go | ||
runtime_status.go | ||
sandbox.go | ||
sandbox_list.go | ||
sandbox_remove.go | ||
sandbox_run.go | ||
sandbox_status.go | ||
sandbox_stop.go | ||
server.go | ||
utils.go | ||
version.go |