On Tue, Jun 15, 2021 at 11:21:05AM +0800, Po-Hsu Lin wrote: > On Fri, Nov 20, 2020 at 8:35 PM Andrew Jones <drjones@xxxxxxxxxx> wrote: > > > > On Fri, Nov 20, 2020 at 12:02:10PM +0000, Alexandru Elisei wrote: > > > When running all the tests with taskset -c 0-3 ./run_tests.sh on a rockpro64 (on > > > the Cortex-a53 cores) the its-migration test hangs. In the log file I see: > > > > > > run_migration timeout -k 1s --foreground 90s /usr/bin/qemu-system-aarch64 > > > -nodefaults -machine virt,gic-version=host,accel=kvm -cpu host -device > > > virtio-serial-device -device virtconsole,chardev=ctd -chardev testdev,id=ctd > > > -device pci-testdev -display none -serial stdio -kernel arm/gic.flat -smp 6 > > > -machine gic-version=3 -append its-migration # -initrd /tmp/tmp.OrlQiorBpY > > > ITS: MAPD devid=2 size = 0x8 itt=0x40420000 valid=1 > > > ITS: MAPD devid=7 size = 0x8 itt=0x40430000 valid=1 > > > MAPC col_id=3 target_addr = 0x30000 valid=1 > > > MAPC col_id=2 target_addr = 0x20000 valid=1 > > > INVALL col_id=2 > > > INVALL col_id=3 > > > MAPTI dev_id=2 event_id=20 -> phys_id=8195, col_id=3 > > > MAPTI dev_id=7 event_id=255 -> phys_id=8196, col_id=2 > > > Now migrate the VM, then press a key to continue... > > > scripts/arch-run.bash: line 103: 48549 Done echo '{ "execute": > > > "qmp_capabilities" }{ "execute":' "$2" '}' > > > 48550 Segmentation fault (core dumped) | ncat -U $1 > > > scripts/arch-run.bash: line 103: 48568 Done echo '{ "execute": > > > "qmp_capabilities" }{ "execute":' "$2" '}' > > > 48569 Segmentation fault (core dumped) | ncat -U $1 > > > scripts/arch-run.bash: line 103: 48583 Done echo '{ "execute": > > > "qmp_capabilities" }{ "execute":' "$2" '}' > > > 48584 Segmentation fault (core dumped) | ncat -U $1 > > > [..] > > > scripts/arch-run.bash: line 103: 49414 Done echo '{ "execute": > > > "qmp_capabilities" }{ "execute":' "$2" '}' > > > 49415 Segmentation fault (core dumped) | ncat -U $1 > > > qemu-system-aarch64: terminating on signal 15 from pid 48496 (timeout) > > > qemu-system-aarch64: terminating on signal 15 from pid 48504 (timeout) > > > scripts/arch-run.bash: line 103: 49430 Done echo '{ "execute": > > > "qmp_capabilities" }{ "execute":' "$2" '}' > > > 49431 Segmentation fault (core dumped) | ncat -U $1 > > > scripts/arch-run.bash: line 103: 49445 Done echo '{ "execute": > > > "qmp_capabilities" }{ "execute":' "$2" '}' > > > [..] > > > > Is your ncat segfaulting? It looks like it from this output. Have you > > tried running your ncat with a UNIX socket independently of this test? > > > > Is this the first time you've tried this test in this environment, or > > is this a regression for you? > > > > > > > > If I run the test manually: > > > > > > $ taskset -c 0-3 ./arm-run arm/gic.flat -smp 4 -machine gic-version=3 -append > > > 'its-migration' > > > > This won't work because we need run_tests.sh to setup the run_migration() > > call. The only ways to run migration tests separately are > > > > $ ./run_tests.sh its-migration > > > > and > > > > $ tests/its-migration > > > > For the second one you need to do 'make standalone' first. > > > > > > > > > > /usr/bin/qemu-system-aarch64 -nodefaults -machine virt,gic-version=host,accel=kvm > > > -cpu host -device virtio-serial-device -device virtconsole,chardev=ctd -chardev > > > testdev,id=ctd -device pci-testdev -display none -serial stdio -kernel > > > arm/gic.flat -smp 4 -machine gic-version=3 -append its-migration # -initrd > > > /tmp/tmp.OtsTj3QD4J > > > ITS: MAPD devid=2 size = 0x8 itt=0x403a0000 valid=1 > > > ITS: MAPD devid=7 size = 0x8 itt=0x403b0000 valid=1 > > > MAPC col_id=3 target_addr = 0x30000 valid=1 > > > MAPC col_id=2 target_addr = 0x20000 valid=1 > > > INVALL col_id=2 > > > INVALL col_id=3 > > > MAPTI dev_id=2 event_id=20 -> phys_id=8195, col_id=3 > > > MAPTI dev_id=7 event_id=255 -> phys_id=8196, col_id=2 > > > Now migrate the VM, then press a key to continue... > > > > > > And the test hangs here after I press a key. > > > > The test doesn't get your input because of the '</dev/null' in run_qemu(), > > which ./arm-run calls. So it's not hanging it's just waiting forever on > > the key press. > Hello Andrew, > We have found this waiting for key press issue on our side as well > [1], the test will fail with TIMEOUT, it looks like it's not getting > my input like you mentioned here. > I would like to ask what is the expected behaviour of these migration > related tests (its-pending-migration / its-migration / > its-migrate-unmapped-collection)? Should they pass right after the > tester hit a key? They should, but normally users don't need to press a key, because the script uses ncat to do it for them. > Also, if these test would require user interaction, should they be > moved to some special group like 'nodefault' to prevent it from > failing with timeout in automated tests? The tests shouldn't be a problem when ncat does its job. I still think we have a script/ncat issue here. Please provide qemu version: bash version: ncat version: And the distro and distro version might also be helpful. Thanks, drew