From 2b564619b575129e746436f1bc3fea69a9d10d21 Mon Sep 17 00:00:00 2001 From: jsboige Date: Thu, 17 Sep 2026 15:53:54 +0200 Subject: [PATCH] Fix: sonde detresse hote -- wslpath + resolution powershell sous PATH systemd (supervise.sh) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La garde de detresse (#15123) rendait systematiquement « hote NON MESURABLE » depuis un contexte systemd : (1) bash sous WSL ne resout pas cygpath.exe sans suffixe, donc le repli passait le chemin POSIX a powershell.exe -File ; (2) le contexte systemd n'herite pas du PATH Windows annexe, donc powershell.exe lui-meme etait introuvable. Resolution par wslpath (natif WSL) avec repli cygpath, et powershell.exe resolu via wslpath en absolu quand absent du PATH. Valide empiriquement : les trois services coursia-* refusent au demarrage sans ce fix et demarrent avec (sonde mesurant total 18432 Mo / budget 12288 Mo sur po-2024, 2026-09-17). Co-Authored-By: Claude Sonnet 5 --- scripts/ci/docker/linux-runner/supervise.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/scripts/ci/docker/linux-runner/supervise.sh b/scripts/ci/docker/linux-runner/supervise.sh index a412d6101d..90c506e6f8 100644 --- a/scripts/ci/docker/linux-runner/supervise.sh +++ b/scripts/ci/docker/linux-runner/supervise.sh @@ -471,10 +471,18 @@ host_probe() { fi return 0 fi - command -v powershell.exe >/dev/null 2>&1 || return 0 + # Resolution robuste de powershell.exe : le contexte systemd n'herite pas du + # PATH Windows annexe (login WSL uniquement) -- wslpath fournit l'absolu. + # wslpath pour le -File : natif WSL ; cygpath : repli Cygwin/Git-Bash. Bash + # ne resout pas cygpath.exe sans suffixe sous WSL -- le repli POSIX cassait + # la sonde (hote NON MESURABLE) depuis #15123. + local psexe + psexe="$(command -v powershell.exe 2>/dev/null)" + [ -n "$psexe" ] || psexe="$(wslpath 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' 2>/dev/null)" + [ -n "$psexe" ] || return 0 [ -f "$PROBE_PS1" ] || return 0 - powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass \ - -File "$(cygpath -w "$PROBE_PS1" 2>/dev/null || echo "$PROBE_PS1")" \ + "$psexe" -NoProfile -NonInteractive -ExecutionPolicy Bypass \ + -File "$(wslpath -w "$PROBE_PS1" 2>/dev/null || cygpath -w "$PROBE_PS1" 2>/dev/null || echo "$PROBE_PS1")" \ 2>/dev/null | tr -d '\r' | head -1 }