From 37a0a0a53b1224d827d855d3f0a05c8df45babf5 Mon Sep 17 00:00:00 2001 From: Austin Fuller Date: Fri, 12 Jun 2026 16:18:44 -0400 Subject: [PATCH] fix: avoid socket recreate, reopen socket after EOF Never rm/recreate an existing FIFO, and reopen after writer EOF; the old exit-and-recreate cycle raced a respawning slurmctld into a permanently blocked fifo_open on an unlinked inode. Signed-off-by: Austin Fuller Changelog: Fixed - Fixed cases where slurmctld would get blocked by fifo_open on an unlinked inode from logfile sidecar. --- internal/builder/scripts/logfile.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/builder/scripts/logfile.sh b/internal/builder/scripts/logfile.sh index ff6a02f5b..e8f1af735 100755 --- a/internal/builder/scripts/logfile.sh +++ b/internal/builder/scripts/logfile.sh @@ -8,10 +8,12 @@ set -eu # SOCKET - Named socket to read from mkdir -v -p "$(dirname "$SOCKET")" -rm -f "$SOCKET" -if ! [ -f "$SOCKET" ]; then +if ! [ -p "$SOCKET" ]; then + rm -f "$SOCKET" mkfifo -m 777 "$SOCKET" fi -while IFS="" read data; do - echo "$data" -done <"$SOCKET" + +while true; do + cat "$SOCKET" || true + sleep 1 +done