[mythtv-users] Backend safe_read() fails after several hours of livetv

Mark Cooke mpc at jts.homeip.net
Thu Jan 27 07:49:53 EST 2005


Hi all,

Another oddity I've noticed (CVS 27-01-2005 and earlier) is that if I
fall asleep with livetv on, after a few hours the slave backend will
crash/abort with a safe_read() error. (The slave is the one capturing at
the time)

There is plenty of disk space left at the time of the crash and no
recordings scheduled at the time of the crash.

The time of the crash is soon[*] after the ring buffer has stopped
growing and presumably should have wrapped back to the start of the
file.

Both the backend and frontend viewer are accessing the livetv buffer
through nfs mounts.

[*] The frontend is over wireless 802.11b, and does slip behind realtime
fairly easily with network slowdowns, which could fairly easily explain
the 30 minute gap between the ringbuffer file size ceasing to increase,
and the failure of safe_read() - which presumably was when the frontend
reached the end of the ring buffer.

Backend logs just before the crash aren't helpful.  Nothing unusual:

Slave backend:
2005-01-27 08:35:14.013 16      1[]:[]1073726716
2005-01-27 08:35:14.123 6       128000
2005-01-27 08:35:14.443 6       128000
2005-01-27 08:35:14.823 6       128000
2005-01-27 08:35:15.133 6       128000
2005-01-27 08:35:15.463 6       128000
2005-01-27 08:35:15.703 16      1[]:[]1074349788
ERROR: file I/O problem in 'safe_read()': Invalid argument
ERROR: file I/O problem in 'safe_read()': Invalid argument
ERROR: file I/O problem in 'safe_read()': Invalid argument

Master backend just flags the slave died at 08:35:

2005-01-27 08:35:12.236 JobQueue::RecoverQueue: Checking for unfinished
jobs to recover.
2005-01-27 08:35:12.243 JobQueue::GetJobsInQueue: findJobs search
bitmask 4, found 0 total jobs
2005-01-27 08:35:14.788 JobQueue::GetJobsInQueue: findJobs search
bitmask 4, found 0 total jobs
2005-01-27 08:35:15.878 Slave backend: tv.kitchen has left the building
2005-01-27 08:35:16.870 Reschedule requested for id 0.
2005-01-27 08:35:16.875 PruneOldRecords...
2005-01-27 08:35:16.877 AddNewRecords...

Sadly I didn't have frontend logging setup on the laptop.  However, the
frontend was not playing video - just stuck on a black screen (had to
ctrl-alt-bkspc to recover).

I was also monitoring the livetv buffer with:
$ while true; do ls -l /mnt/d4/livetv/ ; sleep 300 ; done

-rw-r--r--  1 mythtv mythtv 36163584 Jan 27 04:41 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 168880404 Jan 27 04:46 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 299571180 Jan 27 04:51 ringbuf3.nuv
...
-rw-r--r--  1 mythtv mythtv 4708497228 Jan 27 07:36 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 4843679052 Jan 27 07:41 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 4974696956 Jan 27 07:46 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5107735804 Jan 27 07:51 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5243085612 Jan 27 07:56 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:01 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:06 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:11 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:16 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:21 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:26 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:31 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:35 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:35 ringbuf3.nuv
-rw-r--r--  1 mythtv mythtv 5368709120 Jan 27 08:35 ringbuf3.nuv
(repeated until I restarted backend and started livetv again)

This is repeatable, and not just a one-off.

Any ideas ?

Mark

-- 
Mark Cooke <mpc at jts.homeip.net>



More information about the mythtv-users mailing list