[pve-devel] [PATCH installer v2 0/6] fix #4872: properly timeout `traceroute` command in country detection
Christoph Heiss
c.heiss at proxmox.com
Tue Feb 13 16:13:57 CET 2024
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
More information about the pve-devel
mailing list