blob: ddd5e5b10dbd4a4f1175def3bbd5a4eb62aabc42 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
instruction: 0.905
other: 0.898
device: 0.889
boot: 0.889
network: 0.861
KVM: 0.827
semantic: 0.825
socket: 0.745
graphic: 0.735
vnc: 0.588
assembly: 0.571
mistranslation: 0.462
[Qemu-devel] [BUG]pcibus_reset assertion failure on guest reboot
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 (address@hidden) 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?
|