Bug 994372 - rhel6.5 guest crash when boot with multi virtconsole for one virtio-serial-pci
rhel6.5 guest crash when boot with multi virtconsole for one virtio-serial-pci
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.0
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Amit Shah
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-07 02:57 EDT by ShupingCui
Modified: 2016-05-16 00:06 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-01-07 03:35:34 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
qtree info (8.13 KB, text/plain)
2013-08-07 03:01 EDT, ShupingCui
no flags Details
serial console log (30.72 KB, text/x-log)
2013-08-07 03:02 EDT, ShupingCui
no flags Details

  None (edit)
Description ShupingCui 2013-08-07 02:57:23 EDT
Description of problem:
rhel6.5 guest crash when boot with 4 virtconsole for one virtio-serial-pci,


Version-Release number of selected component (if applicable):
Host:
kernel-3.9.0-0.55.el7.x86_64
qemu-kvm-1.5.2-1.el7.x86_64
Guest:
kernel-2.6.32-407.el6.x86_64

How reproducible:
80%

Steps to Reproduce:
1. boot rhel6.5 guest with 4 virtconsole for one virtio-serial-pci
/root/staf-kvm-devel/autotest-devel/client/tests/virt/qemu/qemu \
    -name 'virt-tests-vm1' \
    -nodefaults \
    -device virtio-serial-pci,id=virtio_serial_pci0,addr=0x4 \
    -chardev socket,id=devvc1,path=/tmp/virtio_port-vc1,server,nowait \
    -device virtconsole,chardev=devvc1,name=vc1,id=vc1 \
    -chardev socket,id=devvc2,path=/tmp/virtio_port-vc2,server,nowait \
    -device virtconsole,chardev=devvc2,name=vc2,id=vc2 \
    -chardev socket,id=devvc3,path=/tmp/virtio_port-vc3,server,nowait \
    -device virtconsole,chardev=devvc3,name=vc3,id=vc3 \
    -chardev socket,id=devvc4,path=/tmp/virtio_port-vc4,server,nowait \
    -device virtconsole,chardev=devvc4,name=vc4,id=vc4 \
    -drive file='/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/RHEL-Server-6.5-64-virtio.qcow2',index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,snapshot=off,format=qcow2,aio=native \
    -device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,bootindex=0 \
    -device virtio-net-pci,netdev=id7uqViS,mac='9a:8d:8e:8f:90:91',bus=pci.0,addr=0x3,id='idH3kuEv' \
    -netdev tap,id=id7uqViS,vhost=on \
    -m 2048 \
    -smp 2,maxcpus=2,cores=1,threads=1,sockets=2 \
    -cpu 'Opteron_G3' \
    -M pc \
    -vnc :0 \
    -vga cirrus \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off   \
    -no-kvm-pit-reinjection \
    -enable-kvm \
    -monitor stdio
2.
3.

Actual results:
guest crash

Expected results:
guest boot successful 

