Skip to content
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

conmon exec not handling runtime failures #328

Open
discordianfish opened this issue Feb 24, 2022 · 2 comments
Open

conmon exec not handling runtime failures #328

discordianfish opened this issue Feb 24, 2022 · 2 comments

Comments

@discordianfish
Copy link

Looks like at least when doing exec, conmon is ignoring the exit status of the runtime and returns 0. That made it really hard to pin point an issue we're having.

Using /bin/false to easily reproduce:

# conmon -c <id> -n /runtime.v1alpha2.RuntimeService/Exec -p /mnt/crio/overlay-containers/<id>/userdata/pidfile -e --socket-dir-path /var/run/crio --exec-process-spec exec-spec.json -r /bin/false --log-path /dev/stdout
# echo $?
0
@haircommander
Copy link
Collaborator

Sorry for the delay @discordianfish, this fell through the cracks. The problem is that conmon double forks to daemonize. The original child does not actually end up running the runtime command. Callers can specify a sync pipe to allow conmon to tell them the exit code of the runtime command, but that's a pain from the terminal. Can you remind me the case you were running conmon manually?

@discordianfish
Copy link
Author

@haircommander That was part of debugging another issue.
But feel free to close this if crio/podman have another reliable way to determine the return code of the runtime binary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants