Bug 845485

Summary: remove virtio_pci module in rhel5.9 64bit guest will Call Trace
Product: Red Hat Enterprise Linux 5 Reporter: Sibiao Luo <sluo>
Component: kvmAssignee: Michael S. Tsirkin <mst>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.9CC: chayang, juzhang, michen, mkenneth, rhod, shu, virt-maint, wdai, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-28 18:54:22 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 Sibiao Luo 2012-08-03 08:27:45 UTC
Description of problem:
Boot a rhel5.9 64bit guest, and try to remove virtio_pci module in guest, the kernel will prompt some error is ok, but then Call Trace occur.

Version-Release number of selected component (if applicable):
host info:
# uname -r && rpm -q kvm
2.6.18-333.el5
kvm-83-258.el5
guest info:
# uname -r
2.6.18-333.el5

How reproducible:
100%

Steps to Reproduce:
1.boot a rhel5.9 64bit guest.
eg:# /usr/libexec/qemu-kvm -m 2G -smp 2,cores=2,threads=1,sockets=1 -M rhel5.6.0 -cpu qemu64,+sse2 -name virtio_nic_test -drive file=/home/RHEL-Server-5.9-64-virtio-sluo.qcow2,format=qcow2,media=disk,if=virtio,cache=none,werror=stop,boot=on -uuid `uuidgen` -balloon virtio -serial unix:/tmp/ttyS0,server,nowait -spice port=5931,disable-ticketing -qxl 1 -usbdevice tablet -soundhw ac97 -no-hpet -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -boot c -net nic,vlan=0,model=virtio,macaddr=08:2E:5F:0A:0D:0A -net tap,sndbuf=0,vlan=0,script=/etc/qemu-ifup,downscript=no
2.check the virtio_pci module.
# lsmod | grep virtio
virtio_net             48705  0 
virtio_balloon         41025  0 
virtio_blk             42441  3 
virtio_pci             43593  0 
virtio_ring            37953  1 virtio_pci
virtio                 39365  4 virtio_net,virtio_balloon,virtio_blk,virtio_pci
3.remove virtio_pci module.
# rmmod virtio_pci / # modprobe -r virtio_pci

Actual results:
after the step 3, kernel will prompt some error is OK, but then guest Call Trace occur.
# nc -U /tmp/ttyS0
Buffer I/O error on device dm-0, logical block 196610
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196611
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196736
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196739
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196740
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196741
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196747
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196752
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196779
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 196780
lost page write due to I/O error on dm-0
printk: 48 messages suppressed.
Buffer I/O error on device dm-0, logical block 2439205
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 2439206
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 2439207
lost page write due to I/O error on dm-0
EXT3-fs error (device dm-0): read_block_bitmap: Cannot read block bitmap - block_group = 121, block_bitmap = 3964928
Aborting journal on device dm-0.
Buffer I/O error on device dm-0, logical block 2053
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 0
lost page write due to I/O error on dm-0
ext3_abort called.
EXT3-fs error (device dm-0): ext3_journal_start_sb: Detected aborted journal
Remounting filesystem read-only
EXT3-fs error (device dm-0) in ext3_write_begin: IO failure
INFO: task syslogd:2102 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syslogd       D ffff810002536420     0  2102      1          2105  2079 (NOTLB)
 ffff810074201d98 0000000000000082 0000000174201d18 0000000000000001
 0000000000000000 000000000000000a ffff810037f46080 ffffffff8031ab60
 00000233b3ddcf0e 0000000000015f0e ffff810037f46268 0000000000000092
Call Trace:
 [<ffffffff88036e61>] :jbd:log_wait_commit+0xa3/0xf5
 [<ffffffff800a36ea>] autoremove_wake_function+0x0/0x2e
 [<ffffffff880317a1>] :jbd:journal_stop+0x1d3/0x203
 [<ffffffff8002ff03>] __writeback_single_inode+0x1dd/0x31c
 [<ffffffff800e4420>] do_readv_writev+0x26e/0x291
 [<ffffffff800f79e3>] sync_inode+0x24/0x33
 [<ffffffff8804c52e>] :ext3:ext3_sync_file+0xce/0xf8
 [<ffffffff80050433>] do_fsync+0x52/0xa4
 [<ffffffff800e4d3b>] __do_fsync+0x23/0x36
 [<ffffffff8005d29e>] tracesys+0xd5/0xdf

