Bug 1221943 - On_crash events didn't work when using guest's pvpanic device
Summary: On_crash events didn't work when using guest's pvpanic device
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Radim Krčmář
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-15 10:07 UTC by zhenfeng wang
Modified: 2015-12-04 16:42 UTC (History)
11 users (show)

Fixed In Version: qemu-kvm-rhev-2.3.0-5.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-12-04 16:42:08 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2546 normal SHIPPED_LIVE qemu-kvm-rhev bug fix and enhancement update 2015-12-04 21:11:56 UTC

Description zhenfeng wang 2015-05-15 10:07:22 UTC
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

Comment 2 Jiri Denemark 2015-05-15 12:03:56 UTC
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.

Comment 4 zhenfeng wang 2015-05-19 08:34:24 UTC
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

Comment 6 zhenfeng wang 2015-05-20 14:10:32 UTC
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

Comment 7 zhenfeng wang 2015-05-26 00:51:57 UTC
Hi Hai
can you help check the comment6's description? since it's still deserving of doing some research for this bug. thanks

Comment 9 Radim Krčmář 2015-05-27 16:39:58 UTC
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.

Comment 12 Miroslav Rezanina 2015-06-24 08:36:47 UTC
Fix included in qemu-kvm-rhev-2.3.0-5.el7

Comment 14 Xiaoqing Wei 2015-07-03 05:38:03 UTC
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.

Comment 16 errata-xmlrpc 2015-12-04 16:42:08 UTC
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


Note You need to log in before you can comment on or make changes to this bug.