[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Oops when modprobing ivtv outside of dom0


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: David Muench <davemuench@xxxxxxxxx>
  • Date: Sun, 3 Jul 2005 15:54:14 -0400
  • Delivery-date: Sun, 03 Jul 2005 19:53:08 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=KciESHzdptfEc9THHJNTzzmv2QxisPr2i7Ud7mu3MQ8h4E6wl30EiE0/tz3puGlo9yWIgz3PJMwv49foVR2NBZ7+Yu0lSp0mswM7GxxWTYN09Ebf3VPkXA/7D1LHZpbtCErkohdLDQ3gPxQWUGbZ1J0UPYrEQMXQzWKQ2m+OqvU=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi all,

I'm trying to get the ivtv (ivtv.sf.net) drivers to load in a non-dom0
kernel. They run just great in domain 0. But when I mask the TV
capture cards (3 of them) from domain 0 and present them to a domU, I
can't get the driver to load properly. lspci shows the cards in the
domU:

0000:02:01.0 Multimedia video controller: Internext Compression Inc
iTVC15 MPEG-2 Encoder (rev 01)
0000:02:02.0 Multimedia video controller: Internext Compression Inc
iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
0000:02:03.0 Multimedia video controller: Internext Compression Inc
iTVC15 MPEG-2 Encoder (rev 01)

When I modprobe an unmodified ivtv 0.2.0-rc3k driver, I get this in dmesg:

Linux video capture interface: v1.00
ivtv: ==================== START INIT IVTV ====================
ivtv: version 0.2.0 (rc3j) loading
ivtv: Linux version: 2.6.11-xenU PENTIUM4 4KSTACKS gcc-3.3
ivtv: In case of problems please include the debug info
ivtv: between the START INIT IVTV and END INIT IVTV lines when
ivtv: mailing the ivtv-devel mailinglist.
ivtv: Autodetected WinTV PVR 250 card
ivtv: Found an iTVC15 based chip
PCI: Obtained IRQ 22 for device 0000:02:01.0
ivtv: Unreasonably low latency timer, setting to 64 (was 32)
Unable to handle kernel NULL pointer dereference at virtual address 00000024
 printing eip:
d08abe25
*pde = ma 00000000 pa 55555000
 [<d08ac037>] ivtv_probe+0x97/0xa00 [ivtv]
 [<c0255ab2>] pci_device_probe_static+0x52/0x70
 [<c0255b0c>] __pci_device_probe+0x3c/0x50
 [<c0255b4c>] pci_device_probe+0x2c/0x50
 [<c0274d0f>] driver_probe_device+0x2f/0x80
 [<c0274e5c>] driver_attach+0x5c/0xa0
 [<c02753ad>] bus_add_driver+0x9d/0xd0
 [<c02759cf>] driver_register+0x2f/0x40
 [<c0255dc4>] pci_register_driver+0x64/0x90
 [<d08ace7c>] module_start+0xcc/0x1f0 [ivtv]
 [<c01309f2>] sys_init_module+0x152/0x1e0
 [<c0109040>] syscall_call+0x7/0xb
Oops: 0000 [#1]
Modules linked in: ivtv i2c_algo_bit videodev ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0061:[<d08abe25>]    Not tainted VLI
EFLAGS: 00010246   (2.6.11-xenU)
EIP is at ivtv_setup_pci+0x1e5/0x360 [ivtv]
eax: 00000000   ebx: 00000000   ecx: 00000000   edx: 00000000
esi: c047c000   edi: d08d0d20   ebp: c047c000   esp: ce6cce84
ds: 007b   es: 007b   ss: 0069
Process modprobe (pid: 5089, threadinfo=ce6cc000 task=ce9a6590)
Stack: 00000000 00000000 00000040 0000ffff c0345360 d08c3478 011640f4 fffffff4
       d08d0d20 d08e4fb0 d08ac037 d08d0d20 c047c000 d08cf6c0 c0378db8 c0378db8
       00000000 d08cf820 ffffffed c047c000 00000000 c0255ab2 c047c000 d08cf6c0
Call Trace:
 [<d08ac037>] ivtv_probe+0x97/0xa00 [ivtv]
 [<c0255ab2>] pci_device_probe_static+0x52/0x70
 [<c0255b0c>] __pci_device_probe+0x3c/0x50
 [<c0255b4c>] pci_device_probe+0x2c/0x50
 [<c0274d0f>] driver_probe_device+0x2f/0x80
 [<c0274e5c>] driver_attach+0x5c/0xa0
 [<c02753ad>] bus_add_driver+0x9d/0xd0
 [<c02759cf>] driver_register+0x2f/0x40
 [<c0255dc4>] pci_register_driver+0x64/0x90
 [<d08ace7c>] module_start+0xcc/0x1f0 [ivtv]
 [<c01309f2>] sys_init_module+0x152/0x1e0
 [<c0109040>] syscall_call+0x7/0xb
Code: 8c d0 89 44 24 04 e8 4b d7 86 ef b8 01 00 00 00 89 87 ec 40 01
00 66 81 7b 26 89 31 75 c7 b8 02 00 00 00 89 87 ec 40 01 00 eb ba <a1>
24 00 00 00 eb 98 8d 74 26 00 8b 87 d8 00 00 00 89 44 24 0c

I built the module with "make ARCH=xen", just like I do in domain 0.

I found a solution to a similar problem here:
http://forums.gentoo.org/viewtopic-t-259241-highlight-ivtv.html and
that does let me load the driver successuflly. But once I try to
capture some video using cat (after setting the card inputs and such),
this happens:

neptune ~ # cat /dev/video1 > test.mpg
Assertion failure in journal_commit_transaction() at
fs/jbd/commit.c:142: "commit_transaction->t_state == T_RUNNING"
------------[ cut here ]------------
kernel BUG at :54505!
invalid operand: 0000 [#1]
Modules linked in: msp3400 saa7115 tuner tveeprom ivtv i2c_algo_bit
videodev ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0061:[<c019bcfa>]    Not tainted VLI
EFLAGS: 00010292   (2.6.11-xenU)
EIP is at journal_commit_transaction+0xe8a/0xf20
eax: 00000078   ebx: c0315600   ecx: c033a8ac   edx: fbffc000
esi: cd9bd280   edi: 1c025002   ebp: 00000000   esp: c132bde4
ds: 007b   es: 007b   ss: 0069
Process kjournald (pid: 108, threadinfo=c132b000 task=c130b020)
Stack: c0312620 c02fffbc c030f212 0000008e c0315600 c132b000 00000000 00000000
       00000000 00000000 00000000 cc6149bc cc614e3c 00000300 00000000 00000000
       00000000 00000000 01c000e1 00000004 c043b001 00000001 00000000 fffffff4
Call Trace:
 [<c016893a>] d_rehash+0x4a/0x60
 [<c010574d>] ctrl_if_send_message_noblock+0xad/0xe0
 [<c010773a>] __switch_to+0x2a/0x390
 [<c02f8cea>] schedule+0x2da/0x4d0
 [<c03bb580>] kernel_param_sysfs_setup+0x10/0xc0
 [<c01161ca>] __wake_up+0x3a/0x70
 [<c019de4d>] kjournald+0xcd/0x1f0
 [<c012ca20>] autoremove_wake_function+0x0/0x60
 [<c012ca20>] autoremove_wake_function+0x0/0x60
 [<c0108f22>] ret_from_fork+0x6/0x1c
 [<c019dd60>] commit_timeout+0x0/0x10
 [<c019dd80>] kjournald+0x0/0x1f0
 [<c01070c5>] kernel_thread_helper+0x5/0x10
Code: 31 c0 b9 8e 00 00 00 ba 12 f2 30 c0 89 4c 24 0c bb 00 56 31 c0
b8 bc ff 2f c0 89 5c 24 10 89 54 24 08 89 44 24 04 e8 56 d8 f7 ff <0f>
0b e9 d4 f1 ff ff c7 04 24 20 26 31 c0 b8 40 56 31 c0 bd bc
 <1>Unable to handle kernel paging request at virtual address b0eaae68
 printing eip:
c015d58c
*pde = ma 00000000 pa 55555000
 [<c02983f9>] sock_poll+0x29/0x40
 [<c0163753>] do_select+0x243/0x2c0
 [<c0163340>] __pollwait+0x0/0xd0
 [<c0163aeb>] sys_select+0x2db/0x4f0
 [<c0151578>] vfs_write+0xc8/0x130
 [<c0109040>] syscall_call+0x7/0xb
Oops: 0000 [#2]
Modules linked in: msp3400 saa7115 tuner tveeprom ivtv i2c_algo_bit
videodev ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0061:[<c015d58c>]    Not tainted VLI
EFLAGS: 00010246   (2.6.11-xenU)
EIP is at pipe_poll+0x3c/0xc0
eax: ce42eb7c   ebx: b0eaae60   ecx: 00000001   edx: 00000000
esi: cda9627c   edi: ceb3b380   ebp: 00000005   esp: cf187ed4
ds: 007b   es: 007b   ss: 0069
Process sshd (pid: 5035, threadinfo=cf187000 task=ceb2f590)
Stack: 00000008 00000003 c02983f9 ceb3b380 00000020 00000005 00000005 c0163753
       ceb3b380 00000000 00000000 00000000 00000128 00000000 00000000 00000008
       00000145 00000128 cf187000 cea3cb2c cea3cb28 cea3cb24 cea3cb34 cea3cb30
Call Trace:
 [<c02983f9>] sock_poll+0x29/0x40
 [<c0163753>] do_select+0x243/0x2c0
 [<c0163340>] __pollwait+0x0/0xd0
 [<c0163aeb>] sys_select+0x2db/0x4f0
 [<c0151578>] vfs_write+0xc8/0x130
 [<c0109040>] syscall_call+0x7/0xb
Code: 89 5c 24 0c 89 74 24 10 89 6c 24 18 8b 47 08 8b 70 08 8b 9e f0
00 00 00 74 11 85 db 74 0d 89 54 24 08 89 5c 24 04 89 3c 24 ff 12 <8b>
6b 08 31 c9 0f b7 5f 1c f6 c3 01 74 36 85 ed b8 41 00 00 00
 <3>swap_free: Bad swap file entry 300b2300
swap_free: Bad swap file entry 80207c18
swap_free: Bad swap file entry 20081f06
swap_free: Bad swap offset entry 00095fc4
swap_free: Bad swap file entry 60163059
swap_free: Bad swap file entry 100410a0
Unable to handle kernel paging request at virtual address b981a171
 printing eip:
c0166ff0
*pde = ma 00000000 pa 55555000
 [<c029767b>] sock_destroy_inode+0x1b/0x20
 [<c01691bf>] destroy_inode+0x2f/0x50
 [<c015235f>] __fput+0x9f/0x100
 [<c0150b02>] filp_close+0x52/0x90
 [<c011a874>] put_files_struct+0x64/0xd0
 [<c011b46f>] do_exit+0xaf/0x2b0
 [<c0119567>] printk+0x17/0x20
 [<c010999d>] die+0x16d/0x170
 [<c0109040>] syscall_call+0x7/0xb
 [<c0113138>] do_page_fault+0x318/0x693
 [<c0137a05>] buffered_rmqueue+0x105/0x200
 [<c0137e93>] __alloc_pages+0x2e3/0x420
 [<c02f8cea>] schedule+0x2da/0x4d0
 [<c01093ff>] page_fault+0x3b/0x40
 [<c025007b>] send_tree+0x2b/0x610
 [<c015d58c>] pipe_poll+0x3c/0xc0
 [<c02983f9>] sock_poll+0x29/0x40
 [<c0163753>] do_select+0x243/0x2c0
 [<c0163340>] __pollwait+0x0/0xd0
 [<c0163aeb>] sys_select+0x2db/0x4f0
 [<c0151578>] vfs_write+0xc8/0x130
 [<c0109040>] syscall_call+0x7/0xb
Oops: 0000 [#3]
Modules linked in: msp3400 saa7115 tuner tveeprom ivtv i2c_algo_bit
videodev ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0061:[<c0166ff0>]    Not tainted VLI
EFLAGS: 00010282   (2.6.11-xenU)
EIP is at locks_remove_posix+0x90/0x130
eax: 00000000   ebx: b981a149   ecx: ceb3b380   edx: c033d180
esi: cda96314   edi: cf500a80   ebp: 00000001   esp: cf187cc0
ds: 0069   es: 0069   ss: 0069
Process sshd (pid: 5035, threadinfo=cf187000 task=ceb2f590)
Stack: c0153531 cf765524 cf765524 c043cc00 cf765524 cf765524 cf765524 c029767b
       cf500a80 000013ab c01691bf cf765524 ceb3b380 cf760201 00000000 00000000
       ffffffff 7fffffff ce42e8d4 ceb3b180 00000000 00000000 c015235f ce42e8d4
Call Trace:
 [<c0153531>] invalidate_inode_buffers+0x11/0x60
 [<c029767b>] sock_destroy_inode+0x1b/0x20
 [<c01691bf>] destroy_inode+0x2f/0x50
 [<c015235f>] __fput+0x9f/0x100
 [<c0150b02>] filp_close+0x52/0x90
 [<c011a874>] put_files_struct+0x64/0xd0
 [<c011b46f>] do_exit+0xaf/0x2b0
 [<c0119567>] printk+0x17/0x20
 [<c010999d>] die+0x16d/0x170
 [<c0109040>] syscall_call+0x7/0xb
 [<c0113138>] do_page_fault+0x318/0x693
 [<c0137a05>] buffered_rmqueue+0x105/0x200
 [<c0137e93>] __alloc_pages+0x2e3/0x420
 [<c02f8cea>] schedule+0x2da/0x4d0
 [<c01093ff>] page_fault+0x3b/0x40
 [<c025007b>] send_tree+0x2b/0x610
 [<c015d58c>] pipe_poll+0x3c/0xc0
 [<c02983f9>] sock_poll+0x29/0x40
 [<c0163753>] do_select+0x243/0x2c0
 [<c0163340>] __pollwait+0x0/0xd0
 [<c0163aeb>] sys_select+0x2db/0x4f0
 [<c0151578>] vfs_write+0xc8/0x130
 [<c0109040>] syscall_call+0<1>Unable to handle kernel paging request
at virtual address 04cbae7e
 printing eip:
c013ba92
*pde = ma 00000000 pa 55555000
 [<c013c17a>] drain_array_locked+0x7a/0xc0
 [<c013c22b>] cache_reap+0x6b/0x1b0
 [<c013c1c0>] cache_reap+0x0/0x1b0
 [<c0128574>] worker_thread+0x1d4/0x2b0
 [<c0116100>] default_wake_function+0x0/0x20
 [<c0116100>] default_wake_function+0x0/0x20
 [<c01283a0>] worker_thread+0x0/0x2b0
 [<c012c55a>] kthread+0xaa/0xb0
 [<c012c4b0>] kthread+0x0/0xb0
 [<c01070c5>] kernel_thread_helper+0x5/0x10
Oops: 0002 [#5]
Modules linked in: msp3400 saa7115 tuner tveeprom ivtv i2c_algo_bit
videodev ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0061:[<c013ba92>]    Not tainted VLI
EFLAGS: 00010206   (2.6.11-xenU)
EIP is at free_block+0x52/0xe0
eax: 04cbae7a   ebx: cda96000   ecx: cda96158   edx: 0c3fff5c
esi: c1279a80   edi: 00000000   ebp: 00000002   esp: c043eeec
ds: 007b   es: 007b   ss: 0069
Process events/0 (pid: 3, threadinfo=c043e000 task=c126d020)
Stack: c043ef08 c0115518 c1279a9c c127dc90 c127dc80 00000002 c1279a80 c013c17a
       c1279a80 c127dc90 00000002 c127999c c1279a80 00000001 c1279af0 c013c22b
       c1279a80 c127dc80 00000000 c127999c c126d170 00000000 00000000 c03ddea0
Call Trace:
 [<c0115518>] recalc_task_prio+0x88/0x150
 [<c013c17a>] drain_array_locked+0x7a/0xc0
 [<c013c22b>] cache_reap+0x6b/0x1b0
 [<c013c1c0>] cache_reap+0x0/0x1b0
 [<c0128574>] worker_thread+0x1d4/0x2b0
 [<c0116100>] default_wake_function+0x0/0x20
 [<c0116100>] default_wake_function+0x0/0x20
 [<c01283a0>] worker_thread+0x0/0x2b0
 [<c012c55a>] kthread+0xaa/0xb0
 [<c012c4b0>] kthread+0x0/0xb0
 [<c01070c5>] kernel_thread_helper+0x5/0x10
Code: 00 00 8d bc 27 00 00 00 00 8b 44 24 24 8b 15 b0 df 3d c0 8b 0c
b8 8d 81 00 00 00 40 c1 e8 0c c1 e0 05 8b 5c 02 1c 8b 53 04 8b 03 <89>
50 04 89 02 8b 43 0c 31 d2 c7 03 00 01 10 00 c7 43 04 00 02
 <1>Unable to handle kernel paging request at virtual address a2ba40a4
 printing eip:
c013b924
*pde = ma 00000000 pa 55555000
 [<c013bc49>] kmem_cache_alloc+0x69/0x70
 [<d08b517f>] ivtv_init_buffer+0x1f/0x1f0 [ivtv]
 [<d08b6730>] gather_free_buffers+0x2a0/0x2d0 [ivtv]
 [<d08b7aeb>] ivtv_api_getresult_nosleep+0x5b/0x90 [ivtv]
 [<d08b6ae6>] ivtv_sched_DMA+0x386/0xbb0 [ivtv]
 [<c0116100>] default_wake_function+0x0/0x20
 [<c0116161>] __wake_up_common+0x41/0x70
 [<c0116100>] default_wake_function+0x0/0x20
 [<c01161ca>] __wake_up+0x3a/0x70
 [<d08b9fae>] enc_work_handler+0x8e/0x90 [ivtv]
 [<d08bb69d>] ivtv_enc_thread+0x14d/0x1e2 [ivtv]
 [<c012ca20>] autoremove_wake_function+0x0/0x60
 [<c0115ae7>] schedule_tail+0x17/0x50
 [<c012ca20>] autoremove_wake_function+0x0/0x60
 [<d08bb550>] ivtv_enc_thread+0x0/0x1e2 [ivtv]
 [<d08bb550>] ivtv_enc_thread+0x0/0x1e2 [ivtv]
 [<c01070c5>] kernel_thread_helper+0x5/0x10
Oops: 0002 [#6]
Modules linked in: msp3400 saa7115 tuner tveeprom ivtv i2c_algo_bit
videodev ehci_hcd uhci_hcd usbcore
CPU:    0
EIP:    0061:[<c013b924>]    Not tainted VLI
EFLAGS: 00010212   (2.6.11-xenU)
EIP is at cache_alloc_refill+0xd4/0x1f0
eax: a2ba40a0   ebx: c127c800   ecx: cd9bd000   edx: c043328c
esi: 00000036   edi: c0433280   ebp: c127c810   esp: ce4e5de8
ds: 007b   es: 007b   ss: 0069
Process ivtv-enc (pid: 4852, threadinfo=ce4e5000 task=ceb65a00)
Stack: c0433980 c03bbd00 ffffffff cf1ec018 c043328c c0433294 00000000 ce5da800
       ce5da800 ce4e5ed0 c013bc49 c0433280 000000d0 000000d0 ce5da800 d08b517f
       c0433280 000000d0 00000000 00000000 d08b6730 d08e4fb0 ce5da800 00000003
Call Trace:
 [<c03bbd00>] __alloc_bootmem_core+0xf0/0x350
 [<c013bc49>] kmem_cache_alloc+0x69/0x70
 [<d08b517f>] ivtv_init_buffer+0x1f/0x1f0 [ivtv]
 [<d08b6730>] gather_free_buffers+0x2a0/0x2d0 [ivtv]
 [<d08b7aeb>] ivtv_api_getresult_nosleep+0x5b/0x90 [ivtv]
 [<d08b6ae6>] ivtv_sched_DMA+0x386/0xbb0 [ivtv]
 [<c0116100>] default_wake_function+0x0/0x20
 [<c0116161>] __wake_up_common+0x41/0x70
 [<c0116100>] default_wake_function+0x0/0x20
 [<c01161ca>] __wake_up+0x3a/0x70
 [<d08b9fae>] enc_work_handler+0x8e/0x90 [ivtv]
 [<d08bb69d>] ivtv_enc_thread+0x14d/0x1e2 [ivtv]
 [<c012ca20>] autoremove_wake_function+0x0/0x60
 [<c0115ae7>] schedule_tail+0x17/0x50
 [<c012ca20>] autoremove_wake_function+0x0/0x60
 [<d08bb550>] ivtv_enc_thread+0x0/0x1e2 [ivtv]
 [<d08bb550>] ivtv_enc_thread+0x0/0x1e2 [ivtv]
 [<c01070c5>] kernel_thread_helper+0x5/0x10
Code: 8b 51 10 0f b7 41 14 42 89 51 10 8b 7c 24 0c 0f b7 04 47 66 89
41 14 8b 44 24 2c 3b 50 3c 73 06 4e 83 fe ff 75 c1 8b 51 04 8b 01 <89>
50 04 89 02 66 83 79 14 ff c7 01 00 01 10 00 c7 41 04 00 02
 <1>Unable to handle kernel paging request at virtual address e1ca80ef
 printing eip:
c013b924
*pde = ma 00000000 pa 55555000
 [<c013bc49>] kmem_cache_alloc+0x69/0x70

At that point the whole box reboots.

Any help would be appreciated, I've been battling this for a few days
and am not making any progress.

Thanks,
Dave

-- 
David Muench - davemuench@xxxxxxxxx
Jabber ID: dave@xxxxxxxxxxxxxxxxxxxx

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.