INFO: task kjournald:410 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kjournald     D ffff810002536420     0   410     27           431   395 (L-TLB)
 ffff81007d7e7cf0 0000000000000046 ffff810060ef8b40 ffff81005e20e7d8
 ffff81007f2ae058 000000000000000a ffff81007fb2f860 ffffffff8031ab60
 00000234dd17fe2b 00000000000010b8 ffff81007fb2fa48 000000008006e69f
Call Trace:
 [<ffffffff8006ed13>] do_gettimeofday+0x40/0x90
 [<ffffffff800155aa>] sync_buffer+0x0/0x3f
 [<ffffffff800637de>] io_schedule+0x3f/0x67
 [<ffffffff800155e5>] sync_buffer+0x3b/0x3f
 [<ffffffff80063a0a>] __wait_on_bit+0x40/0x6e
 [<ffffffff800155aa>] sync_buffer+0x0/0x3f
 [<ffffffff80063aa4>] out_of_line_wait_on_bit+0x6c/0x78
 [<ffffffff800a3718>] wake_bit_function+0x0/0x23
 [<ffffffff88033a53>] :jbd:journal_commit_transaction+0x559/0x10c2
 [<ffffffff8003dd7e>] lock_timer_base+0x1b/0x3c
 [<ffffffff8004b352>] try_to_del_timer_sync+0x7f/0x88
 [<ffffffff880376af>] :jbd:kjournald+0xc1/0x213
 [<ffffffff800a36ea>] autoremove_wake_function+0x0/0x2e
 [<ffffffff800a34d2>] keventd_create_kthread+0x0/0xc4
 [<ffffffff880375ee>] :jbd:kjournald+0x0/0x213
 [<ffffffff800a34d2>] keventd_create_kthread+0x0/0xc4
 [<ffffffff80032be5>] kthread+0xfe/0x132
 [<ffffffff8005dfc1>] child_rip+0xa/0x11
 [<ffffffff800a34d2>] keventd_create_kthread+0x0/0xc4
 [<ffffffff80032ae7>] kthread+0x0/0x132
 [<ffffffff8005dfb7>] child_rip+0x0/0x11

INFO: task syslogd:2102 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syslogd       D ffff810002536420     0  2102      1          2105  2079 (NOTLB)
 ffff810074201d98 0000000000000082 0000000174201d18 0000000000000001
 0000000000000000 000000000000000a ffff810037f46080 ffffffff8031ab60
 00000233b3ddcf0e 0000000000015f0e ffff810037f46268 0000000000000092
...

Expected results:
guest should not call trace or give some prompt that do not allow remove the virtio_pci module when in use.

Additional info:

Comment 1 RHEL Program Management 2012-08-03 08:48:33 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release.  Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products.  This request is not yet committed for inclusion in
a release.

Comment 2 Ronen Hod 2012-08-11 16:15:40 UTC
Sibiao,

Is the a regression? If not then we will not fix it for 5.9 for sure.

Thanks, Ronen.

