Skip to content

Error: OCI runtime error: crun: Failed to re-execute libcrun via memory file descriptor #1895

@hpcpony

Description

@hpcpony

Complete novice trying my first experiments with podman.

I also tried pulling some containers ("hello-world", "busybox") and get the same error.

This is the simplest I could come up with to illustrate the problem.

[ex1] cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.6 (Plow)

[ex1] cat Containerfile
FROM alpine:latest
CMD ["echo", "Hello from Podman container!"]

[ex1] podman build -t ex1 .
STEP 1/2: FROM alpine:latest
STEP 2/2: CMD ["echo", "Hello from Podman container!"]
--> Using cache 39cef35724e789ee1c41384b5dd9424c79a52dd1d338ec2e9db2f6819f2002c8
COMMIT ex1
--> 39cef35724e7
Successfully tagged localhost/ex1:latest
39cef35724e789ee1c41384b5dd9424c79a52dd1d338ec2e9db2f6819f2002c8

[ex1] podman run ex1
Failed to re-execute libcrun via memory file descriptor
ERRO[0000] Removing container 9aedcf6f44061c7726f744c95770ba94bb636a5eb0e88ef3c98c5a1fe83c115f from runtime after creation failed
Error: OCI runtime error: crun: Failed to re-execute libcrun via memory file descriptor

[ex1] podman --version
podman version 5.4.0

[ex1] crun --version
crun version 1.23.1
commit: d20b23dba05e822b93b82f2f34fd5dada433e0c2
rundir: /run/user/1008/crun
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL

As best as I can tell these are the newest podman and crun available from RedHat.

Looking at the source it looks like it might be that this (crun/src/libcrun/clonedbinary.c) is unhappy but
it's not clear to me which part is the problem. (not sure this is the code for my version of podman).

int ensure_cloned_binary(void)
{
	cleanup_close int execfd = -1;
	char **argv = NULL;

	/* Check that we're not self-cloned, and if we are then bail. */
	int cloned = is_self_cloned();
	if (cloned > 0 || cloned == -ENOTRECOVERABLE)
		return cloned;

	if (fetchve(&argv) < 0)
		return -EINVAL;

	execfd = clone_binary();
	if (execfd < 0)
		return -EIO;

	if (putenv(CLONED_BINARY_ENV "=1"))
		goto error;

	fexecve(execfd, argv, environ);
error:
	return -ENOEXEC;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions