Description
A poststop hook is not run if a poststart hook fails.
crun and runc do not have the same behaviour.
I first opened an issue in the crun project:
Steps to reproduce the issue
On a Fedora 43 system do the following steps:
- Create hooks dir
- Create policy file
$HOME/hooks.d/foobar1.json containing
{
"version": "1.0.0",
"hook": {
"path": "/bin/false"
},
"when": {
"annotations": {
"^myannotation$": "yes"
}
},
"stages": ["poststart"]
}
- Create policy file
$HOME/hooks.d/foobar2.json containing
{
"version": "1.0.0",
"hook": {
"path": "/bin/touch",
"args": ["/bin/touch", "/tmp/poststop-created"]
},
"when": {
"annotations": {
"^myannotation$": "yes"
}
},
"stages": ["poststop"]
}
- Create file
$HOME/test.bash containing
#!/bin/bash
set -o nounset
runtime=$1
podman \
--runtime $runtime \
--hooks-dir ~/hooks.d \
run \
--rm \
--annotation myannotation=yes \
docker.io/library/alpine \
sh -c "sleep 1 && echo hello && sleep 1"
- Test with
crun (that was built from the git main branch a few days ago: git commit d268d5375bea4ba692cd8e96040a770da78868e5)
$ ls -l /tmp/poststop-created
ls: cannot access '/tmp/poststop-created': No such file or directory
$ bash test.bash /tmp/crun/crun
2026-03-14T08:25:31.178231Z: error executing hook `/bin/false` (exit code: 1)
Error: `/tmp/crun/crun start a3035173b6311e002171be689725f2e63f23f31d4c329cf9e4b4cb38d76dc224` failed: exit status 1
$ ls -l /tmp/poststop-created
-rw-r--r--. 1 test test 0 Mar 14 09:25 /tmp/poststop-created
$
result: The file /tmp/poststop-created was created
- Test with
runc (version 1.5.0-rc.1). The executable was installed to /tmp/runc.amd64
$ ls -l /tmp/poststop-created
ls: cannot access '/tmp/poststop-created': No such file or directory
$ bash test.bash /tmp/runc.amd64
Error: OCI runtime error: /tmp/runc.amd64: time="2026-03-17T17:38:38+01:00" level=error msg="runc create failed: error running poststart hook #0: exit status 1, stdout: , stderr: "
$ ls -l /tmp/poststop-created
ls: cannot access '/tmp/poststop-created': No such file or directory
$
result: The file /tmp/poststop-created was not created
Describe the results you received and expected
In step 6, I would have expected the file /tmp/poststop-created to be created.
What version of runc are you using?
runc version 1.5.0-rc.1
commit: v1.5.0-rc.1-0-g5d2588d3
spec: 1.3.0
go: go1.25.8
libseccomp: 2.6.0
Host OS information
NAME="Fedora Linux"
VERSION="43 (Forty Three)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=43
VERSION_CODENAME=""
PRETTY_NAME="Fedora Linux 43 (Forty Three)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:43"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f43/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=43
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=43
SUPPORT_END=2026-12-02
Host kernel information
Linux asus 6.19.8-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Mar 13 22:06:06 UTC 2026 x86_64 GNU/Linux
Description
A poststop hook is not run if a poststart hook fails.
crunandruncdo not have the same behaviour.I first opened an issue in the crun project:
Steps to reproduce the issue
On a Fedora 43 system do the following steps:
$HOME/hooks.d/foobar1.jsoncontaining$HOME/hooks.d/foobar2.jsoncontaining$HOME/test.bashcontainingcrun(that was built from the git main branch a few days ago: git commit d268d5375bea4ba692cd8e96040a770da78868e5)/tmp/poststop-createdwas createdrunc(version 1.5.0-rc.1). The executable was installed to/tmp/runc.amd64/tmp/poststop-createdwas not createdDescribe the results you received and expected
In step 6, I would have expected the file
/tmp/poststop-createdto be created.What version of runc are you using?
runc version 1.5.0-rc.1
commit: v1.5.0-rc.1-0-g5d2588d3
spec: 1.3.0
go: go1.25.8
libseccomp: 2.6.0
Host OS information
NAME="Fedora Linux"
VERSION="43 (Forty Three)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=43
VERSION_CODENAME=""
PRETTY_NAME="Fedora Linux 43 (Forty Three)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:43"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f43/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=43
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=43
SUPPORT_END=2026-12-02
Host kernel information
Linux asus 6.19.8-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Mar 13 22:06:06 UTC 2026 x86_64 GNU/Linux