Bug 738487
Summary: | Fix termination by signal with -no-shutdown | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Dave Allan <dallan> |
Component: | qemu-kvm | Assignee: | Kevin Wolf <kwolf> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | 6.2 | CC: | acathrow, chayang, ehabkost, juzhang, leiwang, michen, mkenneth, mkrcmari, tburke, virt-maint, wanghb8 |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm-0.12.1.2-2.192.el6 | Doc Type: | Bug Fix |
Doc Text: |
Cause: When shutting down due to qemu-kvm SIGTERM request, qemu-kvm didn't terminated if -no-shutdown was used.
Consequence: SIGTERM couldn't be used to terminate qemu-kvm properly, forcing libvirt to use SIGKILL (see libvirt bug 734773) and potential disk corruption.
Change: The SIGTERM handler was changed so qemu-kvm terminates properly after shutdown even if -no-shutdown was used.
Result: SIGTERM can now be used to terminate qemu-kvm even if -no-shutdown is used, and libvirt doesn't need to use SIGKILL anymore (libvirt bug 734773).
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2011-12-06 16:03:22 UTC | Type: | --- |
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: | |||
Bug Blocks: | 734773, 743047 |
Description
Dave Allan
2011-09-14 23:40:29 UTC
*** Bug 738273 has been marked as a duplicate of this bug. *** Reproduced this issue with following steps on qemu-kvm-0.12.1.2-2.190.el6.x86_64 Steps: 1. boot a VM with -no-shutdown 2. send SIGTERM signal by 'kill -15 `pidof qemu-kvm`' during booting 3. issue 'cont', click on shutdown button after VM boot up 4. issue 'system_reset' then 'cont' in monior 5. click on shutdown button after VM boot up 6. send SIGTERM signal by 'kill -15 `pidof qemu-kvm`' Actual Result: after step 2, VM stopped, (qemu) info status VM status: paused after step 3, VM stopped, (qemu) info status VM status: paused after step 5, VM stopped, -----> step 3,5 have reproduced bz728464 (qemu) info status after step 6, VM still stopped. -----> step 2, 6 has reproduced this issue Verified with same steps mentioned above on qemu-kvm-0.12.1.2-2.192.el6.x86_64, need re-launch a VM after step 2 Actual Result: after step 2, VM quitted, ps -axu | grep qemu couldn't output qemu-kvm process after step 3, VM stopped, (qemu) handle_dev_input: stop (qemu) info status VM status: paused after step 5, VM stopped -----> this proved that this fix wouldn't cause problem like bz728464 after step 6, VM quitted, ps -axu | grep qemu couldn't output qemu-kvm process CLI: # /usr/libexec/qemu-kvm -M rhel6.2.0 -enable-kvm -m 4096 -smp 4,sockets=1,cores=4,threads=1 -name RHEL6.1_64 -uuid `uuidgen` -rtc base=utc,clock=host,driftfix=slew -boot menu=on -drive file=/home/rhel6.1.z-x86_64.qcow2,if=none,id=drive-virtio-0-0,media=disk,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-virtio-0-0,id=virt0-0-0,bootindex=1 -netdev tap,id=hostnet1,vhost=on -device virtio-net-pci,netdev=hostnet1,id=net1,mac=64:31:50:41:e1:c3 -usb -device usb-tablet,id=input1,bus=usb.0,port=1 -spice port=7000,disable-ticketing -vga qxl -global qxl-vga.vram_size=67108864 -monitor stdio -balloon none -no-shutdown ^^^^^^^^^^^^ -----Conclusion: Based on above, I think this issue has been fixed correctly. Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: When shutting down due to qemu-kvm SIGTERM request, qemu-kvm didn't terminated if -no-shutdown was used. Consequence: SIGTERM couldn't be used to terminate qemu-kvm properly, forcing libvirt to use SIGKILL (see libvirt bug 734773) and potential disk corruption. Change: The SIGTERM handler was changed so qemu-kvm terminates properly after shutdown even if -no-shutdown was used. Result: SIGTERM can now be used to terminate qemu-kvm even if -no-shutdown is used, and libvirt doesn't need to use SIGKILL anymore (libvirt bug 734773). 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. http://rhn.redhat.com/errata/RHSA-2011-1531.html |