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

Failure to run containers with zero memory limit on ubuntu 20.04.3 #12002

Closed
markvai opened this issue Oct 17, 2021 · 3 comments · Fixed by #12024
Closed

Failure to run containers with zero memory limit on ubuntu 20.04.3 #12002

markvai opened this issue Oct 17, 2021 · 3 comments · Fixed by #12024
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@markvai
Copy link

markvai commented Oct 17, 2021

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug

Description
Running a new container with the memory flag set to 0 causes an error:

/bin/podman run ubuntu
/bin/podman run --memory 0 ubuntu
Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
Error: OCI runtime error: OOM: the memory limit could be too low: read from the init process

According to the docs, specifying zero is a valid value and should indicate no limit:
https://docs.podman.io/en/latest/markdown/podman-run.1.html#memory-m-number-unit

If a limit of 0 is specified (not using -m), the container’s memory is not limited.

Steps to reproduce the issue:

  1. Run podman with the memory limit set to zero on the specified OS.

Additional information you deem important (e.g. issue happens only occasionally):
Happens on:

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"

But not on ubuntu 18.04

Output of podman version:
/bin/podman --version
podman version 3.3.1

  • Also happens with 3.0.1 on the same OS

Output of podman info --debug:

/bin/podman info --debug
host:
  arch: amd64
  buildahVersion: 1.22.3
  cgroupControllers:
  - cpuset
  - cpu
  - cpuacct
  - blkio
  - memory
  - devices
  - freezer
  - net_cls
  - perf_event
  - net_prio
  - hugetlb
  - pids
  - rdma
  cgroupManager: systemd
  cgroupVersion: v1
  conmon:
    package: 'conmon: /usr/libexec/podman/conmon'
    path: /usr/libexec/podman/conmon
    version: 'conmon version 2.0.30, commit: '
  cpus: 6
  distribution:
    distribution: ubuntu
    version: "20.04"
  eventLogger: journald
  hostname: devbox
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 5.4.0-88-generic
  linkmode: dynamic
  memFree: 5439664128
  memTotal: 8319299584
  ociRuntime:
    name: crun
    package: 'crun: /usr/bin/crun'
    path: /usr/bin/crun
    version: |-
      crun version 1.1.5-7b4a-dirty
      commit: 7b4a7042370eea7fb00d3a4da34332b26f080acd
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL
  os: linux
  remoteSocket:
    path: /run/podman/podman.sock
  security:
    apparmorEnabled: true
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: false
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: 'slirp4netns: /usr/bin/slirp4netns'
    version: |-
      slirp4netns version 1.1.8
      commit: unknown
      libslirp: 4.3.1-git
      SLIRP_CONFIG_VERSION_MAX: 3
      libseccomp: 2.4.3
  swapFree: 4294963200
  swapTotal: 4294963200
  uptime: 1h 16m 3.72s (Approximately 0.04 days)
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - docker.io
  - quay.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 33
    paused: 0
    running: 0
    stopped: 33
  graphDriverName: overlay
  graphOptions:
    overlay.mountopt: nodev,metacopy=on
  graphRoot: /var/lib/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "true"
  imageStore:
    number: 1
  runRoot: /run/containers/storage
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 3.3.1
  Built: 0
  BuiltTime: Thu Jan  1 00:00:00 1970
  GitCommit: ""
  GoVersion: go1.16.6
  OsArch: linux/amd64
  Version: 3.3.1

Package info (e.g. output of rpm -q podman or apt list podman):

apt list podman
Listing... Done
podman/unknown,now 100:3.3.1-1 amd64 [installed]
podman/unknown 100:3.3.1-1 arm64
podman/unknown 100:3.3.1-1 armhf
podman/unknown 100:3.3.1-1 s390x

Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/master/troubleshooting.md)

Yes

Additional environment details (AWS, VirtualBox, physical, etc.):
This was tested on a local VM but also reproduced on a fresh ubuntu 20.04.3 LTS machine.

@openshift-ci openshift-ci bot added the kind/bug Categorizes issue or PR as related to a bug. label Oct 17, 2021
@mheon
Copy link
Member

mheon commented Oct 17, 2021 via email

@markvai
Copy link
Author

markvai commented Oct 17, 2021

@mheon
docker is ok with passing 0 as a memory limit, does nothing.

@mheon
Copy link
Member

mheon commented Oct 17, 2021

Thanks. Sounds like we'll need to duplicate that, then.

rhatdan added a commit to rhatdan/podman that referenced this issue Oct 19, 2021
On Docker this is ignored, and it should be on Podman as
well. This is documented in the man page.

Fixes: containers#12002

Signed-off-by: Daniel J Walsh <[email protected]>
mheon pushed a commit to mheon/libpod that referenced this issue Nov 12, 2021
On Docker this is ignored, and it should be on Podman as
well. This is documented in the man page.

Fixes: containers#12002

Signed-off-by: Daniel J Walsh <[email protected]>
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 21, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants