Bug 1020722
Summary: | qemu-kvm quit on "create_userspace_phys_mem: File exists. assigned_dev_iomem_map: Error: create new mapping failed" while repeatedly hot plugging/unplugging intel dual port 82576 PFs to win2012 guest | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Chao Yang <chayang> |
Component: | qemu-kvm | Assignee: | Alex Williamson <alex.williamson> |
Status: | CLOSED WONTFIX | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.5 | CC: | acathrow, alex.williamson, bsarathy, chayang, juzhang, michen, mkenneth, qzhang, virt-maint |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-06-12 12:48:12 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: |
Description
Chao Yang
2013-10-18 08:29:19 UTC
Please re-test and provide logs of script and error message. Please also install debug package for qemu-kvm and connect to process prior to test and provide backtrace on error. Hotplug tests like this should generally actively test whether the guest released the device rather than relying on a sleep. (In reply to Alex Williamson from comment #2) > Please re-test and provide logs of script and error message. Please also > install debug package for qemu-kvm and connect to process prior to test and > provide backtrace on error. > I am queueing to take this system, will update once I get it. > Hotplug tests like this should generally actively test whether the guest > released the device rather than relying on a sleep. If I don't add any sleep, it will lead to 'duplicated ID'. (In reply to Chao Yang from comment #3) > (In reply to Alex Williamson from comment #2) > > Please re-test and provide logs of script and error message. Please also > > install debug package for qemu-kvm and connect to process prior to test and > > provide backtrace on error. > > > > I am queueing to take this system, will update once I get it. > > > Hotplug tests like this should generally actively test whether the guest > > released the device rather than relying on a sleep. > > If I don't add any sleep, it will lead to 'duplicated ID'. By actively test, I mean check whether the device has been removed at the end of the sleep rather than assuming it worked (ie. parse the output of 'info pci' rather than simply dump it). Reproduced again with host kernel-2.6.32-477.el6.x86_64 qemu-kvm-0.12.1.2-2.427.el6.x86_64 while repeatedly hot plugging/unplugging intel dual port 82576 PFs to/from windows 2012 guest at 18th times. Breakpoint 2, assigned_dev_iomem_map (pci_dev=0x7fffe51757f0, region_num=0, e_phys=4269670400, e_size=131072, type=0) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/device-assignment.c:269 269 { (gdb) bt #0 assigned_dev_iomem_map (pci_dev=0x7fffe51757f0, region_num=0, e_phys=4269670400, e_size=131072, type=0) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/device-assignment.c:269 #1 0x00007ffff7dcab0b in pci_update_mappings (d=0x7fffe51757f0) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/pci.c:1096 #2 0x00007ffff7f668a7 in assigned_dev_pci_write_config (d=0x7fffe51757f0, address=4, val=1030, len=2) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/device-assignment.c:484 #3 0x00007ffff7de15ad in kvm_handle_io (env=0x7ffff8866f20) at /usr/src/debug/qemu-kvm-0.12.1.2/kvm-all.c:148 #4 kvm_run (env=0x7ffff8866f20) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1061 #5 0x00007ffff7de16a9 in kvm_cpu_exec (env=0x7ffff8866f20) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1756 #6 0x00007ffff7de259d in kvm_main_loop_cpu (_env=0x7ffff8866f20) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2018 #7 ap_main_loop (_env=0x7ffff8866f20) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2074 #8 0x00007ffff76f29d1 in start_thread () from /lib64/libpthread.so.0 #9 0x00007ffff4914b7d in clone () from /lib64/libc.so.6 (gdb) c Continuing. create_userspace_phys_mem: File exists assigned_dev_iomem_map: Error: create new mapping failed If you need additional information, please needinfo me. I have reserved this system for 3 days. Can this be reproduced with libvirt using virsh nodedev operations? (In reply to Alex Williamson from comment #7) > Can this be reproduced with libvirt using virsh nodedev operations? No, using virsh attach-device/detach-device failed to reproduce this issue. #!/bin/bash for i in $(seq 1 500); do echo " ---------- The $i iterations ------------" virsh attach-device test pci.xml sleep 3 virsh detach-device test pci.xml while virsh qemu-monitor-command test --hmp "info pci" | grep "8086:10c9"; do sleep 3 done virsh attach-device test pci-1.xml sleep 3 virsh detach-device test pci-1.xml while virsh qemu-monitor-command test --hmp "info pci" | grep "8086:10c9"; do sleep 3 done done # cat pci.xml <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x23' slot='0x00' function='0x0'/> </source> </hostdev> |