Re: [kvm-unit-tests] its-migration segmentation fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?
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?

I tried to remove '</dev/null' in 'errors=$("${@}" $INITRD </dev/null
2> >(tee /dev/stderr) > /dev/fd/$stdout)' from script/arch-run.bash
and run it again, and found out that if you wait to see that 'Now
migrate the VM, then press a key to continue...' prompt, it's too late
for the test to catch your key press. You will have to press any key
right after the test started. However although the test will pass, it
won't be terminated properly but keep complaining about "Ncat:
Connection refused." until I hit ctrl + c. Not sure if this is
expected?

$ uname -a
Linux kuzzle 5.11.0-18-generic #19-Ubuntu SMP Fri May 7 14:21:20 UTC
2021 aarch64 aarch64 aarch64 GNU/Linux
$ sudo ./its-migration
BUILD_HEAD=90a7d30e
k (my key press)
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 /tmp/tmp.HhCjbIcns7
-smp 32 -machine gic-version=3 -append its-migration # -initrd
/tmp/tmp.AyirrSboiF
ITS: MAPD devid=2 size = 0x8 itt=0x408d0000 valid=1
ITS: MAPD devid=7 size = 0x8 itt=0x408e0000 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...
INFO: gicv3: its-migration: Migration complete
INT dev_id=2 event_id=20
PASS: gicv3: its-migration: dev2/eventid=20 triggers LPI 8195 on PE #3
after migration
INT dev_id=7 event_id=255
PASS: gicv3: its-migration: dev7/eventid=255 triggers LPI 8196 on PE
#2 after migration
SUMMARY: 2 tests
Ncat: Connection refused.
Ncat: Connection refused.
Ncat: Connection refused.

Ncat: Version 7.80

Thanks!
PHLin

[1] https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1931680

>
> Thanks,
> drew
>
> >
> > Package versions:
> >
> > $ ncat --version
> > Ncat: Version 7.91 ( https://nmap.org/ncat )
> >
> > $ /usr/bin/qemu-system-aarch64 --version
> > QEMU emulator version 5.1.0
> > Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
> >
> > $ uname -a
> > Linux rockpro 5.10.0-rc4 #33 SMP PREEMPT Thu Nov 19 15:58:57 GMT 2020 aarch64
> > GNU/Linux
> >
> > Thanks,
> >
> > Alex
> >
>



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux