Qemu-2.6.2

Start a vm with vhost-net , do reboot and hot-unplug viritio-net nic in short 
time, we touch 
pcibus_reset assertion failure.

Here is qemu log:
22:29:46.359386+08:00  acpi_pm1_cnt_write -> guest do soft power off
22:29:46.785310+08:00  qemu_devices_reset
22:29:46.788093+08:00  virtio_pci_device_unplugged -> virtio net unpluged
22:29:46.803427+08:00  pcibus_reset: Assertion `bus->irq_count[i] == 0' failed.

Here is stack info: 
(gdb) bt
#0  0x00007f9a336795d7 in raise () from /usr/lib64/libc.so.6
#1  0x00007f9a3367acc8 in abort () from /usr/lib64/libc.so.6
#2  0x00007f9a33672546 in __assert_fail_base () from /usr/lib64/libc.so.6
#3  0x00007f9a336725f2 in __assert_fail () from /usr/lib64/libc.so.6
#4  0x0000000000641884 in pcibus_reset (qbus=0x29eee60) at hw/pci/pci.c:283
#5  0x00000000005bfc30 in qbus_reset_one (bus=0x29eee60, opaque=<optimized 
out>) at hw/core/qdev.c:319
#6  0x00000000005c1b19 in qdev_walk_children (dev=0x29ed2b0, pre_devfn=0x0, 
pre_busfn=0x0, post_devfn=0x5c2440 ...
#7  0x00000000005c1c59 in qbus_walk_children (bus=0x2736f80, pre_devfn=0x0, 
pre_busfn=0x0, post_devfn=0x5c2440 ...
#8  0x00000000005513f5 in qemu_devices_reset () at vl.c:1998
#9  0x00000000004cab9d in pc_machine_reset () at 
/home/abuild/rpmbuild/BUILD/qemu-kvm-2.6.0/hw/i386/pc.c:1976
#10 0x000000000055148b in qemu_system_reset (report=report@entry=true) at 
vl.c:2011
#11 0x000000000055164f in main_loop_should_exit () at vl.c:2169
#12 0x0000000000551719 in main_loop () at vl.c:2212
#13 0x000000000041c9a8 in main (argc=<optimized out>, argv=<optimized out>, 
envp=<optimized out>) at vl.c:5130
(gdb) f 4
...
(gdb) p bus->irq_count[0]
$6 = 1

Seems pci_update_irq_disabled doesn't work well

can anyone help?

Reply via email to