Pressure Vessel doesn't exit when a game launch is canceled
Steps to reproduce
- Force the compatibility layer of a game to Proton 5.13
- Press the Steam green "play" button
- When the "Preparing to launch {GAME}" popup appears, wait a couple seconds and close it using its "X" in the top right
Expected result
The game launch is canceled and all pressure-vessel processes should stop.
Actual result
ps aux | grep pressure
ryuzaki 49467 0.0 0.0 2432 688 pts/0 S+ 14:01 0:00 /usr/bin/bwrap --args 35 /run/pressure-vessel/pv-from-host/bin/pressure-vessel-adverb --generate-locales --fd 12 --terminate-timeout=2.000000 --exit-with-parent --subreaper --pass-fd=3 --pass-fd=29 --shell=none --terminal=none --verbose -- /home/ryuzaki/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/pressure-vessel-launcher --verbose --lock-env-from-fd 29 --info-fd=3 --socket-directory=/tmp/SteamPVSockets.LZt2aX/SteamLinuxRuntime.6ea61f98ff863312
ryuzaki 49880 0.0 0.0 25648 4380 ? Ss 14:01 0:00 /run/pressure-vessel/pv-from-host/bin/pressure-vessel-adverb --generate-locales --fd 12 --terminate-timeout=2.000000 --exit-with-parent --subreaper --pass-fd=3 --pass-fd=29 --shell=none --terminal=none --verbose -- /home/ryuzaki/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/pressure-vessel-launcher --verbose --lock-env-from-fd 29 --info-fd=3 --socket-directory=/tmp/SteamPVSockets.LZt2aX/SteamLinuxRuntime.6ea61f98ff863312
ryuzaki 49901 0.0 0.0 246916 5416 ? Sl 14:01 0:00 /home/ryuzaki/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/pressure-vessel-launcher --verbose --lock-env-from-fd 29 --info-fd=3 --socket-directory=/tmp/SteamPVSockets.LZt2aX/SteamLinuxRuntime.6ea61f98ff863312
And even after closing Steam, these processes will continue to live.
Additional info
The same behavior happens if you cancel the game launch when it is compiling the Vulkan shader cache.
Or even if you install a game in a removable media, unmount the hard drive/usb stick, and try to launch the game. Steam will inform you that the executable is missing but pressure-vessel setup processes will not be killed.
Probably it might even be a problem with the Steam client that doesn't send the halt signal, as when the "stop" button is pressed.