summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 02:02:36 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 02:02:36 -0400
commit86915397e51583514f2330a4976e1e0bad6e81c8 (patch)
treec5f5edd4fb30ed52010b7c47803198c5baa55774
parent8ae3e618ef766015f79ea175ebb50a4a0efc87a4 (diff)
downloadopen-iov-86915397e51583514f2330a4976e1e0bad6e81c8.tar.gz
open-iov-86915397e51583514f2330a4976e1e0bad6e81c8.zip
guest-diag: run_cycle - retry gdb arming (transient agent timeouts)
-rwxr-xr-xtools/guest-diag/run_cycle.sh15
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/guest-diag/run_cycle.sh b/tools/guest-diag/run_cycle.sh
index 173aca7..6786aa1 100755
--- a/tools/guest-diag/run_cycle.sh
+++ b/tools/guest-diag/run_cycle.sh
@@ -70,9 +70,18 @@ elif [ "$TRACE" = "gdb" ]; then
sleep 2
done
echo " cdt pid=$PID; arming ${GDBSCRIPT:-bp999v2.py} (999/719 exit, serial+file)"
- timeout 40 "$VMEXEC" exec \
- "nohup sh -c \"gdb -p '$PID' -batch -x /tmp/${GDBSCRIPT:-bp999v2.py} < /dev/null 2>&1 | tee /tmp/bpwait.out > /dev/ttyS0\" >/dev/null 2>&1 & echo ARMED" \
- >/dev/null 2>&1
+ ARMED=0
+ for a in 1 2 3; do
+ if timeout 40 "$VMEXEC" exec \
+ "test -f /tmp/${GDBSCRIPT:-bp999v2.py} && nohup sh -c \"gdb -p '$PID' -batch -x /tmp/${GDBSCRIPT:-bp999v2.py} < /dev/null 2>&1 | tee /tmp/bpwait.out >/dev/ttyS0\" >/dev/null 2>&1 & echo ARMED" \
+ 2>/dev/null | grep -q ARMED; then
+ ARMED=1
+ break
+ fi
+ echo " arm attempt $a failed; retrying"
+ sleep 8
+ done
+ [ "$ARMED" = 1 ] || echo " WARN: gdb arm failed 3x"
else
timeout 30 "$VMEXEC" exec \
"rm -f /tmp/cdt.out; CDT_HOLD=$HOLD nohup /tmp/cdt >/tmp/cdt.out 2>&1 & echo STARTED" \