New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dockerd doesn't kill healthcheck processes after timeout #43737
Comments
Thanks for reporting this issue with detailed diagnostic, I'll investigate today |
Hello, @ndeloof! Many thanks for your help! I tried the patch (but I cherry-picked it on v20.10.17 actually) and it works well for I think Steps to reproduce: I didn't find simple test app that ignores
Describe the results you received:
Describe the results you expected:
|
@thaJeztah What versions can we assume this has been fixed on ? 20.10 and 22.06? And 23 and 24? I want to blacklist versions in our environment where the commands are not timed out (or require people to use /usr/bin/timeout to wrap the commands) |
Description
dockerd already has logic to gracefully stop healthcheck processes after timeout (/daemon/exec.go#L277-L291).
But it seems completely broken because of using canceled context in
daemon.containerd.SignalProcess()
call (/daemon/exec.go#L279).SignalProcess()
just returnscontext canceled
error and does nothing.Steps to reproduce the issue:
Dockerfile
:Describe the results you received:
More then one
sleep 3600
processes:Describe the results you expected:
Zero or one
sleep 3600
process:Additional information you deem important (e.g. issue happens only occasionally):
N/A
Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.):
N/A
The text was updated successfully, but these errors were encountered: