summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag/run_cycle.sh
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
commitd0d75b59e2f0919d32bd7c79367bbd3f6bb3d56d (patch)
tree0956f5ee74ce649905aed8ad4e945be21eacf0d6 /tools/guest-diag/run_cycle.sh
parent4494bfc26f73e68926e3f47d0ec9948b8a36c910 (diff)
downloadopen-iov-d0d75b59e2f0919d32bd7c79367bbd3f6bb3d56d.tar.gz
open-iov-d0d75b59e2f0919d32bd7c79367bbd3f6bb3d56d.zip
guest-diag: run_cycle - retry gdb arming (transient agent timeouts)
Diffstat (limited to 'tools/guest-diag/run_cycle.sh')
-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" \