Comment 3 Sibiao Luo 2012-08-13 06:40:01 UTC
(In reply to comment #2)
> 
> Is the a regression? If not then we will not fix it for 5.9 for sure.
> 
Hi Ronen,

(1)--------disable msi test on kernel-2.6.18-333.el5 guest--------
I have reproduced the Comment #0 on guest kernel-2.6.18-333.el5 with appending 'pci=nomsi' in guest kernel line with the same steps as Comment #0, the virtio_pci was removed successfully, but kernel will prompt some error, and then Call Trace occur, and the results detail are the same as Comment #0.

(2)--------test on kernel-2.6.18-308.el5 guest(by download guest kernel)--------
Tried the rhel5.8GA(just download the guest kernel to 308 version) with the same steps(without appending 'pci=nomsi'), the virtio_pci was removed successfully, but kernel will prompt some error, and then Call Trace occur, and the results detail are the same as Comment #0.

(3)--------enable msi test on kernel-2.6.18-333.el5 guest--------
I also tried with the same image and same steps as Comment #0 without appending 'pci=nomsi' in guest kernel line(just enable the msi by default), the guest hang when run 'rmmod virtio_pci / modprobe -r virtio_pci', the guest will call trace and kernel panic at the same time, the kernel without prompt any 'Buffer I/O error', the detail result as following:
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at drivers/block/virtio_blk.c:405
invalid opcode: 0000 [1] SMP 
last sysfs file: /devices/pci0000:00/0000:00:00.0/resource
CPU 0 
Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables ipt_REJECT xt_tcpudp x_tables bridge autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc be2iscsi ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp bnx2i cnic ipv6 xfrm_nalgo crypto_api uio cxgb3i libcxgbi cxgb3 8021q libiscsi_tcp libiscsi2 scsi_transport_iscsi2 scsi_transport_iscsi dm_multipath scsi_dh video backlight sbs power_meter hwmon i2c_ec dell_wmi wmi button battery asus_acpi acpi_memhotplug ac lp floppy ksm(U) kvm(U) joydev snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm i2c_piix4 snd_timer tpm_tis i2c_core ide_cd snd cdrom virtio_net tpm soundcore tpm_bios parport_pc virtio_balloon snd_page_alloc parport serio_raw pcspkr dm_raid45 dm_message dm_region_hash dm_mem_cache dm_snapshot dm_zero dm_mirror dm_log dm_mod ata_piix libata sd_mod scsi_mod virtio_blk virtio_pci virtio_ring virtio ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 3289, comm: modprobe Tainted: G     ---- 2.6.18-333.el5 #1
RIP: 0010:[<ffffffff880970de>]  [<ffffffff880970de>] :virtio_blk:virtblk_remove+0x1a/0x70
RSP: 0018:ffff810063449d48  EFLAGS: 00010287
RAX: ffff81007f27e020 RBX: ffff81007f27e000 RCX: 0000000000000000
RDX: ffff81007f1bfc08 RSI: 0000000000000296 RDI: ffff81007f1bfc00
RBP: ffff81007f1bfc00 R08: ffffffff8028ecfe R09: ffff81007f0c04b0
R10: ffff81007f10a298 R11: ffffffff801ceeed R12: ffffffff88099160
R13: ffff81007f207400 R14: 00007fff7da18700 R15: 0000000000000000
FS:  00002afd4e5ff6e0(0000) GS:ffffffff80432000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000303e718b60 CR3: 000000005e6f8000 CR4: 00000000000006e0
Process modprobe (pid: 3289, threadinfo ffff810063448000, task ffff81005ec577a0)
Stack:  0000000000000296 ffff81007f1bfc00 ffff81007f1bfc08 ffffffff88075153
 ffff81007f1bfcf8 ffffffff801cfa6c ffff81007f1bfda8 ffff81007f1bfc08
 ffff81007f1bfc08 ffffffff801cfd75 ffff810037f48000 0000000000000004
Call Trace:
 [<ffffffff88075153>] :virtio:virtio_dev_remove+0x15/0x43
 [<ffffffff801cfa6c>] __device_release_driver+0x9f/0xe9
 [<ffffffff801cfd75>] device_release_driver+0x2c/0x4e
 [<ffffffff801cf231>] bus_remove_device+0xa4/0xb9
 [<ffffffff801cdf1f>] device_del+0x129/0x1a9
 [<ffffffff801cdfbc>] device_unregister+0x9/0x12
 [<ffffffff8808b25b>] :virtio_pci:virtio_pci_remove+0x19/0x51
 [<ffffffff8016540a>] pci_device_remove+0x24/0x3a
 [<ffffffff801cfa6c>] __device_release_driver+0x9f/0xe9
 [<ffffffff801cfe44>] driver_detach+0xad/0x101
 [<ffffffff801cf01e>] bus_remove_driver+0x6f/0x92
 [<ffffffff801cfecb>] driver_unregister+0xd/0x16
 [<ffffffff801656d3>] pci_unregister_driver+0x2a/0x79
 [<ffffffff8808bc4c>] :virtio_pci:virtio_pci_exit+0x10/0x1d
 [<ffffffff800a987f>] sys_delete_module+0x19f/0x1d4
 [<ffffffff8005d29e>] tracesys+0xd5/0xdf


Code: 0f 0b 68 53 79 09 88 c2 95 01 eb fe 48 8b 87 78 02 00 00 ff 
RIP  [<ffffffff880970de>] :virtio_blk:virtblk_remove+0x1a/0x70
 RSP <ffff810063449d48>
 <0>Kernel panic - not syncing: Fatal exception


Thanks.
sluo

Comment 4 Ronen Hod 2012-08-13 10:06:39 UTC
Thanks,
Since it does not look like a regression, it is too late for 5.9. Postponed to 5.10.
Slue, Just to be on the safe side, is it fixed in RHEL6?
Ronen.

Comment 5 Sibiao Luo 2012-08-14 06:29:49 UTC
(In reply to comment #4)
> Since it does not look like a regression, it is too late for 5.9. Postponed
> to 5.10.
> Slue, Just to be on the safe side, is it fixed in RHEL6?
>
Hi Ronen,

   I have tried the rhel6.3.z(kernel-2.6.32-279.7.1.el6.x86_64) guest on the rhel5.9 host, after run 'modprobe -r virtio_pci', the virtio_pci was removed successfully, and kernel only prompt some 'Buffer I/O error' and 'EXT4-fs error', the detail results as following, no Kernel panic and no Call Trace.
# nc -U /tmp/ttyS0
virtio-pci 0000:00:07.0: PCI INT A disabled
virtio-pci 0000:00:06.0: PCI INT A disabled
virtio-pci 0000:00:04.0: PCI INT A disabled
Buffer I/O error on device dm-0, logical block 33587
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 653879
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 12275
lost page write due to I/O error on dm-0
JBD2: Detected IO errors while flushing file data on dm-0-8
Aborting journal on device dm-0-8.
Buffer I/O error on device dm-0, logical block 1081344
lost page write due to I/O error on dm-0
EXT4-fs error (device dm-0): ext4_journal_start_sb: Detected aborted journal
EXT4-fs (dm-0): Remounting filesystem read-only
JBD2: I/O error detected when updating journal superblock for dm-0-8.
EXT4-fs error (device dm-0): ext4_find_entry: reading directory #131493 offset 0
Buffer I/O error on device dm-0, logical block 525013
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 525014
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1572865
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1572898
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1572903
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1573006
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1573294
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1573295
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1581150
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1582205
lost page write due to I/O error on dm-0

Best wish.
sluo

Comment 7 Michael S. Tsirkin 2012-08-16 13:42:25 UTC
To Comment 5, could you also try rhel5 guest on rhel6 host please?

Comment 8 Sibiao Luo 2012-08-17 01:26:54 UTC
(In reply to comment #7)
> To Comment 5, could you also try rhel5 guest on rhel6 host please?

No problem, i will try it today and update the results here.

Comment 9 Sibiao Luo 2012-08-17 04:03:28 UTC
(In reply to comment #7)
> To Comment 5, could you also try rhel5 guest on rhel6 host please?

Hi mst,

   I has tried the rhel5 guest(kernel-2.6.18-336.el5) on rhel6 host(kernel-2.6.32-294.el6.x86_64), the result as the Comment #3 (3) ,the guest hang when run 'rmmod virtio_pci / modprobe -r virtio_pci', the guest will call trace and kernel panic at the same time, the kernel without prompt any 'Buffer I/O error'.
# nc -U /tmp/ttyS0
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at drivers/block/virtio_blk.c:405
invalid opcode: 0000 [1] SMP 
last sysfs file: /devices/pci0000:00/0000:00:00.0/resource
CPU 0 
Modules linked in: acpiphp ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat ip_nat xt_state ip_conntrack nfnetlink ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc be2iscsi ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp bnx2i cnic ipv6 xfrm_nalgo crypto_api uio cxgb3i libcxgbi cxgb3 8021q libiscsi_tcp libiscsi2 scsi_transport_iscsi2 scsi_transport_iscsi dm_multipath scsi_dh video backlight sbs power_meter hwmon i2c_ec dell_wmi wmi button battery asus_acpi acpi_memhotplug ac lp ksm(U) kvm(U) joydev tpm_tis tpm virtio_net i2c_piix4 i2c_core serio_raw pcspkr tpm_bios floppy ide_cd cdrom parport_pc parport dm_raid45 dm_message dm_region_hash dm_mem_cache dm_snapshot dm_zero dm_mirror dm_log dm_mod ata_piix libata sd_mod scsi_mod virtio_blk virtio_pci virtio_ring virtio ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 3221, comm: modprobe Tainted: G     ---- 2.6.18-333.el5 #1
RIP: 0010:[<ffffffff880970de>]  [<ffffffff880970de>] :virtio_blk:virtblk_remove+0x1a/0x70
RSP: 0018:ffff81005e46dd48  EFLAGS: 00010283
RAX: ffff81007f1e8020 RBX: ffff81007f1e8000 RCX: 0000000000000000
RDX: ffff81007f187008 RSI: 0000000000000296 RDI: ffff81007f187000
RBP: ffff81007f187000 R08: ffffffff8028ecfe R09: ffff81007fdccd20
R10: ffff81007f03d660 R11: ffffffff801ceeed R12: ffffffff88099160
R13: ffff81007f187400 R14: 00007fffdf60c090 R15: 0000000000000000
FS:  00002af3157466e0(0000) GS:ffffffff80432000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002b72cf8c2498 CR3: 000000005d86c000 CR4: 00000000000006e0
Process modprobe (pid: 3221, threadinfo ffff81005e46c000, task ffff81006196f7a0)
Stack:  0000000000000296 ffff81007f187000 ffff81007f187008 ffffffff88075153
 ffff81007f1870f8 ffffffff801cfa6c ffff81007f1871a8 ffff81007f187008
 ffff81007f187008 ffffffff801cfd75 ffff81007ff91800 0000000000000004
Call Trace:
 [<ffffffff88075153>] :virtio:virtio_dev_remove+0x15/0x43
 [<ffffffff801cfa6c>] __device_release_driver+0x9f/0xe9
 [<ffffffff801cfd75>] device_release_driver+0x2c/0x4e
 [<ffffffff801cf231>] bus_remove_device+0xa4/0xb9
 [<ffffffff801cdf1f>] device_del+0x129/0x1a9
 [<ffffffff801cdfbc>] device_unregister+0x9/0x12
 [<ffffffff8808b25b>] :virtio_pci:virtio_pci_remove+0x19/0x51
 [<ffffffff8016540a>] pci_device_remove+0x24/0x3a
 [<ffffffff801cfa6c>] __device_release_driver+0x9f/0xe9
 [<ffffffff801cfe44>] driver_detach+0xad/0x101
 [<ffffffff801cf01e>] bus_remove_driver+0x6f/0x92
 [<ffffffff801cfecb>] driver_unregister+0xd/0x16
 [<ffffffff801656d3>] pci_unregister_driver+0x2a/0x79
 [<ffffffff8808bc4c>] :virtio_pci:virtio_pci_exit+0x10/0x1d
 [<ffffffff800a987f>] sys_delete_module+0x19f/0x1d4
 [<ffffffff8005d29e>] tracesys+0xd5/0xdf


Code: 0f 0b 68 53 79 09 88 c2 95 01 eb fe 48 8b 87 78 02 00 00 ff 
RIP  [<ffffffff880970de>] :virtio_blk:virtblk_remove+0x1a/0x70
 RSP <ffff81005e46dd48>
 <0>Kernel panic - not syncing: Fatal exception

Best wish.
sluo

Comment 10 Sibiao Luo 2012-08-17 05:23:58 UTC
(In reply to comment #9)
> (In reply to comment #7)
> > To Comment 5, could you also try rhel5 guest on rhel6 host please?
> 
> Hi mst,
> 
>    I has tried the rhel5 guest(kernel-2.6.18-336.el5) on rhel6
> host(kernel-2.6.32-294.el6.x86_64), the result as the Comment #3 (3) ,the
> guest hang when run 'rmmod virtio_pci / modprobe -r virtio_pci', the guest
> will call trace and kernel panic at the same time, the kernel without prompt
> any 'Buffer I/O error'.
> # nc -U /tmp/ttyS0
> ----------- [cut here ] --------- [please bite here ] ---------
> 
this result is in the msi enable situation without appending 'pci=nomsi' in guest kernel line.

I also test it with the mis disable appending 'pci=nomsi' in guest kernel line, the results as the same as the same.
# nc -U /tmp/ttyS0
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at drivers/block/virtio_blk.c:405
invalid opcode: 0000 [1] SMP 
last sysfs file: /devices/pci0000:00/0000:00:00.0/irq
CPU 1 
Modules linked in: acpiphp ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat ip_nat xt_state ip_conntrack nfnetlink ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc be2iscsi ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp bnx2i cnic ipv6 xfrm_nalgo crypto_api uio cxgb3i libcxgbi cxgb3 8021q libiscsi_tcp libiscsi2 scsi_transport_iscsi2 scsi_transport_iscsi dm_multipath scsi_dh video backlight sbs power_meter hwmon i2c_ec dell_wmi wmi button battery asus_acpi acpi_memhotplug ac lp ksm(U) kvm(U) joydev i2c_piix4 i2c_core virtio_net parport_pc ide_cd parport tpm_tis tpm tpm_bios serio_raw cdrom floppy pcspkr dm_raid45 dm_message dm_region_hash dm_mem_cache dm_snapshot dm_zero dm_mirror dm_log dm_mod ata_piix libata sd_mod scsi_mod virtio_blk virtio_pci virtio_ring virtio ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 3253, comm: modprobe Tainted: G     ---- 2.6.18-333.el5 #1
RIP: 0010:[<ffffffff880970de>]  [<ffffffff880970de>] :virtio_blk:virtblk_remove+0x1a/0x70
RSP: 0018:ffff81005eb1bd48  EFLAGS: 00010202
RAX: ffff81007f218020 RBX: ffff81007f218000 RCX: 0000000000000000
RDX: ffff81007f000008 RSI: 0000000000000296 RDI: ffff81007f000000
RBP: ffff81007f000000 R08: ffffffff8028ecfe R09: ffff81007fdc49c0
R10: ffff81007f1386b8 R11: ffffffff801ceeed R12: ffffffff88099160
R13: ffff81007f000c00 R14: 00007fff17fe3d90 R15: 0000000000000000
FS:  00002b13a7a736e0(0000) GS:ffff81007ffbe840(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002b46ac0a2980 CR3: 000000005d9e0000 CR4: 00000000000006e0
Process modprobe (pid: 3253, threadinfo ffff81005eb1a000, task ffff81007e97b0c0)
Stack:  0000000000000296 ffff81007f000000 ffff81007f000008 ffffffff88075153
 ffff81007f0000f8 ffffffff801cfa6c ffff81007f0001a8 ffff81007f000008
 ffff81007f000008 ffffffff801cfd75 ffff81007ff91800 0000000000000004
Call Trace:
 [<ffffffff88075153>] :virtio:virtio_dev_remove+0x15/0x43
 [<ffffffff801cfa6c>] __device_release_driver+0x9f/0xe9
 [<ffffffff801cfd75>] device_release_driver+0x2c/0x4e
 [<ffffffff801cf231>] bus_remove_device+0xa4/0xb9
 [<ffffffff801cdf1f>] device_del+0x129/0x1a9
 [<ffffffff801cdfbc>] device_unregister+0x9/0x12
 [<ffffffff8808b25b>] :virtio_pci:virtio_pci_remove+0x19/0x51
 [<ffffffff8016540a>] pci_device_remove+0x24/0x3a
 [<ffffffff801cfa6c>] __device_release_driver+0x9f/0xe9
 [<ffffffff801cfe44>] driver_detach+0xad/0x101
 [<ffffffff801cf01e>] bus_remove_driver+0x6f/0x92
 [<ffffffff801cfecb>] driver_unregister+0xd/0x16
 [<ffffffff801656d3>] pci_unregister_driver+0x2a/0x79
 [<ffffffff8808bc4c>] :virtio_pci:virtio_pci_exit+0x10/0x1d
 [<ffffffff800a987f>] sys_delete_module+0x19f/0x1d4
 [<ffffffff8005d29e>] tracesys+0xd5/0xdf


Code: 0f 0b 68 53 79 09 88 c2 95 01 eb fe 48 8b 87 78 02 00 00 ff 
RIP  [<ffffffff880970de>] :virtio_blk:virtblk_remove+0x1a/0x70
 RSP <ffff81005eb1bd48>
 <0>Kernel panic - not syncing: Fatal exception

Comment 12 Ronen Hod 2013-03-28 18:54:22 UTC
Closing.
This is not a regression, and apparently, in real life users do not remove the module virtio_pci.