diff options
author | John Snow | 2021-11-18 21:46:19 +0100 |
---|---|---|
committer | John Snow | 2021-11-23 00:41:21 +0100 |
commit | 206439cd8937a3dc556537074d5d37e5d74eb0d0 (patch) | |
tree | 683814868f15dd7d29f89c7853d9e71d3a8694da | |
parent | python/machine: handle "fast" QEMU terminations (diff) | |
download | qemu-206439cd8937a3dc556537074d5d37e5d74eb0d0.tar.gz qemu-206439cd8937a3dc556537074d5d37e5d74eb0d0.tar.xz qemu-206439cd8937a3dc556537074d5d37e5d74eb0d0.zip |
scripts/device-crash-test: Use a QMP timeout
Despite all the previous fixes, it's still possible for
device-crash-test to wedge itself in the case that QEMU terminates *so
quickly* that it doesn't even begin a connection attempt to our QMP
client. Python will just joyfully wait ad infinitum for a connection
that will now never arrive.
The real fix is to use asyncio to simultaneously poll both the health of
the launched process AND the connection attempt. That's quite a bit more
invasive than just setting a connection timeout, though.
Do the very simplest thing for now.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 20211118204620.1897674-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
-rwxr-xr-x | scripts/device-crash-test | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/device-crash-test b/scripts/device-crash-test index 1c73dac93e..7fbd99158b 100755 --- a/scripts/device-crash-test +++ b/scripts/device-crash-test @@ -353,7 +353,7 @@ def checkOneCase(args, testcase): '-device', qemuOptsEscape(device)] cmdline = ' '.join([binary] + args) dbg("will launch QEMU: %s", cmdline) - vm = QEMUMachine(binary=binary, args=args) + vm = QEMUMachine(binary=binary, args=args, qmp_timer=15) exc = None exc_traceback = None |