On 2014/5/8 22:34, Paolo Bonzini wrote: > Il 08/05/2014 16:31, Chris Friesen ha scritto: >> >> >> The fact remains that qemu crashes when I apply the patch. I also tried >> patching it as below in virtio_pci_vmstate_change(). That would allow >> the VM to boot, but it would crash when I tried to do a live migration. > > Can you give us your command line and a backtrace? > > Paolo > > >
Hi, I have test the patch at the qemu.git, qemu crashed when vm is booting. the backtrace is: Program received signal SIGABRT, Aborted. [Switching to Thread 0x7f6bf67f9700 (LWP 9740)] 0x00007f6bfacb2b55 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007f6bfacb2b55 in raise () from /lib64/libc.so.6 #1 0x00007f6bfacb4131 in abort () from /lib64/libc.so.6 #2 0x00007f6bfd51047c in kvm_io_ioeventfd_del (listener= 0x7f6bfd9ffee0 <kvm_io_listener>, section=0x7f6bf67f87c0, match_data=true, data= 0, e=0x7f6970000930) at /tmp/qemu/kvm-all.c:879 #3 0x00007f6bfd5163b5 in address_space_add_del_ioeventfds (as= 0x7f6bfde3d6e0 <address_space_io>, fds_new=0x0, fds_new_nb=0, fds_old= 0x7f6bfdfd8ce0, fds_old_nb=1) at /tmp/qemu/memory.c:628 #4 0x00007f6bfd51698e in address_space_update_ioeventfds (as= 0x7f6bfde3d6e0 <address_space_io>) at /tmp/qemu/memory.c:687 #5 0x00007f6bfd517949 in address_space_update_topology (as= 0x7f6bfde3d6e0 <address_space_io>) at /tmp/qemu/memory.c:780 #6 0x00007f6bfd517a68 in memory_region_transaction_commit () at /tmp/qemu/memory.c:800 #7 0x00007f6bfd3e2942 in virtio_pci_stop_ioeventfd (proxy=0x7f6bfdfde080) at hw/virtio/virtio-pci.c:270 #8 0x00007f6bfd3e2aaa in virtio_ioport_write (opaque=0x7f6bfdfde080, addr=18, val= 0) at hw/virtio/virtio-pci.c:309 #9 0x00007f6bfd3e2ff3 in virtio_pci_config_write (opaque=0x7f6bfdfde080, addr=18, val=0, size=1) at hw/virtio/virtio-pci.c:436 #10 0x00007f6bfd515368 in memory_region_write_accessor (mr=0x7f6bfdfde818, addr=18, value=0x7f6bf67f8b68, size=1, shift=0, mask=255) at /tmp/qemu/memory.c:441 #11 0x00007f6bfd5154a4 in access_with_adjusted_size (addr=18, value=0x7f6bf67f8b68, size=1, access_size_min=1, access_size_max=4, access= 0x7f6bfd5152df <memory_region_write_accessor>, mr=0x7f6bfdfde818) at /tmp/qemu/memory.c:478 #12 0x00007f6bfd518305 in memory_region_dispatch_write (mr=0x7f6bfdfde818, addr=18, data=0, size=1) at /tmp/qemu/memory.c:985 #13 0x00007f6bfd51bb1b in io_mem_write (mr=0x7f6bfdfde818, addr=18, val=0, size=1) at /tmp/qemu/memory.c:1744 #14 0x00007f6bfd4a0c67 in address_space_rw (as=0x7f6bfde3d6e0 <address_space_io>, addr=49170, buf=0x7f6bfd189000 "", len=1, is_write=true) at /tmp/qemu/exec.c:2034 #15 0x00007f6bfd511e06 in kvm_handle_io (port=49170, data=0x7f6bfd189000, direction= 1, size=1, count=1) at /tmp/qemu/kvm-all.c:1558 #16 0x00007f6bfd5123aa in kvm_cpu_exec (cpu=0x7f6bfdf54d50) at /tmp/qemu/kvm-all.c:1695 #17 0x00007f6bfd491db6 in qemu_kvm_cpu_thread_fn (arg=0x7f6bfdf54d50) at /tmp/qemu/cpus.c:873 #18 0x00007f6bfafff7f6 in start_thread () from /lib64/libpthread.so.0 #19 0x00007f6bfad5b09d in clone () from /lib64/libc.so.6 #20 0x0000000000000000 in ?? () the commandline is: LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /tmp/qemu/x86_ 64-softmmu/qemu-system-x86_64 -name cl_suse -S -machine pc-i440fx-1.5,accel=kvm,usb=o ff -m 10240 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 5a09315c-d31 4-49a5-aa51-2168a71bf82d -no-user-config -nodefaults -chardev socket,id=charmonitor,p ath=/var/lib/libvirt/qemu/cl_suse.monitor,server,nowait -mon chardev=charmonitor,id=m onitor,mode=control -rtc base=utc -no-hpet -no-shutdown -device piix3-usb-uhci,id=usb ,bus=pci.0,addr=0x1.0x2 -drive file=/mnt/sdb/cl/cl_sles11sp3.img,if=none,id=drive-vir tio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0, addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -chardev pty,id=charser ial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 - vnc 0.0.0.0:0 -device cirrus-vga,id=video0,vgamem_mb=9,bus=pci.0,addr=0x2 -device vir tio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6