spiegel_podman/libpod
Paul Holzinger 1f03c86dac [v5.4-rhel] podman rm: handle case where conmon was killed
Adding this commit from #26643 to v5.4-rhel as after PR #27910
failed QE testing.  The error `ErrConmonDead` was added sometime
after Podman v5.4-rhel and before v5.6-rhel was released.
New tests for the issue in #27910 are failing here in 5.4-rhel
due to that renamed error.

This will hopefully finally

Fixes: https://issues.redhat.com/browse/RHEL-141490

Original PR text for this change from @Luap99

When conmon was killed podman rm -f currently fails but running it again
then works which doesn't really makes sense. We should properly remove
the contianer even if conmon is dead.

In fact the code already handles ErrConmonDead as stop error when we
remove the container but this error was never thrown anywhere. To fix
this throw ErrConmonDead instead of ErrInternal because that is not an
intenral error if something else killed conmon.

With this we can correctly cleanup and remove the container. The fact
that this works on the first try is important for quadlet units as they
only run the ExecStopPost= command once to remove it.

Fixes: #26640

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2026-01-22 14:10:39 -05:00
..
define [v5.4-rhel] Fix: Ensure HealthCheck exec session terminates on timeout 2025-06-18 08:42:57 +02:00
driver Bump Go module to v5 2024-02-08 09:35:39 -05:00
events update golangci/golangci-lint to v1.63.4 2025-01-07 15:48:53 +01:00
layers Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
linkmode chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
lock Additional potential race condition on os.Readdir 2024-08-12 11:38:02 -04:00
logs bump go to 1.22 2024-09-03 15:14:15 +02:00
plugin libpod: use fileutils.(Le|E)xists 2024-04-19 09:52:14 +02:00
shutdown Revert "libpod: remove shutdown.Unregister()" 2024-11-27 08:09:50 -05:00
boltdb_state.go libpod: use fileutils.(Le|E)xists 2024-04-19 09:52:14 +02:00
boltdb_state_internal.go Ignore result of EvalSymlinks on ENOENT 2024-07-11 09:39:56 -04:00
common_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container.go [v5.4] Fix HealthCheck log destination, count, and size defaults 2025-03-14 16:04:38 +01:00
container_api.go Configure HealthCheck with podman update 2024-11-19 19:44:14 +01:00
container_commit.go api: Error checking before NULL dereference 2024-11-28 14:01:45 +03:00
container_config.go [v5.4] Fix HealthCheck log destination, count, and size defaults 2025-03-14 16:04:38 +01:00
container_copy_common.go Mount volumes before copying into a container 2024-11-27 08:09:50 -05:00
container_copy_freebsd.go Mount volumes before copying into a container 2024-11-27 08:09:50 -05:00
container_copy_linux.go Mount volumes before copying into a container 2024-11-27 08:09:50 -05:00
container_exec.go [v5.4-rhel] Fix: Ensure HealthCheck exec session terminates on timeout 2025-06-18 08:42:57 +02:00
container_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
container_graph.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_graph_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_inspect.go [v5.4] Fix HealthCheck log destination, count, and size defaults 2025-03-14 16:04:38 +01:00
container_inspect_freebsd.go libpod: fix HostConfig.Devices output from 'podman inspect' on FreeBSD 2024-09-02 11:21:35 +01:00
container_inspect_linux.go Switch to moby/sys/capability 2024-10-01 12:52:18 -07:00
container_internal.go [v5.4-rhel] podman rm: handle case where conmon was killed 2026-01-22 14:10:39 -05:00
container_internal_common.go [v5.4-rhel] do not pass [no]copy as bind mounts options to runtime 2025-12-19 14:22:43 -05:00
container_internal_freebsd.go Add --no-hostname option 2025-01-15 06:51:32 -05:00
container_internal_linux.go Add --no-hostname option 2025-01-15 06:51:32 -05:00
container_internal_linux_test.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
container_internal_test.go Switch all calls of assert.Nil to assert.NoError 2025-01-15 07:08:27 -05:00
container_linux.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
container_log.go libpod: log file use Wait() over event API 2024-11-01 18:53:08 +01:00
container_log_linux.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_log_unsupported.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_path_resolution.go Mount volumes before copying into a container 2024-11-27 08:09:50 -05:00
container_path_resolution_test.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
container_stat_common.go Mount volumes before copying into a container 2024-11-27 08:09:50 -05:00
container_stat_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
container_stat_linux.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_top_freebsd.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_top_linux.c libpod/container_top_linux.c: fix missing header 2024-06-27 10:50:17 +02:00
container_top_linux.go update golangci-lint to 1.60.1 2024-08-19 11:41:28 +02:00
container_top_unsupported.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
container_validate.go Add ExposedPorts to Inspect's ContainerConfig 2024-10-01 07:54:52 -04:00
diff.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
doc.go document that using libpod package directly is not supported 2022-03-23 19:05:29 +01:00
events.go [v5.4] Fix HealthCheck log destination, count, and size defaults 2025-03-14 16:04:38 +01:00
healthcheck.go [v5.4-rhel] Fix: Ensure HealthCheck exec session terminates on timeout 2025-06-18 08:42:57 +02:00
healthcheck_config.go Configure HealthCheck with podman update 2024-11-19 19:44:14 +01:00
healthcheck_linux.go healthcheck: do not leak service on failed stop 2024-10-25 15:27:05 +02:00
healthcheck_nosystemd_linux.go libpod: do not leak systemd hc startup unit timer 2024-06-04 18:03:46 +02:00
healthcheck_unsupported.go libpod: do not leak systemd hc startup unit timer 2024-06-04 18:03:46 +02:00
info.go Merge pull request #24731 from l0rd/additionalimagestores 2024-12-03 14:15:08 +00:00
info_freebsd.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
info_linux.go rootless: drop function ReadMappingsProc 2024-04-10 11:55:35 +02:00
info_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
kube.go Kube volumes can not container _ 2024-12-18 09:07:57 -05:00
mounts_linux.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
networking_common.go Set network ID if available during container inspect 2025-01-20 15:55:26 +01:00
networking_freebsd.go use new c/common pasta2 setup logic to fix dns 2024-03-19 12:09:31 +01:00
networking_linux.go libpod: setupNetNS() correctly mount netns 2024-09-20 15:19:22 +02:00
networking_linux_test.go bump go to 1.22 2024-09-03 15:14:15 +02:00
networking_machine.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
networking_pasta_linux.go libpod: use pasta Setup() over Setup2() 2024-10-30 13:35:56 +01:00
networking_slirp4netns.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
oci.go [v5.4-rhel] Remove persist directory when cleaning up Conmon files 2025-04-08 16:05:21 -04:00
oci_conmon.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
oci_conmon_attach_common.go fix race conditions in start/attach logic 2024-07-12 15:11:34 +02:00
oci_conmon_attach_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
oci_conmon_attach_linux.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
oci_conmon_common.go [v5.4-rhel] Remove persist directory when cleaning up Conmon files 2025-04-08 16:05:21 -04:00
oci_conmon_exec_common.go [v5.4-rhel] Fix: Use SIGKILL instead of SIGTERM when ExecStopContainer timeout is 0 2025-06-18 08:43:10 +02:00
oci_conmon_exec_freebsd.go Cease using deprecated runc userlookup 2024-02-02 11:02:43 -05:00
oci_conmon_exec_linux.go Cease using deprecated runc userlookup 2024-02-02 11:02:43 -05:00
oci_conmon_freebsd.go libpod: intermediate mount if UID not mapped into the userns 2024-06-21 18:01:26 +02:00
oci_conmon_linux.go [v5.4-rhel] Vendor selinux v1.13.1 and make adjustments for selinux changes 2025-11-17 15:05:10 -05:00
oci_missing.go [v5.4-rhel] Remove persist directory when cleaning up Conmon files 2025-04-08 16:05:21 -04:00
oci_util.go oci: report empty exec path as ENOENT 2025-04-02 15:25:18 +02:00
options.go [v5.4] Fix HealthCheck log destination, count, and size defaults 2025-03-14 16:04:38 +01:00
pod.go podman pod stats: fix race when ctr process exits 2024-07-22 10:30:42 +02:00
pod_api.go Add --no-hostname option 2025-01-15 06:51:32 -05:00
pod_internal.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_internal_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
pod_internal_linux.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_status.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_top_freebsd.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_top_linux.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
reset.go libpod: cleanup default cache on system reset 2024-05-29 11:10:55 +02:00
rlimit_int64.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
rlimit_uint64.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
runtime.go [v5.4-rhel] Skip layer digests for podman system check --quick 2025-06-23 17:57:22 -04:00
runtime_cstorage.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
runtime_ctr.go [v5.4-rhel] do not pass volume-opt as bind mounts options to runtime 2025-12-19 14:22:06 -05:00
runtime_ctr_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
runtime_ctr_linux.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
runtime_freebsd.go Detect unhandled reboots and require user intervention 2024-04-05 10:07:42 -04:00
runtime_img.go libpod: pass down NoPivotRoot to Buildah 2024-11-18 12:41:47 +01:00
runtime_linux.go Detect unhandled reboots and require user intervention 2024-04-05 10:07:42 -04:00
runtime_migrate_linux.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
runtime_migrate_unsupported.go Remove Libpod special-init conditions 2024-01-12 09:19:34 -05:00
runtime_pod.go Replace golang.org/x/exp/slices with slices from std 2024-04-23 11:16:40 +02:00
runtime_pod_common.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
runtime_pod_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
runtime_pod_linux.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
runtime_pre_go1.20.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
runtime_renumber.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
runtime_test.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
runtime_volume.go libpod: remove duplicated HasVolume() check 2024-08-15 11:07:27 +02:00
runtime_volume_common.go Create quota before _data dir for volumes 2025-03-05 14:19:32 -05:00
runtime_worker.go create runtime's worker queue before queuing any job 2024-07-09 11:15:29 +02:00
service.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
sqlite_state.go In SQLite state, use defaults for empty-string checks 2025-02-11 11:01:00 -05:00
sqlite_state_internal.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
state.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
state_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
stats_common.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
stats_freebsd.go Fix some comments 2024-04-13 15:20:19 +08:00
stats_linux.go libpod: report cgroups deleted during Stat() call 2024-10-29 11:16:57 +01:00
storage.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
util.go podman exec: correctly support detaching 2025-02-03 01:50:55 +00:00
util_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
util_linux.go [v5.4-rhel] Vendor selinux v1.13.1 and make adjustments for selinux changes 2025-11-17 15:05:10 -05:00
util_linux_test.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
volume.go Only stop chowning volumes once they're not empty 2024-05-22 17:47:01 -04:00
volume_inspect.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_internal.go Only stop chowning volumes once they're not empty 2024-05-22 17:47:01 -04:00
volume_internal_common.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_internal_freebsd.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
volume_internal_linux.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00