Skip to content

podman image load fails with Error: payload does not match any of the supported image formats: on a system with low disk space #26197

@eriksjolund

Description

@eriksjolund

Issue Description

Describe your issue

I see the error message

Error: payload does not match any of the supported image formats:

when loading a container image

podman image load -i /tmp/traefik.oci 

It has been working fine before when loading the same file but from another user account. The only difference seems to be that the system has started running out of disk space.

I think the error message could cause some confusion. It would be better if the error message said something like "could not write file" or "not enough disk space available".

Steps to reproduce the issue

Steps to reproduce the issue

  1. Log in to not-root user on a Fedora CoreOS system (Fedora CoreOS 43.20250518.91.0)
  2. Run command
    podman save --format oci-archive -o /tmp/traefik.oci docker.io/library/traefik
    
  3. Verify that the file /tmp/traefik.oci can be imported from another user account
    with the command
    podman image load -i /tmp/traefik.oci 
    
    (We now know that the file /tmp/traefik.oci works fine)
  4. Consume a lot of disk space under /var
  5. Try loading the same image from a new user account
root@fcos:~# useradd test
root@fcos:~# machinectl shell --uid test
Connected to the local host. Press ^] three times within 1s to exit session.
test@fcos:~$  podman image load -i /tmp/traefik.oci 
Getting image source signatures
Copying blob 99cf8ab899fa done   | 
Copying blob 8f32ad428dab done   | 
Copying blob debcb27a347a done   | 
Copying blob 7754cd86dba6 done   | 
Error: payload does not match any of the supported image formats:
 * oci: open /tmp/traefik.oci/index.json: not a directory
 * oci-archive: unable to perform copy: internal error: unable to copy from source oci-archive:/tmp/traefik.oci:: writing blob: adding layer with blob "sha256:debcb27a347a3ae5f9a31bbd9e88a3c86573bbef037d32be2cb3262cbbcd2f65"/""/"sha256:8ceb87560bb0f6d833813be7d173265d391eb3db160c4bb3bb9e5870d3d4ed39": unpacking failed (error: exit status 1; output: write /usr/local/bin/traefik: no space left on device)
 * docker-archive: loading tar component "manifest.json": file does not exist
 * dir: open /tmp/traefik.oci/manifest.json: not a directory
test@fcos:~$ df -h /var/
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda4       9.5G  9.3G  166M  99% /var
test@fcos:~$ df -h /tmp/
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.9G  380M  1.6G  20% /tmp
test@fcos:~$ 

Describe the results you received

In step 5 I see the error message

Error: payload does not match any of the supported image formats:

Describe the results you expected

It would be better if the error message said something like "could not write file" or "not enough disk space available".

podman info output

host:
  arch: arm64
  buildahVersion: 1.40.0
  cgroupControllers:
  - cpu
  - memory
  - pids
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.13-1.fc43.aarch64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.13, commit: '
  cpuUtilization:
    idlePercent: 99.42
    systemPercent: 0.22
    userPercent: 0.36
  cpus: 2
  databaseBackend: sqlite
  distribution:
    distribution: fedora
    variant: coreos
    version: "43"
  eventLogger: journald
  freeLocks: 2048
  hostname: fcos-next14
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1016
      size: 1
    - container_id: 1
      host_id: 1572864
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1016
      size: 1
    - container_id: 1
      host_id: 1572864
      size: 65536
  kernel: 6.15.0-0.rc5.250509g9c69f8884904.47.fc43.aarch64
  linkmode: dynamic
  logDriver: journald
  memFree: 458366976
  memTotal: 4078694400
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.15.0-1.fc43.aarch64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.15.0
    package: netavark-1.15.0-1.fc43.aarch64
    path: /usr/libexec/podman/netavark
    version: netavark 1.15.0
  ociRuntime:
    name: crun
    package: crun-1.21-1.fc43.aarch64
    path: /usr/bin/crun
    version: |-
      crun version 1.21
      commit: 10269840aa07fb7e6b7e1acff6198692d8ff5c88
      rundir: /run/user/1016/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
  os: linux
  pasta:
    executable: /usr/bin/pasta
    package: passt-0^20250512.g8ec1341-1.fc43.aarch64
    version: ""
  remoteSocket:
    exists: true
    path: /run/user/1016/podman/podman.sock
  rootlessNetworkCmd: pasta
  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.3.1-2.fc42.aarch64
    version: |-
      slirp4netns version 1.3.1
      commit: e5e368c4f5db6ae75c2fce786e31eef9da6bf236
      libslirp: 4.8.0
      SLIRP_CONFIG_VERSION_MAX: 5
      libseccomp: 2.6.0
  swapFree: 0
  swapTotal: 0
  uptime: 42h 13m 34.00s (Approximately 1.75 days)
  variant: v8
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
store:
  configFile: /var/home/test14/.config/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions: {}
  graphRoot: /var/home/test14/.local/share/containers/storage
  graphRootAllocated: 10132369408
  graphRootUsed: 9523908608
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Supports shifting: "false"
    Supports volatile: "true"
    Using metacopy: "false"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 0
  runRoot: /run/user/1016/containers
  transientStore: false
  volumePath: /var/home/test14/.local/share/containers/storage/volumes
version:
  APIVersion: 5.5.0
  BuildOrigin: Fedora Project
  Built: 1747180800
  BuiltTime: Wed May 14 00:00:00 2025
  GitCommit: 0dbcb51477ee7ab8d3b47d30facf71fc38bb0c98
  GoVersion: go1.24.3
  Os: linux
  OsArch: linux/arm64
  Version: 5.5.0

Podman in a container

No

Privileged Or Rootless

Rootless

Upstream Latest Release

Yes

Additional environment details

Additional environment details

Additional information

The terminal output was manually edited by me to enhance the readability.

I replaced /tmp/tmp.AOBZQIHCGm/traefik.oci with /tpm/traefik.oci

Another thing: I freed up some disk space before running podman info. (I guess that does not matter).

Metadata

Metadata

Assignees

Labels

Good First IssueThis issue would be a good issue for a first time contributor to undertake.kind/bugCategorizes issue or PR as related to a bug.stale-issuetriagedIssue has been triaged

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions