Skip to content

runsc doesn't work with rootless podman #311

@sdeoras

Description

@sdeoras

I am trying to evaluate the use of gVisor via [podman](https://github.com/containers/libpod) that allows container creation in rootless mode. gVisor works fine via sudo but panics when in rootless mode. Below is stack trace and other relevant info.

system info:

uname -a
Linux 4.18.0-21-generic #22~18.04.1-Ubuntu SMP Thu May 16 15:07:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
runsc --version
runsc version 90a116890fce
spec: 1.0.1-dev

permissions on runsc

ls -la `which runsc`
-rwxr-xr-x 1 root root 20123510 Jun  4 01:20 /usr/bin/runsc
podman --version
podman version 1.3.2-dev

works fine when sudo
sudo podman --runtime=runsc run --rm -it docker.io/library/ubuntu:latest bash

runc works fine in both root and rootless modes

sudo podman --runtime=runc run --rm -it docker.io/library/ubuntu:latest bash
podman --runtime=runc run --rm -it docker.io/library/ubuntu:latest bash

panics when running in podman/rootless mode
stack trace:

podman --runtime=runsc run --rm -it docker.io/library/ubuntu:latest bash
I0604 20:47:56.621539   21217 x:0] ***************************
I0604 20:47:56.621611   21217 x:0] Args: [/usr/bin/runsc start fb6738612f208a2786470ab33803763b976290531168c3716ea72b30ae74f310]
I0604 20:47:56.621673   21217 x:0] Version 90a116890fce
I0604 20:47:56.621686   21217 x:0] PID: 21217
I0604 20:47:56.621698   21217 x:0] UID: 0, GID: 0
I0604 20:47:56.621706   21217 x:0] Configuration:
I0604 20:47:56.621712   21217 x:0] 		RootDir: /run/user/1000/runsc
I0604 20:47:56.621720   21217 x:0] 		Platform: ptrace
I0604 20:47:56.621734   21217 x:0] 		FileAccess: exclusive, overlay: false
I0604 20:47:56.621744   21217 x:0] 		Network: sandbox, logging: false
I0604 20:47:56.621755   21217 x:0] 		Strace: false, max size: 1024, syscalls: []
I0604 20:47:56.621762   21217 x:0] ***************************
I0604 20:47:56.625479   21217 x:0] Setting up network
I0604 20:47:56.625961   21217 x:0] Applying namespace network at path "/proc/21187/ns/net"
I0604 20:47:56.626170   21217 x:0] Skipping down interface: {Index:1 MTU:65536 Name:lo HardwareAddr: Flags:loopback}
W0604 20:47:56.626272   21217 x:0] IPv6 is not supported, skipping: fe80::40b5:4cff:fe3c:9d9/64
W0604 20:47:56.649254   21217 x:0] IPv6 is not supported, skipping route: {Ifindex: 2 Dst: fe80::/64 Src: <nil> Gw: <nil> Flags: [] Table: 254}
I0604 20:47:56.649925   21217 x:0] Restoring namespace network
panic: error restoring namespace: of type network: operation not permitted

goroutine 1 [running, locked to thread]:
gvisor.googlesource.com/gvisor/runsc/specutils.ApplyNS.func1()
runsc/specutils/namespace.go:146 +0x29d
gvisor.googlesource.com/gvisor/runsc/sandbox.joinNetNS.func1()
runsc/sandbox/network.go:119 +0x24
gvisor.googlesource.com/gvisor/runsc/sandbox.createInterfacesAndRoutesFromNS(0xc00019eb60, 0xc0001d6160, 0x12, 0xc0001d6101, 0xe27480, 0xc00019ec40)
runsc/sandbox/network.go:274 +0x10d0
gvisor.googlesource.com/gvisor/runsc/sandbox.setupNetwork(0xc00019eb60, 0x52c3, 0xc000097420, 0xc000178000, 0x2, 0xc000068080)
runsc/sandbox/network.go:71 +0x380
gvisor.googlesource.com/gvisor/runsc/sandbox.(*Sandbox).StartRoot(0xc0001558c0, 0xc000097420, 0xc000178000, 0x0, 0x0)
runsc/sandbox/sandbox.go:139 +0x192
gvisor.googlesource.com/gvisor/runsc/container.(*Container).Start(0xc0000d23c0, 0xc000178000, 0x0, 0x0)
runsc/container/container.go:397 +0x288
gvisor.googlesource.com/gvisor/runsc/cmd.(*Start).Execute(0x14e48c0, 0xe38480, 0xc000044008, 0xc0001684e0, 0xc000136780, 0x2, 0x2, 0x7fcc5f2b4008)
runsc/cmd/start.go:61 +0x139
github.com/google/subcommands.(*Commander).Execute(0xc000096000, 0xe38480, 0xc000044008, 0xc000136780, 0x2, 0x2, 0x13)
external/com_github_google_subcommands/subcommands.go:141 +0x2fb
github.com/google/subcommands.Execute(...)
external/com_github_google_subcommands/subcommands.go:371
main.main()
runsc/main.go:245 +0x1452
Killed


Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions