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 | d0d75b59e2f0919d32bd7c79367bbd3f6bb3d56d (patch) | |
| tree | 0956f5ee74ce649905aed8ad4e945be21eacf0d6 | |
| parent | 4494bfc26f73e68926e3f47d0ec9948b8a36c910 (diff) | |
| download | open-iov-d0d75b59e2f0919d32bd7c79367bbd3f6bb3d56d.tar.gz open-iov-d0d75b59e2f0919d32bd7c79367bbd3f6bb3d56d.zip | |
guest-diag: run_cycle - retry gdb arming (transient agent timeouts)
| -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" \ |
