Hot unplug is broken in qemu.git/master
(92259b7f434b382fc865d1f65f7d5adeed295749 aka 2.0-rc0).

It can be bisected but I won't be able to do that today.  Here are the
details if anyone has ideas:

$ x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cpu host -m 1024
-drive if=virtio,cache=none,file=test.img
(qemu) drive_add 0 if=none,id=drive0,file=test.qcow2,format=qcow2
(qemu) device_add virtio-blk-pci,drive=drive0,id=virtio-blk-pci0
(qemu) device_del virtio-blk-pci0
ERROR:qom/object.c:725:object_unref: assertion failed: (obj->ref > 0)

#5  0x00007fd4b0610959 in object_unref (obj=0x7fd4b27e29f8) at qom/object.c:725
#6  0x00007fd4b044280a in memory_region_del_subregion
(mr=0x7fd4b25402c0, subregion=0x7fd4b27e29f8) at
/home/stefanha/qemu/memory.c:1702
#7  0x00007fd4b05bfdcf in pci_unregister_io_regions
(pci_dev=0x7fd4b27e25e0) at hw/pci/pci.c:894
#8  pci_unregister_device (dev=<optimized out>) at hw/pci/pci.c:905
#9  0x00007fd4b0570a84 in device_unrealize (dev=0x7fd4b27e25e0,
errp=0x7fd49cbfd8b0) at hw/core/qdev.c:196
#10 0x00007fd4b0571f3a in device_set_realized (obj=<optimized out>,
value=<optimized out>, errp=0x0) at hw/core/qdev.c:885
#11 0x00007fd4b060fb8e in property_set_bool (obj=0x7fd4b27e25e0,
v=<optimized out>, opaque=0x7fd4b2610a70, name=<optimized out>,
errp=0x0)
    at qom/object.c:1473
#12 0x00007fd4b06123f7 in object_property_set_qobject
(obj=obj@entry=0x7fd4b27e25e0, value=value@entry=0x7fd490021140,
    name=name@entry=0x7fd4b06d70d0 "realized", errp=errp@entry=0x0) at
qom/qom-qobject.c:24
#13 0x00007fd4b0611010 in object_property_set_bool
(obj=obj@entry=0x7fd4b27e25e0, value=value@entry=false,
    name=name@entry=0x7fd4b06d70d0 "realized", errp=errp@entry=0x0) at
qom/object.c:888
#14 0x00007fd4b05707db in device_unparent (obj=0x7fd4b27e25e0) at
hw/core/qdev.c:1000
#15 0x00007fd4b0610c85 in object_unparent (obj=0x7fd4b27e25e0) at
qom/object.c:396
#16 0x00007fd4b0550776 in acpi_pcihp_eject_slot (s=<optimized out>,
bsel=<optimized out>, slots=<optimized out>) at hw/acpi/pcihp.c:139

Reply via email to