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

Basic install hangs umount at startup #9309

Closed
evanphx opened this issue Aug 24, 2023 · 3 comments
Closed

Basic install hangs umount at startup #9309

evanphx opened this issue Aug 24, 2023 · 3 comments
Labels
type: bug Something isn't working

Comments

@evanphx
Copy link
Contributor

evanphx commented Aug 24, 2023

Description

Installed runsc and configured it in containerd using the quickstart. Then attempting to run a trivial container via ctr results in a hang at startup. Here is the ps output:

  98391 pts/4    S+     0:00 sudo ctr -n lab run --runtime /usr/bin/containerd-shim-runsc-v1 docker.io/library/alpine:latest c1
  98392 pts/2    Ss     0:00 sudo ctr -n lab run --runtime /usr/bin/containerd-shim-runsc-v1 docker.io/library/alpine:latest c1
  98393 pts/2    Sl+    0:00 ctr -n lab run --runtime /usr/bin/containerd-shim-runsc-v1 docker.io/library/alpine:latest c1
  98414 ?        Sl     0:00 /usr/bin/containerd-shim-runsc-v1 -namespace lab -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd
  98427 ?        Ssl    0:00 runsc-gofer --root=/run/containerd/runsc/lab --log=/run/containerd/io.containerd.runtime.v2.task/lab/c1/log.json --log-format=json --log-fd=3 gofer --bundle=/run/containerd/io.containerd.runtime.v2.task/lab/c1 --io-fds=6 --mounts-fd=5 --overlay-mediums=2 --spec-fd=4 --setup-root=false --sync-nvproxy-fd=-1 --sync-userns-fd=-1 --proc-mount-sync-fd=14 --apply-caps=false
  98431 ?        Ssl    0:00 runsc-sandbox --root=/run/containerd/runsc/lab --log=/run/containerd/io.containerd.runtime.v2.task/lab/c1/log.json --log-format=json --log-fd=3 boot --apply-caps=false --bundle=/run/containerd/io.containerd.runtime.v2.task/lab/c1 --controller-fd=8 --cpu-num=8 --io-fds=4 --mounts-fd=6 --overlay-filestore-fds=5 --overlay-mediums=2 --setup-root=false --spec-fd=9 --start-sync-fd=7 --stdio-fds=10,11,12 --total-host-memory=8008323072 --total-memory=8008323072 --proc-mount-sync-fd=20 --product-name=DMAF5 c1
  98444 ?        Sl     0:00 /proc/self/exe umount --sync-fd=3 /proc
  98460 ?        Ss     0:00 [exe]
  98461 ?        S      0:00 [exe]

Steps to reproduce

Perform basic install, run:

ctr -n lab pull docker.io/library/alpine:latest
ctr -n lab run --runtime /usr/bin/containerd-shim-runsc-v1 docker.io/library/alpine:latest c1

runsc version

runsc version release-20230807.0

docker version (if using docker)

No response

uname

Linux mu 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

kubectl (if using Kubernetes)

No response

repo state (if built from source)

No response

runsc debug logs (if available)

I'm unable to figure out how to produce the runsc logs when using running directly via containerd.
@evanphx evanphx added the type: bug Something isn't working label Aug 24, 2023
@evanphx
Copy link
Contributor Author

evanphx commented Aug 24, 2023

It appears that docker doesn't use the runsc shim, but rather uses the normal runc shim and provides a secondary binary name. When I do that using the containerd go api directly by using, as an argument to NewContainer:

containerd.WithRuntime("io.containerd.runc.v2", &options.Options{
   BinaryName: "runsc",
}

The runsc does start up correctly and runs.

@evanphx
Copy link
Contributor Author

evanphx commented Aug 24, 2023

Oh, using docker works fine too, that's how I discovered that it didn't use the runsc-shim.

@evanphx
Copy link
Contributor Author

evanphx commented Aug 24, 2023

ah ah, this is the same as #4544.

@evanphx evanphx closed this as completed Aug 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant