Bug 10597 - vivi: BUG: sleeping function called from invalid context
Summary: vivi: BUG: sleeping function called from invalid context
Alias: None
Product: v4l-dvb
Classification: Unclassified
Component: v4l-other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: v4l-other
Depends on:
Reported: 2008-05-03 04:22 UTC by Márton Németh
Modified: 2012-05-21 15:19 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.25
Tree: Mainline
Regression: No

.config (54.42 KB, text/plain)
2008-05-03 04:23 UTC, Márton Németh
full dmesg (39.80 KB, text/plain)
2008-05-03 04:25 UTC, Márton Németh

Description Márton Németh 2008-05-03 04:22:32 UTC
Latest working kernel version: ?
Earliest failing kernel version: 2.6.25
Distribution: Debian
Hardware Environment:
Software Environment:
Problem Description:

BUG: sleeping function called from invalid context at kernel/sched.c:4201
in_atomic():1, irqs_disabled():1
2 locks held by gqcam/3744:
 #0:  (&q->vb_lock){--..}, at: [<f8d3788a>] videobuf_read_stream+0x4a/0x230 [videobuf_core]
 #1:  (&dev->slock){....}, at: [<f8d36d9c>] __videobuf_read_start+0xdc/0x130 [videobuf_core]
irq event stamp: 9276
hardirqs last  enabled at (9275): [<c015f065>] get_page_from_freelist+0x2a5/0x4a0
hardirqs last disabled at (9276): [<c0302fb6>] _spin_lock_irqsave+0x16/0x60
softirqs last  enabled at (9186): [<c01239ab>] __do_softirq+0xab/0xc0
softirqs last disabled at (9179): [<c0123a15>] do_softirq+0x55/0x60
Pid: 3744, comm: gqcam Not tainted 2.6.25 #2
 [<c0118337>] __might_sleep+0xc7/0xf0
 [<c03007ae>] wait_for_common+0x1e/0x140
 [<c0300962>] wait_for_completion+0x12/0x20
 [<c01318c0>] kthread_create+0x70/0xa0
 [<f8d1f5b0>] ? vivi_thread+0x0/0x8e0 [vivi]
 [<f8d1f53c>] vivi_start_thread+0x5c/0xd0 [vivi]
 [<f8d1f5b0>] ? vivi_thread+0x0/0x8e0 [vivi]
 [<f8d20720>] buffer_queue+0x150/0x1c0 [vivi]
 [<f8d36db9>] __videobuf_read_start+0xf9/0x130 [videobuf_core]
 [<f8d37a33>] videobuf_read_stream+0x1f3/0x230 [videobuf_core]
 [<c02fb9ef>] ? __up+0x1f/0x30
 [<f8d200d5>] vivi_read+0x55/0x70 [vivi]
 [<c017b7f4>] vfs_read+0x94/0x130
 [<f8d20080>] ? vivi_read+0x0/0x70 [vivi]
 [<c017bbfd>] sys_read+0x3d/0x70
 [<c010411e>] sysenter_past_esp+0x5f/0xa5

Steps to reproduce:
$ su
# modprobe -k vivi debug=2
# exit
$ gqcam -v /dev/video0 
Segmentation fault

$ gqcam --version
gqcam version 0.9.1
Comment 1 Márton Németh 2008-05-03 04:23:40 UTC
Created attachment 16012 [details]

configuration of the Linux kernel
Comment 2 Márton Németh 2008-05-03 04:25:46 UTC
Created attachment 16013 [details]
full dmesg
Comment 3 Carl Karsten 2008-11-03 11:59:53 UTC
This looks like a bug in gqcam.  bt with debug symbols posted here:

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