[pve-devel] applied-esries: [PATCH installer v2 0/6] fix #4872: properly timeout `traceroute` command in country detection

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Feb 23 16:17:47 CET 2024


Am 13/02/2024 um 16:13 schrieb Christoph Heiss:
> For all the details, see patch #6.
> 
> TL;DR: SIGALRM does not interrupt line reading using <>, causing the
> installer to hang on country detection. Fix it by using
> Proxmox::Sys::Command::run_command(), which properly interacts with
> SIGALRM.
> 
> Patch #1 is a rather mundane fix for some niche cases, #2 is a small
> refactoring as proposed by Thomas and #3 might warrant some more
> thought. #4 & #5 are preparatory and to not alter existing behaviour.
> 
> v1: https://lists.proxmox.com/pipermail/pve-devel/2024-February/061677.html
> 
> Changes since v1:
>   * new patches #2 (refactoring) and #3 (EINTR handling)
>   * introduce CMD_FINISHED constant for run_command()
>   * added function documentation
> 
> Christoph Heiss (6):
>   low-level: initialize UI backend for 'dump-env' subcommand too
>   sys: command: factor out kill() + waitpid() from run_command()
>   sys: command: handle EINTR in run_command()
>   sys: command: allow terminating the process early from log subroutine
>   sys: command: add option to not print process output to stdout
>   fix #4872: run env: use run_command() for country detection
> 
>  Proxmox/Install/RunEnv.pm   | 22 +++++-----
>  Proxmox/Sys/Command.pm      | 85 ++++++++++++++++++++++++++++++++-----
>  proxmox-low-level-installer |  1 +
>  test/Makefile               |  5 ++-
>  test/run-command.pl         | 46 ++++++++++++++++++++
>  5 files changed, 137 insertions(+), 22 deletions(-)
>  create mode 100755 test/run-command.pl
> 
> --
> 2.43.0
> 


applied series, with a small follow-up to that tries to make wait_for_process
a bit more forgiving towards processes that need a bit of time for a graceful
exit, thanks!




More information about the pve-devel mailing list