Bug 1771032
Summary: | Migration while rebooting results in qemu crash on aarch64 ( Assertion `mem->dirty_bmap' failed ) | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Lukáš Doktor <ldoktor> |
Component: | qemu-kvm | Assignee: | Dr. David Alan Gilbert <dgilbert> |
Status: | CLOSED DUPLICATE | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.1 | CC: | dgilbert, drjones, gshan, jinzhao, juzhang, qzhang, virt-maint |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | aarch64 | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-01-02 12:08:27 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1772774 | ||
Bug Blocks: | 1677408 |
Description
Lukáš Doktor
2019-11-11 18:32:52 UTC
Also I forgot to mention it works well with upstream qemu version (19bef037fe096b17edda103fd513ce6451da23c8), although I'm using custom "configure" that might affect things. In any case I can try finding a matching/broken upstream version and bisect it, if that helps. Hi, Can you try with: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=24872526 this looks like it might be the same as 1772774. Slightly newer version: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=24874372 Lukas, It's reproducible on upstream as well. I'm using below software combination and the issue can be reproduced successfully: [root@amd-seattle-07 ~]# uname -a Linux amd-seattle-07.khw1.lab.eng.bos.redhat.com 4.18.0-149.el8.aarch64 #1 SMP Wed Nov 13 04:01:26 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux [root@amd-seattle-07 ~]# mkdir /home/gshan; cd /home/gshan [root@amd-seattle-07 ~]# git clone https://git.qemu.org/git/qemu.git qemu.main; cd qemu.main [root@amd-seattle-07 ~]# ./configure --target-list=aarch64-softmmu --enable-debug --enable-werror --enable-kvm --disable-xen --disable-vnc [root@amd-seattle-07 ~]# make -j 8 On amd-seattle-09, the qemu code is cloned and its image is built as well. [root@amd-seattle-09 ~]# /home/gshan/qemu.main/aarch64-softmmu/qemu-system-aarch64 \ -machine virt,accel=kvm,gic-version=2 \ -cpu host -m 4096 -smp 8,sockets=8,cores=1,threads=1 \ -monitor none -serial mon:stdio -nographic -s \ -drive file=/home/gshan/images/vm00.img,format=qcow2,cache=none,if=none,id=disk0 \ -device virtio-blk-pci,drive=disk0 \ -netdev tap,script=/home/gshan/scripts/if-up.sh,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:83:83:7c \ -bios /usr/share/AAVMF/AAVMF_CODE.fd \ -incoming tcp:0:4444 [root@amd-seattle-07 ~]# /home/gshan/qemu.main/aarch64-softmmu/qemu-system-aarch64 \ -machine virt,accel=kvm,gic-version=2 \ -cpu host -m 4096 -smp 8,sockets=8,cores=1,threads=1 \ -monitor none -serial mon:stdio -nographic -s \ -drive file=/home/gshan/images/vm00.img,format=qcow2,cache=none,if=none,id=disk0 \ -device virtio-blk-pci,drive=disk0 \ -netdev tap,script=/home/gshan/scripts/if-up.sh,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:83:83:70 \ -bios /usr/share/AAVMF/AAVMF_CODE.fd : [ OK ] Started Crash recovery kernel arming. Red Hat Enterprise Linux 8.2 Beta (Ootpa) Kernel 4.18.0-151.el8.aarch64 on an aarch64 Activate the web console with: systemctl enable --now cockpit.socket localhost login: root Password: Last login: Mon Nov 25 00:33:04 on ttyAMA0 [root@localhost ~]# reboot : [ OK ] Stopped System Security Services Daemon. [ OK ] Stopped Network Manager. [ OK ] Stopped target Network (Pre). Stopping firewalld - dynamic firewall daemon... QEMU 4.1.92 monitor - type 'help' for more information (qemu) migrate tcp:10.16.200.171:4444 : [ 34.963763] reboot: Restarting system UEFI firmware starting. : EFI stub: Booting Linux Kernel... EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied EFI stub: Using DTB from configuration table EFI stub: Exiting boot services and installing virtual address map... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd072] [ 0.000000] Linux version 4.18.0-151.el8.aarch64 (mockbuild.eng.bos.redhat.com) (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Fri Nov 15 19:47:25 UTC 2019 [ 0.000000] efi: Getting EFI parameters from FDT: [ 0.000000] efi: EFI v2.70 by EDK II : [ OK ] Started VDO volume services. [ OK ] Started Login Service. [ OK ] Started firewalld - dynamic firewall daemon. [ OK ] Reached target Network (Pre). Starting Network Manager... [ OK ] Started Network Manager. [ OK ] Reached target Network. Starting Enable periodic update of entitlement certificates.... Starting Permit User Sessions... qemu-system-aarch64: /home/gshan/qemu.main/accel/kvm/kvm-all.c:650: kvm_log_clear_one_slot: Assertion `mem->dirty_bmap' failed. Aborted (core dumped) (In reply to Dr. David Alan Gilbert from comment #5) > Slightly newer version: > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=24874372 Thank you, David, it seems to address the issue (hasn't reproduced in 20 iterations, previously always failed) Rerun test case in comment#6 with upstream qemu, plus below patch from David. No crash found after 5 iterations. https://www.mail-archive.com/qemu-devel@nongnu.org/msg660559.html ("kvm: Reallocate dirty_bmap when we change a slot") |