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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions