bug or hardware memory error?

Keith Chew
2008-12-21T20:06:20Z

Hi

I have been experiencing some occasional errors in bttv using kernel
2.6.20.1, we suspect could either be:
- hardware memory problem
- software memory problem
- IRQ conflict with wireless WIFI driver (zd1211 module below)

Can someone assist by looking at this stack trace:
--------------------------------------------------------
Dec 20 18:28:00 localhost kernel: BUG: unable to handle kernel paging
request at virtual address fdedaf8f
Dec 20 18:28:00 localhost kernel: printing eip:
Dec 20 18:28:00 localhost kernel: c044667a
Dec 20 18:28:00 localhost kernel: *pde = 00000000
Dec 20 18:28:00 localhost kernel: Oops: 0000 [#1]
Dec 20 18:28:00 localhost kernel: Modules linked in: zd1211 i915 drm
w83627hf hwmon_vid hwmon i2c_isa dm_multipath video dock button
battery ac lp bt878 bttv video_buf ir_common compat_ioctl32
i2c_algo_bit snd_intel8x0 snd_ac97_codec ac97_bus snd_seq_dummy
btcx_risc snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device
snd_pcm_oss snd_mixer_oss tveeprom snd_pcm snd_timer snd soundcore
ieee1394 videodev i2c_i801 pcspkr parport_pc e100 i2c_core
snd_page_alloc v4l2_common parport mii v4l1_compat dm_snapshot dm_zero
dm_mirror dm_mod ata_piix libata sd_mod scsi_mod ext3 jbd ehci_hcd
ohci_hcd
Dec 20 18:28:00 localhost kernel: CPU: 0
Dec 20 18:28:00 localhost kernel: EIP: 0060:[<c044667a>] Not tainted VLI
Dec 20 18:28:00 localhost kernel: EFLAGS: 00010203 (2.6.20.1 #4)
Dec 20 18:28:00 localhost kernel: EIP is at put_page+0x5/0x83
Dec 20 18:28:00 localhost kernel: eax: fdedaf8f ebx: fdedaf8f ecx:
f7fff5c0 edx: c163db40
Dec 20 18:28:00 localhost kernel: esi: 00000002 edi: f7c63210 ebp:
f8a7a1cc esp: f7335c38
Dec 20 18:28:00 localhost kernel: ds: 007b es: 007b ss: 0068
Dec 20 18:28:00 localhost kernel: Process mencoder (pid: 2341,
ti=f7334000 task=f6c1a430 task.ti=f7334000)
Dec 20 18:28:00 localhost kernel: Stack: f1e2eba4 00000002 f7c63210
f8a2633e 00200200 f7c63210 f1e2eba4 f1e2eba4
Dec 20 18:28:00 localhost kernel: f1e2eb80 f8a63c25 f7c63210
00000002 00000282 f8a7a1cc f8a258bd f7c63210
Dec 20 18:28:00 localhost kernel: 00000000 f7c63200 f8a25949
00000002 f27f2140 f8a5f355 00000282 00000282
Dec 20 18:28:00 localhost kernel: Call Trace:
Dec 20 18:28:00 localhost kernel: [<f8a2633e>]
videobuf_dma_free+0x49/0x88 [video_buf]
Dec 20 18:28:00 localhost kernel: [<f8a63c25>] bttv_dma_free+0x3c/0x64 [bttv]
Dec 20 18:28:00 localhost kernel: [<f8a258bd>]
videobuf_queue_cancel+0x61/0x7a [video_buf]
Dec 20 18:28:00 localhost kernel: [<f8a25949>]
videobuf_streamoff+0x20/0x36 [video_buf]
Dec 20 18:28:00 localhost kernel: [<f8a5f355>]
bttv_do_ioctl+0x1367/0x1b86 [bttv]
Dec 20 18:28:00 localhost kernel: [<f90198b5>]
zd_ReceivePkt+0x1a5/0x420 [zd1211]
Dec 20 18:28:00 localhost kernel: [<c05678e3>] usb_hcd_submit_urb+0x7ce/0x873
Dec 20 18:28:00 localhost kernel: [<c0477717>] end_buffer_async_write+0xc7/0xe1
Dec 20 18:28:00 localhost kernel: [<c0415eb2>] enqueue_task+0x29/0x39
Dec 20 18:28:00 localhost kernel: [<c04161d8>] __activate_task+0x1c/0x29
Dec 20 18:28:00 localhost kernel: [<c0416b4a>] try_to_wake_up+0x11c/0x126
Dec 20 18:28:00 localhost kernel: [<c04158c0>] __wake_up_common+0x32/0x55
Dec 20 18:28:00 localhost kernel: [<c0457ab1>] free_block+0xbd/0xdc
Dec 20 18:28:00 localhost kernel: [<c045787d>] cache_flusharray+0x7a/0x9d
Dec 20 18:28:00 localhost kernel: [<c04cdb6e>] memmove+0xe/0x22
Dec 20 18:28:00 localhost kernel: [<c05fd7b9>] kprobe_flush_task+0x4b/0x80
Dec 20 18:28:00 localhost kernel: [<c05fa406>] __sched_text_start+0x54e/0x588
Dec 20 18:28:00 localhost kernel: [<c0419a37>] release_console_sem+0x181/0x1c0
Dec 20 18:28:00 localhost kernel: [<c05fa9ed>] schedule_timeout+0x13/0x97
Dec 20 18:28:00 localhost kernel: [<c042cfb3>] unqueue_me+0x75/0x7d
Dec 20 18:28:00 localhost kernel: [<f89ae785>]
video_usercopy+0x172/0x237 [videodev]
Dec 20 18:28:00 localhost kernel: [<c0440ae7>] find_get_page+0x35/0x3a
Dec 20 18:28:00 localhost kernel: [<c0442ca1>] filemap_nopage+0x159/0x2c6
Dec 20 18:28:00 localhost kernel: [<c0416b54>] default_wake_function+0x0/0xc
Dec 20 18:28:00 localhost kernel: [<f8a5bfa7>] bttv_ioctl+0x42/0x47 [bttv]
Dec 20 18:28:00 localhost kernel: [<f8a5dfee>] bttv_do_ioctl+0x0/0x1b86 [bttv]
Dec 20 18:28:00 localhost kernel: [<f8a5bf65>] bttv_ioctl+0x0/0x47 [bttv]
Dec 20 18:28:00 localhost kernel: [<c0464ef2>] do_ioctl+0x3e/0x4d
Dec 20 18:28:00 localhost kernel: [<c0465100>] vfs_ioctl+0x1ff/0x216
Dec 20 18:28:00 localhost kernel: [<c0465163>] sys_ioctl+0x4c/0x65
Dec 20 18:28:00 localhost kernel: [<c0403bda>] sysenter_past_esp+0x5f/0x85
Dec 20 18:28:00 localhost kernel: =======================
Dec 20 18:28:00 localhost kernel: Code: 97 e8 00 00 00 89 d8 e8 42 8a
08 00 ff 87 00 01 00 00 ff 05 60 c6 77 c0 8d 87 d8 00 00 00 5b 5e 5f
e9 53 52 1b 00 57 56 53 89 c3 <8b> 00 f6 c4 40 74 0a 89 d8 5b 5e 5f e9
f1 fc ff ff ff 4b 04 0f
Dec 20 18:28:00 localhost kernel: EIP: [<c044667a>] put_page+0x5/0x83
SS:ESP 0068:f7335c38
Dec 20 18:28:00 localhost kernel: <3>BUG: sleeping function called
from invalid context at kernel/rwsem.c:20
Dec 20 18:28:00 localhost kernel: in_atomic():0, irqs_disabled():1
Dec 20 18:28:00 localhost kernel: [<c042be67>] down_read+0x12/0x1f
Dec 20 18:28:00 localhost kernel: [<c0436761>] acct_collect+0x38/0x13f
Dec 20 18:28:00 localhost kernel: [<c041bd32>] do_exit+0x1a6/0x704
Dec 20 18:28:00 localhost kernel: [<c041a064>] printk+0x1b/0x1f
Dec 20 18:28:00 localhost kernel: [<c0404f65>] die+0x1dd/0x202
Dec 20 18:28:00 localhost kernel: [<c05fcf00>] do_page_fault+0x3fe/0x4d1
Dec 20 18:28:00 localhost kernel: [<c05fcb02>] do_page_fault+0x0/0x4d1
Dec 20 18:28:00 localhost kernel: [<c05fb984>] error_code+0x74/0x7c
Dec 20 18:28:00 localhost kernel: [<c044667a>] put_page+0x5/0x83
Dec 20 18:28:00 localhost kernel: [<f8a2633e>]
videobuf_dma_free+0x49/0x88 [video_buf]
Dec 20 18:28:00 localhost kernel: [<f8a63c25>] bttv_dma_free+0x3c/0x64 [bttv]
Dec 20 18:28:00 localhost kernel: [<f8a258bd>]
videobuf_queue_cancel+0x61/0x7a [video_buf]
Dec 20 18:28:00 localhost kernel: [<f8a25949>]
videobuf_streamoff+0x20/0x36 [video_buf]
Dec 20 18:28:00 localhost kernel: [<f8a5f355>]
bttv_do_ioctl+0x1367/0x1b86 [bttv]
Dec 20 18:28:00 localhost kernel: [<f90198b5>]
zd_ReceivePkt+0x1a5/0x420 [zd1211]
Dec 20 18:28:00 localhost kernel: [<c05678e3>] usb_hcd_submit_urb+0x7ce/0x873
Dec 20 18:28:00 localhost kernel: [<c0477717>] end_buffer_async_write+0xc7/0xe1
Dec 20 18:28:00 localhost kernel: [<c0415eb2>] enqueue_task+0x29/0x39
Dec 20 18:28:00 localhost kernel: [<c04161d8>] __activate_task+0x1c/0x29
Dec 20 18:28:00 localhost kernel: [<c0416b4a>] try_to_wake_up+0x11c/0x126
Dec 20 18:28:00 localhost kernel: [<c04158c0>] __wake_up_common+0x32/0x55
Dec 20 18:28:00 localhost kernel: [<c0457ab1>] free_block+0xbd/0xdc
Dec 20 18:28:00 localhost kernel: [<c045787d>] cache_flusharray+0x7a/0x9d
Dec 20 18:28:00 localhost kernel: [<c04cdb6e>] memmove+0xe/0x22
Dec 20 18:28:00 localhost kernel: [<c05fd7b9>] kprobe_flush_task+0x4b/0x80
Dec 20 18:28:00 localhost kernel: [<c05fa406>] __sched_text_start+0x54e/0x588
Dec 20 18:28:00 localhost kernel: [<c0419a37>] release_console_sem+0x181/0x1c0
Dec 20 18:28:00 localhost kernel: [<c05fa9ed>] schedule_timeout+0x13/0x97
Dec 20 18:28:00 localhost kernel: [<c042cfb3>] unqueue_me+0x75/0x7d
Dec 20 18:28:00 localhost kernel: [<f89ae785>]
video_usercopy+0x172/0x237 [videodev]
Dec 20 18:28:00 localhost kernel: [<c0440ae7>] find_get_page+0x35/0x3a
Dec 20 18:28:00 localhost kernel: [<c0442ca1>] filemap_nopage+0x159/0x2c6
Dec 20 18:28:00 localhost kernel: [<c0416b54>] default_wake_function+0x0/0xc
Dec 20 18:28:00 localhost kernel: [<f8a5bfa7>] bttv_ioctl+0x42/0x47 [bttv]
Dec 20 18:28:00 localhost kernel: [<f8a5dfee>] bttv_do_ioctl+0x0/0x1b86 [bttv]
Dec 20 18:28:00 localhost kernel: [<f8a5bf65>] bttv_ioctl+0x0/0x47 [bttv]
Dec 20 18:28:00 localhost kernel: [<c0464ef2>] do_ioctl+0x3e/0x4d
Dec 20 18:28:00 localhost kernel: [<c0465100>] vfs_ioctl+0x1ff/0x216
Dec 20 18:28:01 localhost kernel: [<c0465163>] sys_ioctl+0x4c/0x65
Dec 20 18:28:01 localhost kernel: [<c0403bda>] sysenter_past_esp+0x5f/0x85
Dec 20 18:28:01 localhost kernel: =======================
--------------------------------------------------------

Quite often, we see this in the logs, but the above is the first stack
trace that we manage to capture:
--------------------------------------------------------
Dec 20 18:25:48 localhost kernel: bttv3: IRQ lockup, cleared int mask
[bits: FMTCHG* VSYNC* HSYNC* OFLOW* HLOCK* VPRES* 6* 7* I2CDONE*
GPINT* 10* RISCI* FBUS* FTRGT* FDSR* PPERR* RIPERR* PABORT* OCERR*
SCERR*]
Dec 20 18:25:48 localhost kernel: bttv3: SCERROCERR @ 36df303c,bits:
FMTCHG* VSYNC* HSYNC* OFLOW* HLOCK* VPRES* 6* 7* I2CDONE* GPINT* 10*
RISCI* FBUS* FTRGT* FDSR* PPERR* RIPERR* PABORT* OCERR* SCERR*
Dec 20 18:25:48 localhost kernel: bttv3: IRQ lockup, cleared int mask
[bits: FMTCHG* VSYNC* HSYNC* OFLOW* HLOCK* VPRES* 6* 7* I2CDONE*
GPINT* 10* RISCI* FBUS* FTRGT* FDSR* PPERR* RIPERR* PABORT* OCERR*
SCERR*]
Dec 20 18:25:48 localhost kernel: bttv3: IRQ lockup, cleared int mask
[bits: HSYNC* OFLOW*]
Dec 20 18:25:48 localhost kernel: bttv3: timeout: drop=0
irq=2177037/2571854, risc=36df301c, bits: VSYNC HSYNC OFLOW RISCI
Dec 20 18:25:48 localhost kernel: bttv3: reset, reinitialize
Dec 20 18:25:48 localhost kernel: bttv3: PLL: 28636363 => 35468950 . ok
--------------------------------------------------------

Regards
Keith