Additional info:
guest serial log:
2013-07-31 13:46:46: Couldn't register hvc console driver
2013-07-31 13:46:46: virtio-ports vport0p0: error -16 allocating hvc for port
2013-07-31 13:46:46: BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
2013-07-31 13:46:46: IP: [<ffffffff81056072>] task_rq_lock+0x42/0xa0
2013-07-31 13:46:46: PGD 11ccd2067 PUD 11ccb9067 PMD 0
2013-07-31 13:46:46: Oops: 0000 [#1] SMP
2013-07-31 13:46:46: last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/virtio1/virtio-ports/vport0p0/name
2013-07-31 13:46:46: CPU 0
2013-07-31 13:46:47: Modules linked in: virtio_console i2c_piix4 i2c_core ext4 jbd2 mbcache virtio_blk virtio_net pata_acpi ata_generic ata_piix virtio_pci virtio_ring virtio dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
2013-07-31 13:46:47: 
2013-07-31 13:46:47: Pid: 666, comm: console_check Not tainted 2.6.32-403.el6.x86_64 #1 Bochs Bochs
2013-07-31 13:46:47: RIP: 0010:[<ffffffff81056072>]  [<ffffffff81056072>] task_rq_lock+0x42/0xa0
2013-07-31 13:46:47: RSP: 0018:ffff88011ccc5b78  EFLAGS: 00010086
2013-07-31 13:46:47: RAX: 0000000000000286 RBX: 0000000000016840 RCX: 0000000000000002
2013-07-31 13:46:47: RDX: 0000000000000286 RSI: ffff88011ccc5bd0 RDI: 0000000000000000
2013-07-31 13:46:47: RBP: ffff88011ccc5b98 R08: ffff880119d97208 R09: 0000000000000000
2013-07-31 13:46:47: R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
2013-07-31 13:46:47: R13: ffff88011ccc5bd0 R14: 0000000000000000 R15: 000000000000000f
2013-07-31 13:46:47: FS:  00007f539cdf7700(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
2013-07-31 13:46:47: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
2013-07-31 13:46:47: CR2: 0000000000000008 CR3: 000000011cccf000 CR4: 00000000000006f0
2013-07-31 13:46:47: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
2013-07-31 13:46:47: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
2013-07-31 13:46:47: Process console_check (pid: 666, threadinfo ffff88011ccc4000, task ffff880118cfd500)
2013-07-31 13:46:47: Stack:
2013-07-31 13:46:47:  0000000000000000 ffff880119d97000 0000000000000000 0000000000000000
2013-07-31 13:46:47: <d> ffff88011ccc5c08 ffffffff8106338c ffff880119220c00 0000000000008800
2013-07-31 13:46:47: <d> ffff88011ccc5bc8 ffffffff813334e1 ffff88011ccc5c08 0000000000000286
2013-07-31 13:46:47: Call Trace:
2013-07-31 13:46:47:  [<ffffffff8106338c>] try_to_wake_up+0x3c/0x3e0
2013-07-31 13:46:47:  [<ffffffff813334e1>] ? tty_ldisc_enable+0x31/0x40
2013-07-31 13:46:47:  [<ffffffff81063785>] wake_up_process+0x15/0x20
2013-07-31 13:46:47:  [<ffffffff81344f9f>] hvc_kick+0x1f/0x30
2013-07-31 13:46:47:  [<ffffffff8134508a>] hvc_open+0xca/0x120
2013-07-31 13:46:47:  [<ffffffff8132debf>] tty_open+0x20f/0x510
2013-07-31 13:46:47:  [<ffffffff81187a15>] chrdev_open+0x125/0x230
2013-07-31 13:46:47:  [<ffffffff811878f0>] ? chrdev_open+0x0/0x230
2013-07-31 13:46:47:  [<ffffffff811808ba>] __dentry_open+0x10a/0x360
2013-07-31 13:46:47:  [<ffffffff81229c72>] ? selinux_inode_permission+0x72/0xb0
2013-07-31 13:46:47:  [<ffffffff8122187f>] ? security_inode_permission+0x1f/0x30
2013-07-31 13:46:47:  [<ffffffff81180c24>] nameidata_to_filp+0x54/0x70
2013-07-31 13:46:47:  [<ffffffff81195f78>] do_filp_open+0x6c8/0xd20
2013-07-31 13:46:47:  [<ffffffff811a2622>] ? alloc_fd+0x92/0x160
2013-07-31 13:46:47:  [<ffffffff81180669>] do_sys_open+0x69/0x140
2013-07-31 13:46:47:  [<ffffffff81180780>] sys_open+0x20/0x30
2013-07-31 13:46:47:  [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
2013-07-31 13:46:47: Code: 89 74 24 18 0f 1f 44 00 00 48 c7 c3 40 68 01 00 49 89 fc 49 89 f5 9c 58 66 66 90 66 90 48 89 c2 fa 66 66 90 66 66 90 49 89 55 00 <49> 8b 44 24 08 49 89 de 8b 40 18 4c 03 34 c5 c0 f3 bf 81 4c 89
2013-07-31 13:46:47: RIP  [<ffffffff81056072>] task_rq_lock+0x42/0xa0
2013-07-31 13:46:47:  RSP <ffff88011ccc5b78>
2013-07-31 13:46:47: CR2: 0000000000000008
2013-07-31 13:46:47: ---[ end trace d1ad6ba3532bca86 ]---
2013-07-31 13:46:47: Kernel panic - not syncing: Fatal exception
2013-07-31 13:46:47: Pid: 666, comm: console_check Tainted: G      D    ---------------    2.6.32-403.el6.x86_64 #1
2013-07-31 13:46:47: Call Trace:
2013-07-31 13:46:47:  [<ffffffff8151b4f7>] ? panic+0xa7/0x16f
2013-07-31 13:46:47:  [<ffffffff8151f724>] ? oops_end+0xe4/0x100
2013-07-31 13:46:47:  [<ffffffff81046dfb>] ? no_context+0xfb/0x260
2013-07-31 13:46:47:  [<ffffffff81047085>] ? __bad_area_nosemaphore+0x125/0x1e0
2013-07-31 13:46:47:  [<ffffffff810471ae>] ? bad_area+0x4e/0x60
2013-07-31 13:46:47:  [<ffffffff8104795f>] ? __do_page_fault+0x3cf/0x480
2013-07-31 13:46:47:  [<ffffffff8113cd89>] ? zone_statistics+0x99/0xc0
2013-07-31 13:46:47:  [<ffffffff8152164e>] ? do_page_fault+0x3e/0xa0
2013-07-31 13:46:47:  [<ffffffff8151ea05>] ? page_fault+0x25/0x30
2013-07-31 13:46:47:  [<ffffffff81056072>] ? task_rq_lock+0x42/0xa0
2013-07-31 13:46:47:  [<ffffffff8106338c>] ? try_to_wake_up+0x3c/0x3e0
2013-07-31 13:46:47:  [<ffffffff813334e1>] ? tty_ldisc_enable+0x31/0x40
2013-07-31 13:46:47:  [<ffffffff81063785>] ? wake_up_process+0x15/0x20
2013-07-31 13:46:47:  [<ffffffff81344f9f>] ? hvc_kick+0x1f/0x30
2013-07-31 13:46:47:  [<ffffffff8134508a>] ? hvc_open+0xca/0x120
2013-07-31 13:46:47:  [<ffffffff8132debf>] ? tty_open+0x20f/0x510
2013-07-31 13:46:47:  [<ffffffff81187a15>] ? chrdev_open+0x125/0x230
2013-07-31 13:46:47:  [<ffffffff811878f0>] ? chrdev_open+0x0/0x230
2013-07-31 13:46:47:  [<ffffffff811808ba>] ? __dentry_open+0x10a/0x360
2013-07-31 13:46:47:  [<ffffffff81229c72>] ? selinux_inode_permission+0x72/0xb0
2013-07-31 13:46:47:  [<ffffffff8122187f>] ? security_inode_permission+0x1f/0x30
2013-07-31 13:46:47:  [<ffffffff81180c24>] ? nameidata_to_filp+0x54/0x70
2013-07-31 13:46:47:  [<ffffffff81195f78>] ? do_filp_open+0x6c8/0xd20
2013-07-31 13:46:47:  [<ffffffff811a2622>] ? alloc_fd+0x92/0x160
2013-07-31 13:46:47:  [<ffffffff81180669>] ? do_sys_open+0x69/0x140
2013-07-31 13:46:47:  [<ffffffff81180780>] ? sys_open+0x20/0x30
2013-07-31 13:46:47:  [<ffffffff8100b072>] ? system_call_fastpath+0x16/0x1b
2013-07-31 13:50:31: (Process terminated with status 0)


i tested following scenarios:
1. boot with 2 or 3 virtconsole for one virtio-serial-pci, works fine and guest boot successful
2. boot with 4 virtio-serial-pci devices, with one virtconsole on each, works fine as well
Comment 1 ShupingCui 2013-08-07 03:01:06 EDT
Created attachment 783691 [details]
qtree info

pls check qtree info
Comment 2 ShupingCui 2013-08-07 03:02:51 EDT
Created attachment 783696 [details]
serial console log
Comment 10 Amit Shah 2014-01-07 03:35:34 EST
Since we updated the test plan to have max 2 virtio consoles per guest, I'll close this as WONTFIX.

Thanks.

Note You need to log in before you can comment on or make changes to this bug.