2005-11-15 11:42:39

by Duncan Sands

[permalink] [raw]
Subject: 2.6.15-rc1-git1: BTTV: no picture with grabdisplay; later, an Oops

Linux version 2.6.15-rc1-git1 (root@baldrick) (gcc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)) #1 Mon Nov 14 19:10:23 CET 2005
x86

When I change channels, a picture flashes onto the screen for a fraction of
a second, then the screen becomes black. The picture glimpsed seems to be four
copies of the tv show, arranged in a 2x2 matrix.

This was not the case with 2.6.14. Between 2.6.14 and the current kernel, I
changed my .config by turning on all kernel debugging options except for
CONFIG_DEBUG_KOBJECT and CONFIG_RCU_TORTURE_TEST (there is a note in .config
saying "Page alloc debug is incompatible with Software Suspend on i386").

xawtv produced the following in my .xsession-errors:

This is xawtv-3.94, running on Linux/i686 (2.6.15-rc1-git1)
Warning: Cannot convert string "-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct

sizeof(RADEONDRIRec) == 100, devPrivSize 100
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
v4l2: read: Input/output error
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
v4l2: read: Input/output error
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
v4l2: read: Input/output error
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument
v4l2: read: Input/output error
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_QBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=MMAP): Bad address
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0 [];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown): Invalid argument

The card is a cheap and nasty wintv:

0000:00:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
Subsystem: Hauppauge computer works Inc. WinTV Series
Flags: bus master, medium devsel, latency 32, IRQ 20
Memory at dfbfe000 (32-bit, prefetchable) [size=4K]
Capabilities: <available only to root>

