[mythtv-users] mythbackend crashes

glen martin glenm at locutory.org
Fri Nov 19 19:33:42 UTC 2004


Ok, I've had some luck in tracking this error
down a little farther.  Those seeing the previous
episodes of this drama will remember that my backend
is hanging and then the whole system hangs. Initial
symptom is the IOBOUND message in the backend console.

I telneted into the backend's host with 4 windows
and ran everything remotely so I would retain the
console output after the system goes south.

The culprit appears to be a buffer overrun in btatsc
kernel module. This may be a cpu peg problem, but
since it is supposed to use DMA to xfer from the
buffer I'm guessing it may be a bus or memory
bandwidth problem.  Of course, the driver should
handle this a little more gracefully - it looks
from the rest of the messages that the buffer overrun
is writing someplace it really shouldn't (invalid opcode in
the IDE driver!).  And that being so, a thorough system
hang isn't hard to comprehend.

All this using my junior debugging skills, so take it
with a grain of salt. If someone brighter has a better 
notion of what's going on, I'm all ears.  My next step
will likely be to have a look at the kernel module
sources. Yech.


glen


Here's the backend console:

2004-11-18 19:45:39.636 adding: mythpc.locutory.org as a client (events:
1)
2004-11-18 19:46:42.046 MainServer::HandleAnnounce Playback
2004-11-18 19:46:42.046 adding: mythpc.locutory.org as a client (events:
0)
2004-11-18 19:46:42.087 MainServer::HandleAnnounce Playback
2004-11-18 19:46:42.087 adding: mythpc.locutory.org as a client (events:
0)
2004-11-18 19:46:42.121 adding: mythpc.locutory.org as a remote
ringbuffer
2004-11-18 19:46:42.131 Changing from None to WatchingLiveTV
2004-11-18 19:46:42.404 Maximum signal strength detected: 66% after 0
msec wait
2004-11-18 19:47:02.466 IOBOUND - blocking in
ThreadedFileWriter::Write()
2004-11-18 19:47:09.807 Changing from WatchingLiveTV to None
2004-11-18 19:47:17.466 Couldn't read data from the capture card in 15
seconds.  Game over, man.
Unable to write to client socket, as it's no longer there

And here's a tail -f of /var/spool/messages:

Nov 18 19:42:19 texada kernel: ivtv: v4l2 ioctl: set frequency 2804
Nov 18 19:42:20 texada kernel: ivtv: Finished with Mute
Nov 18 19:47:02 texada kernel: btatsc: buffer overrun
Nov 18 19:47:11 texada kernel: hde: dma_timer_expiry: dma status == 0x21
Nov 18 19:47:21 texada kernel: hde: DMA timeout error
Nov 18 19:47:21 texada kernel: hde: dma timeout error: status=0x58 {
DriveReady SeekComplete DataRequest }
Nov 18 19:47:21 texada kernel:
Nov 18 19:47:21 texada kernel: ide: failed opcode was: unknown
Nov 18 19:47:41 texada kernel: hde: dma_timer_expiry: dma status == 0x21
Nov 18 19:47:51 texada kernel: hde: DMA timeout error
Nov 18 19:47:51 texada kernel: hde: dma timeout error: status=0x58 {
DriveReady SeekComplete DataRequest }
Nov 18 19:47:51 texada kernel:
Nov 18 19:47:51 texada kernel: ide: failed opcode was: unknown
Nov 18 19:48:11 texada kernel: hde: dma_timer_expiry: dma status == 0x21
Nov 18 19:48:21 texada kernel: hde: DMA timeout error
Nov 18 19:48:21 texada kernel: hde: dma timeout error: status=0x58 {
DriveReady SeekComplete DataRequest }
Nov 18 19:48:21 texada kernel:
Nov 18 19:48:21 texada kernel: ide: failed opcode was: unknown
Nov 18 19:48:41 texada kernel: hde: dma_timer_expiry: dma status == 0x21



More information about the mythtv-users mailing list