diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 02:02:36 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 02:02:36 -0400 |
| commit | 86915397e51583514f2330a4976e1e0bad6e81c8 (patch) | |
| tree | c5f5edd4fb30ed52010b7c47803198c5baa55774 /tools/guest-diag | |
| parent | 8ae3e618ef766015f79ea175ebb50a4a0efc87a4 (diff) | |
| download | open-iov-86915397e51583514f2330a4976e1e0bad6e81c8.tar.gz open-iov-86915397e51583514f2330a4976e1e0bad6e81c8.zip | |
guest-diag: run_cycle - retry gdb arming (transient agent timeouts)
Diffstat (limited to 'tools/guest-diag')
| -rwxr-xr-x | tools/guest-diag/run_cycle.sh | 15 |
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" \ |