on a VIA chipset:

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
Subsystem: VIA Technologies, Inc.: Unknown device 0000
Flags: bus master, 66MHz, medium devsel, latency 0
Memory at e0000000 (32-bit, prefetchable) [size=128M]
Capabilities: <available only to root>

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP] (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: dfc00000-dfcfffff
Prefetchable memory behind bridge: bfb00000-dfafffff
Capabilities: <available only to root>

I don't use overlay, since it always eventually manages to freeze the machine.

What's more, after quitting xawtv and the window manager session, I got the following Oops:

[17179726.148000] bttv0: OCERR @ 1ba9b01c,bits: HSYNC OFLOW FBUS OCERR*
[17179726.228000] bttv0: OCERR @ 1ba9b01c,bits: HSYNC OFLOW FBUS OCERR*
[17179726.308000] bttv0: OCERR @ 1ba9b01c,bits: HSYNC OFLOW FBUS OCERR*
[17179726.388000] bttv0: OCERR @ 1ba9b01c,bits: HSYNC OFLOW FBUS OCERR*
[17179726.468000] bttv0: OCERR @ 1ba9b01c,bits: HSYNC OFLOW FBUS OCERR*
[17179726.548000] bttv0: OCERR @ 1ba9b01c,bits: HSYNC OFLOW FBUS OCERR*
[17179726.588000] bttv0: timeout: drop=0 irq=1329/1329, risc=1ba9b01c, bits: OFLOW
[17179726.612000] bttv0: reset, reinitialize
[17179726.624000] bttv0: PLL: 28636363 => 35468950 . ok
[17179733.028000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.068000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.108000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.148000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.188000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.228000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.268000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.308000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.348000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.388000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.428000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179733.468000] bttv0: timeout: drop=0 irq=1357/1357, risc=1895fe5c, <6>bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW FBUS OCERR*
[17179733.504000] bits: VSYNC HSYNC OFLOW FBUS
[17179733.520000] bttv0: reset, reinitialize
[17179733.532000] bttv0: PLL: 28636363 => 35468950 . ok
[17179753.292000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.332000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.372000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.412000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.452000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.492000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.532000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.572000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.612000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.652000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.692000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179753.732000] bttv0: timeout: drop=0 irq=1398/1398, risc=18e7f0c0, <6>bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW FBUS OCERR*
[17179753.768000] bits: VSYNC HSYNC OFLOW
[17179753.780000] bttv0: reset, reinitialize
[17179753.796000] bttv0: PLL: 28636363 => 35468950 . ok
[17179767.788000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179767.828000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179767.868000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179767.908000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179767.948000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179767.988000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179768.028000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179768.068000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179768.108000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179768.148000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179768.188000] bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW OCERR*
[17179768.228000] bttv0: timeout: drop=0 irq=1443/1443, risc=18b2ff8c, <6>bttv0: OCERR @ 1ba9b01c,bits: VSYNC HSYNC OFLOW FBUS OCERR*
[17179768.264000] bits: VSYNC HSYNC OFLOW FBUS
[17179768.280000] bttv0: reset, reinitialize
[17179768.292000] bttv0: PLL: 28636363 => 35468950 . ok
[17179772.660000] Unable to handle kernel paging request at virtual address 15ece000
[17179772.660000] printing eip:
[17179772.660000] 15ece000
[17179772.660000] *pde = 00000000
[17179772.660000] Oops: 0000 [#1]
[17179772.660000] Modules linked in: af_packet rfcomm l2cap bluetooth ipv6 cpufreq_stats cpufreq_powersave cpufreq_ondemand cpufreq_userspace freq_table cpufreq_conservative usblp radeon drm tun video battery container button ac ipt_TOS ipt_MASQUERADE ipt_REJECT ipt_LOG ipt_state ipt_pkttype ipt_owner ipt_iprange ipt_physdev ipt_multiport ipt_conntrack iptable_mangle ip_nat_irc ip_nat_tftp ip_nat_ftp iptable_nat ip_nat ip_conntrack_irc ip_conntrack_tftp ip_conntrack_ftp ip_conntrack iptable_filter ip_tables floppy pcspkr rtc snd_seq_dummy snd_seq_oss snd_seq_midi snd_seq_midi_event snd_seq snd_via82xx snd_mpu401_uart i2c_viapro via_ircc irda crc_ccitt snd_bt87x bt878 tuner tvaudio bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc tveeprom i2c_core videodev snd_cs46xx gameport snd_rawmidi snd_seq_device snd_ac97_codec snd_ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc shpchp pci_hotplug via_agp agpgart nls_cp437 ntfs reiserfs dm_mod tsdev parport_pc lp parport mousedev psmouse md_mod ext3 jbd mbcache thermal processor fan ehci_hcd uhci_hcd usbcore 8139too 8139cp mii ide_cd cdrom ide_disk ide_generic via82cxxx generic ide_core unix vga16fb vgastate cfbimgblt cfbfillrect cfbcopyarea tileblit font
[17179772.660000] CPU: 0
[17179772.660000] EIP: 0060:[<15ece000>] Not tainted VLI
[17179772.660000] EFLAGS: 00210002 (2.6.15-rc1-git1)
[17179772.660000] EIP is at 0x15ece000
[17179772.660000] eax: d8b1c00c ebx: 18000bf8 ecx: 00000001 edx: 00000001
[17179772.660000] esi: 18bffc08 edi: 00000001 ebp: dfbf0cf8 esp: dfbf0cd4
[17179772.660000] ds: 007b es: 007b ss: 0068
[17179772.660000] Process gdm (pid: 10407, threadinfo=dfbf0000 task=dcbd8000)
[17179772.660000] Stack: c01186b3 d8b1c00c 00000001 00000000 00000000 c15a2848 c15a2838 00000001
[17179772.660000] 00200286 dfbf0d24 c011871f c15a2838 00000001 00000001 00000000 00000000
[17179772.660000] 00000001 c15a2838 de4b2820 de4b291c dfbf0d44 c02521b6 00000000 dfbf0d44
[17179772.660000] Call Trace:
[17179772.660000] [<c0103f4c>] show_stack+0x9c/0xe0
[17179772.660000] [<c010410f>] show_registers+0x15f/0x1f0
[17179772.660000] [<c0104316>] die+0xd6/0x160
[17179772.660000] [<c02c6dd9>] do_page_fault+0x209/0x6b8
[17179772.660000] [<c0103bd3>] error_code+0x4f/0x54
[17179772.660000] [<c011871f>] __wake_up+0x3f/0x60
[17179772.660000] [<c02521b6>] sock_def_readable+0x46/0x90
[17179772.660000] [<e08b5f8f>] unix_dgram_sendmsg+0x4ef/0x580 [unix]
[17179772.660000] [<c024e56b>] sock_sendmsg+0xfb/0x120
[17179772.660000] [<c024fb8b>] sys_sendto+0xbb/0xe0
[17179772.660000] [<c024fbe6>] sys_send+0x36/0x40
[17179772.660000] [<c02504d2>] sys_socketcall+0x142/0x260
[17179772.660000] [<c01030bf>] sysenter_past_esp+0x54/0x75
[17179772.660000] Code: Bad EIP value.
[17179772.660000] BUG: spinlock cpu recursion on CPU#0, klogd/9954
[17179773.552000] lock: c15a2838, .magic: dead4ead, .owner: gdm/10407, .owner_cpu: 0
[17179773.552000] [<c0103fae>] dump_stack+0x1e/0x20
[17179773.552000] [<c01e1699>] spin_bug+0xa9/0xb0
[17179773.552000] [<c01e1809>] _raw_spin_lock+0x79/0x90
[17179773.552000] [<c02c64f2>] _spin_lock_irqsave+0x12/0x20
[17179773.552000] [<c01186fb>] __wake_up+0x1b/0x60
[17179773.552000] [<c02521b6>] sock_def_readable+0x46/0x90
[17179773.552000] [<e08b5f8f>] unix_dgram_sendmsg+0x4ef/0x580 [unix]
[17179773.552000] [<c024e9b1>] sock_aio_write+0xf1/0x140
[17179773.552000] [<c0161c5a>] do_sync_write+0xba/0x110
[17179773.552000] [<c0161e4d>] vfs_write+0x19d/0x1b0
[17179773.552000] [<c0161f17>] sys_write+0x47/0x70
[17179773.552000] [<c01030bf>] sysenter_past_esp+0x54/0x75
[17179773.552000] BUG: spinlock lockup on CPU#0, klogd/9954, c15a2838
[17179773.552000] [<c0103fae>] dump_stack+0x1e/0x20
[17179773.552000] [<c01e1756>] __spin_lock_debug+0xb6/0xf0
[17179773.552000] [<c01e17f7>] _raw_spin_lock+0x67/0x90
[17179773.552000] [<c02c64f2>] _spin_lock_irqsave+0x12/0x20
[17179773.552000] [<c01186fb>] __wake_up+0x1b/0x60
[17179773.552000] [<c02521b6>] sock_def_readable+0x46/0x90
[17179773.552000] [<e08b5f8f>] unix_dgram_sendmsg+0x4ef/0x580 [unix]
[17179773.552000] [<c024e9b1>] sock_aio_write+0xf1/0x140
[17179773.552000] [<c0161c5a>] do_sync_write+0xba/0x110
[17179773.552000] [<c0161e4d>] vfs_write+0x19d/0x1b0
[17179773.552000] [<c0161f17>] sys_write+0x47/0x70
[17179773.552000] [<c01030bf>] sysenter_past_esp+0x54/0x75

In the past I've seen different Oops, in different places. This smells like memory
corruption to me.

Best wishes,

Duncan.


Attachments:
(No filename) (25.51 kB)
config.gz (17.00 kB)
Download all attachments

2005-11-15 14:13:29

by Meelis Roos

[permalink] [raw]
Subject: Re: 2.6.15-rc1-git1: BTTV: no picture with grabdisplay; later, an Oops

DS> When I change channels, a picture flashes onto the screen for a fraction of
DS> a second, then the screen becomes black. The picture glimpsed seems to be =
DS> four
DS> copies of the tv show, arranged in a 2x2 matrix.

Similar "Bad address" and "Invalid argument" errors here. xawtv works
but only in overlay mode. tvtime tries non-overlay and gets these
errors. Card is Hauppauge WinTV with bt878. 2.6.14 works.

--
Meelis Roos

2005-11-15 15:17:29

by Hugh Dickins

[permalink] [raw]
Subject: Re: 2.6.15-rc1-git1: BTTV: no picture with grabdisplay; later, an Oops

On Tue, 15 Nov 2005, Meelis Roos wrote:
> DS> When I change channels, a picture flashes onto the screen for a fraction of
> DS> a second, then the screen becomes black. The picture glimpsed seems to be =
> DS> four
> DS> copies of the tv show, arranged in a 2x2 matrix.
>
> Similar "Bad address" and "Invalid argument" errors here. xawtv works
> but only in overlay mode. tvtime tries non-overlay and gets these
> errors. Card is Hauppauge WinTV with bt878. 2.6.14 works.

This is likely to be due to the PageReserved changes, as were other bttv
problems reported. We're still working on the right patch for that,
or might even revert. In the meanwhile you could try removing the
" | VM_RESERVED" from mm/memory.c get_user_pages(), to see if that
really does correct it (though it's not the whole of the right answer).

The OOPSes Duncan saw, I don't know about those: I wouldn't expect
them to be due to this cause, but could be wrong.

Hugh

2005-11-15 16:44:08

by Duncan Sands

[permalink] [raw]
Subject: Re: 2.6.15-rc1-git1: BTTV: no picture with grabdisplay; later, an Oops

Hi Hugh,

On Tuesday 15 November 2005 16:15, Hugh Dickins wrote:
> On Tue, 15 Nov 2005, Meelis Roos wrote:
> > DS> When I change channels, a picture flashes onto the screen for a fraction of
> > DS> a second, then the screen becomes black. The picture glimpsed seems to be =
> > DS> four
> > DS> copies of the tv show, arranged in a 2x2 matrix.
> >
> > Similar "Bad address" and "Invalid argument" errors here. xawtv works
> > but only in overlay mode. tvtime tries non-overlay and gets these
> > errors. Card is Hauppauge WinTV with bt878. 2.6.14 works.
>
> This is likely to be due to the PageReserved changes, as were other bttv
> problems reported. We're still working on the right patch for that,
> or might even revert. In the meanwhile you could try removing the
> " | VM_RESERVED" from mm/memory.c get_user_pages(), to see if that
> really does correct it (though it's not the whole of the right answer).

with this change, I can't get as far as selecting channels (previous situation):
I consistently get the following Oops on starting xawtv (tried three times).
However, as well as your change I slimmed down my kernel config and turned on
CONFIG_DEBUG_PAGEALLOC, so it is not clear whether the change to memory.c is
responsable. I will try again, reverting the memory.c change.

[4294993.999000] Unable to handle kernel paging request at virtual address cf81f000
[4294994.024000] printing eip:
[4294994.033000] e0b6f738
[4294994.041000] *pde = 0003e067
[4294994.051000] *pte = 0f81f000
[4294994.060000] Oops: 0002 [#1]
[4294994.060000] DEBUG_PAGEALLOC
[4294994.060000] Modules linked in: af_packet md5 ipv6 usblp radeon drm tun video thermal processor fan button ipt_TOS ipt_MASQUERADE ipt_REJECT ipt_LOG ipt_state ipt_pkttype ipt_owner ipt_iprange ipt_multiport ipt_conntrack iptable_mangle ip_nat_irc ip_nat_tftp ip_nat_ftp iptable_nat ip_nat ip_conntrack_irc ip_conntrack_tftp ip_conntrack_ftp ip_conntrack iptable_filter ip_tables generic i2c_viapro uhci_hcd usbcore snd_bt87x tuner tvaudio bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc tveeprom i2c_core videodev snd_cs46xx snd_rawmidi snd_seq_device snd_ac97_codec snd_ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc via_agp agpgart nls_cp437 ntfs ide_cd cdrom mousedev psmouse unix
[4294994.060000] CPU: 0
[4294994.060000] EIP: 0060:[<e0b6f738>] Not tainted VLI
[4294994.060000] EFLAGS: 00210202 (2.6.15-rc1-git1)
[4294994.060000] EIP is at bttv_risc_packed+0x168/0x190 [bttv]
[4294994.060000] eax: 14000008 ebx: 00000408 ecx: cf81f000 edx: d17f5800
[4294994.060000] esi: 00000008 edi: d17f5800 ebp: d184ce6c esp: d184ce54
[4294994.060000] ds: 007b es: 007b ss: 0068
[4294994.060000] Process xawtv (pid: 7506, threadinfo=d184c000 task=d5ba6ab0)
[4294994.060000] Stack: d059cfbc e0b83560 000000ff 000d8000 00000c00 d059cef8 d184ced4 e0b70fca
[4294994.060000] 00000c00 00000c00 00000c00 00000120 00000008 000001b1 d059cf1c d059cf1c
[4294994.060000] c1753bf8 d184ceb4 e0b83560 aeaf0000 00000000 d059cef8 e0b72598 000d8000
[4294994.060000] Call Trace:
[4294994.060000] [<c01039a7>] show_stack+0x97/0xd0
[4294994.060000] [<c0103b55>] show_registers+0x155/0x1f0
[4294994.060000] [<c0103d72>] die+0xe2/0x170
[4294994.060000] [<c02c08cc>] do_page_fault+0x1ec/0x648
[4294994.060000] [<c0103643>] error_code+0x4f/0x54
[4294994.060000] [<e0b70fca>] bttv_buffer_risc+0x61a/0x640 [bttv]
[4294994.060000] [<e0b667bb>] bttv_prepare_buffer+0xab/0x1a0 [bttv]
[4294994.060000] [<e0b66958>] buffer_prepare+0x38/0x40 [bttv]
[4294994.060000] [<e0a2a3cd>] videobuf_read_zerocopy+0x5d/0x100 [video_buf]
[4294994.060000] [<e0a2a622>] videobuf_read_one+0x1b2/0x210 [video_buf]
[4294994.060000] [<e0b69575>] bttv_read+0x115/0x120 [bttv]
[4294994.060000] [<c0155923>] vfs_read+0x93/0x150
[4294994.060000] [<c0155c8d>] sys_read+0x3d/0x70
[4294994.060000] [<c0102b2f>] sysenter_past_esp+0x54/0x75
[4294994.060000] Code: 8d 5f 2c 0d 00 00 00 10 89 01 8b 42 08 89 41 04 2b 72 0c 83 c1 08 8b 03 83 c2 10 83 c3 10 39 c6 77 e1 89 f0 89 d7 0d 00 00 00 14 <89> 01 8b 42 08 89 41 04 83 c1 08 89 f0 e9 5f ff ff ff 0f 0b 6b
[4294994.060000] <4>mtrr: 0xc0000000,0x10000000 overlaps existing 0xc0000000,0x8000000


> The OOPSes Duncan saw, I don't know about those: I wouldn't expect
> them to be due to this cause, but could be wrong.

I have been seeing occasional bttv related oopsen for a while now, since
2.6.14 at least. The lack of a picture and associated error messages
from xawtv are new. So likely you are right that they have different causes.

All the best,

Duncan.

2005-11-15 17:03:18

by Duncan Sands

[permalink] [raw]
Subject: Re: 2.6.15-rc1-git1: BTTV: no picture with grabdisplay; later, an Oops

>...
> with this change, I can't get as far as selecting channels (previous situation):
> I consistently get the following Oops on starting xawtv (tried three times).
> However, as well as your change I slimmed down my kernel config and turned on
> CONFIG_DEBUG_PAGEALLOC, so it is not clear whether the change to memory.c is
> responsable. I will try again, reverting the memory.c change.

Reverting the change, I still get the oops when I start xawtv. So for the moment
I am unable to say if your suggestion cures the "no picture" problem or not.

Best wishes,

Duncan.