qemu-devel
[Top][All Lists]
Advanced

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

Re: qemu crashes on changing display resolution within guest


From: Andrew Jones
Subject: Re: qemu crashes on changing display resolution within guest
Date: Sun, 14 Mar 2021 11:24:18 +0100

On Fri, Mar 12, 2021 at 11:39:49PM +0100, Igor Mammedov wrote:
> happens on current master,
> 
> to reproduce start
> ./x86_64-softmmu/qemu-system-x86_64 -enable-kvm -m 1g -M pc -vnc localhost:0 \
>      -snapshot -cdrom Fedora-Workstation-Live-x86_64-33-1.2.iso
> 
> connect to guest using 'Remote Desktop', wait till it boots to graphical 
> desktop
> then try to change resolution to 800x600
> 
> QEMU will crash in a second or 2 with:
> qemu-system-x86_64: ../qemu/accel/kvm/kvm-all.c:690: kvm_log_clear_one_slot: 
> Assertion `QEMU_IS_ALIGNED(start | size, psize)' failed.
> 
> 
> offending commit:
> 
> commit 3920552846e881bafa9f9aad0bb1a6eef874d7fb (HEAD, refs/bisect/bad)
> Author: Keqian Zhu <zhukeqian1@huawei.com>
> Date:   Thu Dec 17 09:49:41 2020 +0800
> 
>     accel: kvm: Add aligment assert for kvm_log_clear_one_slot
> 
> PS:
> same happens when using spice client
> 
>

Yup, this is an already reported, disappointing regression. As Paolo says,
a revert is on the way. It's extra disappointing because it actually isn't
that hard to reproduce. A kvm-unit-tests migration test reproduces it
(see below). I guess we should improve our QEMU CI to also run
kvm-unit-tests for accel=kvm related changes on all architectures that
support KVM (or at least x86_64 and aarch64).

Thanks,
drew

$ tests/its-migration 
BUILD_HEAD=5f8efadf
run_migration timeout -k 1s --foreground 90s ../build/q/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.kbJOUcS86v 
-smp 48 -machine gic-version=3 -append its-migration # -initrd 
/tmp/tmp.vN8JxnjX7h
qemu-system-aarch64: -chardev 
socket,id=mon1,path=/tmp/mig-helper-qmp1.2e6Up9BrWK,server,nowait: warning: 
short-form boolean option 'server' deprecated
Please use server=on instead
qemu-system-aarch64: -chardev 
socket,id=mon1,path=/tmp/mig-helper-qmp1.2e6Up9BrWK,server,nowait: warning: 
short-form boolean option 'nowait' deprecated
Please use wait=off instead
qemu-system-aarch64: -chardev 
socket,id=mon2,path=/tmp/mig-helper-qmp2.HcqdylHwvn,server,nowait: warning: 
short-form boolean option 'server' deprecated
Please use server=on instead
qemu-system-aarch64: -chardev 
socket,id=mon2,path=/tmp/mig-helper-qmp2.HcqdylHwvn,server,nowait: warning: 
short-form boolean option 'nowait' deprecated
Please use wait=off instead
ITS: MAPD devid=2 size = 0x8 itt=0x40bc0000 valid=1
ITS: MAPD devid=7 size = 0x8 itt=0x40bd0000 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...
qemu-system-aarch64: ../../qemu/accel/kvm/kvm-all.c:690: 
kvm_log_clear_one_slot: Assertion `QEMU_IS_ALIGNED(start | size, psize)' failed.
qemu-system-aarch64: Not a migration stream
qemu-system-aarch64: load of migration failed: Invalid argument
Ncat: Connection reset by peer.
timeout: the monitored command dumped core
/tmp/tmp.M1473gQVZ0: line 126: 1545037 Aborted                 timeout -k 1s 
--foreground 90s ../build/q/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.kbJOUcS86v -smp 48 -machine gic-version=3 
-append its-migration -initrd /tmp/tmp.vN8JxnjX7h -chardev 
socket,id=mon1,path=/tmp/mig-helper-qmp1.2e6Up9BrWK,server,nowait -mon 
chardev=mon1,mode=control
Ncat: Connection refused.
Ncat: Connection refused.
^Ctests/its-migration: line 1: 1545202 Terminated              summary=$(eval 
$cmdline 2> >(RUNTIME_log_stderr $testname)                              > 
>(tee >(RUNTIME_log_stdout $testname $kernel) | extract_summary))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]