Hide Forgot
Description of problem: Guest will hang there while set machine type pc-i440fx-rhel7.1.0/rhel7.2.0 , panic device in guest's xml and get guest crash with echo c >/proc/sysrq-trigger command Version-Release number: host packet info qemu-kvm-rhev-2.3.0-1.el7.x86_64 kernel-3.10.0-252.el7.x86_64 libvirt-1.2.15-2.el7.x86_64 guest packet info kernel-3.10.0-252.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Prepare a guest with panic enabled #virsh dumpxml 7.2 -- <os> <type arch='x86_64' machine='pc-i440fx-rhel7.2.0'>hvm</type> <boot dev='hd'/> </os> -- <on_crash>coredump-restart</on_crash> -- <panic> <address type='isa' iobase='0x505'/> </panic> 2.Start the guest #virsh start 7.2 3.Login guest and crash the guest with the following command, the guest will hang there and won't generate the dump file guest#systemctl stop kdump guest#echo c >/proc/sysrq-trigger 4.Other on_crash events coredump-destroy,destroy,restart can also hit this issue 5.Crash the guest with the following command , the guest with the following command, the guest won't hang and will work as expect #sync #printf '%b' '\x01' | dd of=/dev/port seek=$((16#505)) bs=1 count=1 6.It works well with qemu-kvm-rhev-2.2.0-9.el7.x86_64 with machine type pc-i440fx-rhel7.1.0 Actual results: Guest will hang there while set machine type pc-i440fx-rhel7.1.0/rhel7.2.0 , panic device in guest's xml and get guest crash with echo c >/proc/sysrq-trigger command Expected results: The guest shouldn't hang and the on_crash events should work as expect while crash guest with echo c >/proc/sysrq-trigger command
Sounds like an issue with the guest's kernel or panic device driver. Moving to qemu-kvm-rhev for further investigation and decision about the right component.
hi Hai I try the command you gave me in rhel7.2 physical host, the host will hang there and print some call trace info in the screen after run the second command #echo c >/proc/sysrq-trigger [ 375.034957] SysRq : Trigger a crash [ 375.038595] BUG unable to handle kernel NULL pointer dereference at (null) [ 375.046749] IP: [<ffffffff81397486>] sysrq_handle_crash+0x16/0x20
Hi Hai If I‘m not mistaken to remember it, there should have two ways to take a crash dump while guest get crash, one way, we could generate the crash dump by kdump service, another way, we could get the crash dump file by pvpanic device, both ways should be ok. In fact, we can always get the dump file while enable panic device in guest's xml, stop kdump service inside guest,then get guest crash. Only we met this issue while test it with qemu-kvm-rhev-2.3.0-1.el7.x86_64 and set guest machine type pc-i440fx-rhel7.2.0, so i doubt that did we change anyting about the pvpanic with the latest qemu packet, if it did, so can you explain it to us ? so that we can change this part in our testplan in time, thanks
Hi Hai can you help check the comment6's description? since it's still deserving of doing some research for this bug. thanks
qemu-2.3 doesn't generate an ACPI function that the kernel uses to query availability of the pvpanic device, so it doesn't get used. (Like you noticed, it works fine when writing to its port manually.) I've posted a patch upstream, http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg05609.html Thanks.
Fix included in qemu-kvm-rhev-2.3.0-5.el7
with vm xml in https://bugzilla.redhat.com/show_bug.cgi?id=1221943#c0 on qemu-kvm-rhev-2.3.0-2.el7 vm kernel hang at panic on qemu-kvm-rhev-2.3.0-7.el7 vm reboot after 'echo c > /proc/sysrq-trigger' moving to VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2546.html