Skip to content

podman-build silently skips large RUN command #4929

@stewartsmith

Description

@stewartsmith

Issue Description

When attempting to build a container with the attached Dockerfile, the podman build "succeeds", but completely ignores the command in the file.

Dockerfile.noextradeps-onetxn.txt

Steps to reproduce the issue

Steps to reproduce the issue

  1. attempt to podman build -f Dockerfile.noextradeps-onetxn (attached)
  2. note how the big dnf install command isn't run, and instead podman build very quickly "succeeds"

Describe the results you received

$ podman build -f ctx/Dockerfile.noextradeps-onetxn ctx/
STEP 1/3: FROM fedora
STEP 2/3: RUN dnf update -y
--> Using cache 6721b631a730da5febb8fa711a9d7db037463eabea5806eb51ec354d0053dc48
--> 6721b631a730
STEP 3/3: RUN dnf makecache
--> Using cache 2a3c02a804af403f0715031dc71240f4c1fcdae9106ec9e006665db6e3f792e0
--> 2a3c02a804af
2a3c02a804af403f0715031dc71240f4c1fcdae9106ec9e006665db6e3f792e0
[stewart@blackbird9 hackery]$ echo $?
0

Describe the results you expected

A container image being built with around 8576 RPMs installed in it, or at the very least, the podman build command failing.

podman info output

$ podman version
Client:       Podman Engine
Version:      4.5.1
API Version:  4.5.1
Go Version:   go1.20.4
Built:        Fri May 26 11:00:05 2023
OS/Arch:      linux/ppc64le
host:
  arch: ppc64le
  buildahVersion: 1.30.0
  cgroupControllers:
  - cpu
  - memory
  - pids
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.7-2.fc38.ppc64le
    path: /usr/bin/conmon
    version: 'conmon version 2.1.7, commit: '
  cpuUtilization:
    idlePercent: 99.83
    systemPercent: 0.04
    userPercent: 0.13
  cpus: 32
  databaseBackend: boltdb
  distribution:
    distribution: fedora
    variant: server
    version: "38"
  eventLogger: journald
  hostname: blackbird9.tuckerbox.house
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 524288
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 524288
      size: 65536
  kernel: 6.3.8-200.fc38.ppc64le
  linkmode: dynamic
  logDriver: journald
  memFree: 36188520448
  memTotal: 65918992384
  networkBackend: netavark
  ociRuntime:
    name: crun
    package: crun-1.8.5-1.fc38.ppc64le
    path: /usr/bin/crun
    version: |-
      crun version 1.8.5
      commit: b6f80f766c9a89eb7b1440c0a70ab287434b17ed
      rundir: /run/user/1000/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL
  os: linux
  remoteSocket:
    path: /run/user/1000/podman/podman.sock
  security:
    apparmorEnabled: false
    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: true
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: true
  serviceIsRemote: false
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns-1.2.0-12.fc38.ppc64le
    version: |-
      slirp4netns version 1.2.0
      commit: 656041d45cfca7a4176f6b7eed9e4fe6c11e8383
      libslirp: 4.7.0
      SLIRP_CONFIG_VERSION_MAX: 4
      libseccomp: 2.5.3
  swapFree: 8438874112
  swapTotal: 8589869056
  uptime: 601h 21m 23.00s (Approximately 25.04 days)
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - docker.io
  - quay.io
store:
  configFile: /home/stewart/.config/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions: {}
  graphRoot: /home/stewart/.local/share/containers/storage
  graphRootAllocated: 1098974756864
  graphRootUsed: 234508328960
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Using metacopy: "false"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 647
  runRoot: /run/user/1000/containers
  transientStore: false
  volumePath: /home/stewart/.local/share/containers/storage/volumes
version:
  APIVersion: 4.5.1
  Built: 1685124005
  BuiltTime: Fri May 26 11:00:05 2023
  GitCommit: ""
  GoVersion: go1.20.4
  Os: linux
  OsArch: linux/ppc64le
  Version: 4.5.1
podman-4.5.1-1.fc38.ppc64le

Podman in a container

No

Privileged Or Rootless

Rootless

Upstream Latest Release

Yes

Additional environment details

otherwise rather standard fedora 38 install, just on ppc64le, but that likely isn't an issue.

Additional information

This fails with an appropriate error condition when attempted with Docker:

$ docker build -f ctx/Dockerfile.noextradeps-onetxn ctx/
Sending build context to Docker daemon  5.475MB
Error response from daemon: failed to parse Dockerfile.noextradeps-onetxn: dockerfile line greater than max allowed size of 65535

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions