Bug 1322713
Summary: | Guest Call Trace when system_reset on hmp launch guest with usb-storage device. | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | weliao <weliao> | ||||
Component: | qemu-kvm-rhev | Assignee: | Gerd Hoffmann <kraxel> | ||||
Status: | CLOSED ERRATA | QA Contact: | Xujun Ma <xuma> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 7.3 | CC: | chayang, huding, jen, juzhang, knoel, mrezanin, pbonzini, virt-maint, xfu | ||||
Target Milestone: | rc | Keywords: | Regression | ||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | QEMU 2.6 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2016-11-07 21:03:40 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: | |||||||
Attachments: |
|
Description
weliao
2016-03-31 08:04:04 UTC
Created attachment 1142092 [details]
console info
[ 0.602002] Unpacking initramfs... [ 1.087632] Initramfs unpacking failed: broken padding [ 1.088757] Freeing initrd memory: 57040k freed Appearently loading the initrd failed. Bisecting points to this: commit 7070e085d490c396f9237c8f10bf8b6e69cd0066 Author: Paolo Bonzini <pbonzini> Date: Thu Jun 18 18:47:25 2015 +0200 acpi: mark PMTIMER as unlocked Accessing QEMU_CLOCK_VIRTUAL is thread-safe. Signed-off-by: Paolo Bonzini <pbonzini> Message-Id: <1434646046-27150-9-git-send-email-pbonzini> diff --git a/hw/acpi/core.c b/hw/acpi/core.c index 0f201d8..fe6215a 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -528,6 +528,7 @@ void acpi_pm_tmr_init(ACPIREGS *ar, acpi_update_sci_fn update_sci, ar->tmr.timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, acpi_pm_tmr_timer, ar); memory_region_init_io(&ar->tmr.io, memory_region_owner(parent), &acpi_pm_tmr_ops, ar, "acpi-tmr", 4); + memory_region_clear_global_locking(&ar->tmr.io); memory_region_add_subregion(parent, 8, &ar->tmr.io); } /me looks surprised. But reverting it indeed fixes the problem. And seabios actually uses pmtimer for timekeeping. Note: root cause for the initrd issue noted in comment 5 is seabios running into problems with ehci -> io errors -> corrupted initrd. Sometimes it doesn't boot at all, probably in case the io errors happen to hit the kernel not the initrd. Paolo, any idea? Revert submitted: https://patchwork.ozlabs.org/patch/610766/ Verify this bug with following versions: Host: 3.10.0-491.el7.x86_64 qemu-kvm-rhev-2.6.0-20.el7.x86_64 seabios-bin-1.9.1-4.el7.noarch Guest: 3.10.0-478.el7.x86_64 Test step: 1.Launch guest with usb-storage. # /usr/libexec/qemu-kvm -name rhel7.3 -M pc -cpu SandyBridge -m 4G -smp 1,maxcpus=160 -boot order=d,menu=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0 -boot menu=on -netdev tap,id=tap1 -device virtio-net-pci,netdev=tap1,id=nic1,mac=52:55:00:5c:89:4d,bus=pci.0 -spice port=5900,disable-ticketing, -monitor stdio -qmp tcp:0:5556,server,nowait -device usb-ehci,id=ehci -drive file=/home/RHEL-Server-7.3-64-virtio.qcow2,if=none,id=storage0,media=disk,cache=none,format=qcow2 -device usb-storage,bus=ehci.0,drive=storage0,id=storage0-0 -monitor unix:/tmp/monitor-unix,server,nowait -serial unix:/tmp/console,server,nowait 2.reboot guest via hmp (qemu) system_reset result: guest work well, no Call Trace. Tested 10 times all work well, so this bug fix well. 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-2016-2673.html |