In GHA, at least when using tmate action, it seems that PID 1 (serving the role init should) is filled by an instance of tail. Obviously, that does not reap unparented child processes like init is supposed to, and wine appears to use the double-fork trick to avoid having to wait on child processes, which means that PID 1 then has to. The workaround seems to be to specify the --init option to docker:
https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container#setting-container-resource-options
https://docs.docker.com/reference/cli/docker/container/create/#options
jobs:
main:
runs-on: ubuntu-latest
container:
image: ghcr.io/msys2/msys2-docker-experimental:latest
options: --init
steps:
- name: tmate
uses: mxschmitt/action-tmate@v3
I think this is something that just needs to be documented, I don't know if there's anything that can be done to the image to solve this. Then again, I'm no docker expert...
In GHA, at least when using tmate action, it seems that PID 1 (serving the role init should) is filled by an instance of
tail. Obviously, that does not reap unparented child processes like init is supposed to, and wine appears to use the double-fork trick to avoid having to wait on child processes, which means that PID 1 then has to. The workaround seems to be to specify the--initoption to docker:https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container#setting-container-resource-options
https://docs.docker.com/reference/cli/docker/container/create/#options
I think this is something that just needs to be documented, I don't know if there's anything that can be done to the image to solve this. Then again, I'm no docker expert...