[mythtv] Re: Ticket #430: Tuner busy on consecutive recordings

Jack Hyde jr at jrh.net
Sat Oct 8 20:32:06 UTC 2005


I am probably doing something stupid but it just crashes when it tried to
record at the new logging line. Small snippet from the BT:

[Switching to thread 13 (Thread 180236 (LWP 31440))]#0  0x00002aaaadc73f10
in QTime::second () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) bt full
#0  0x00002aaaadc73f10 in QTime::second () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#1  0x00002aaaadc76b26 in QDateTime::toTime_t ()
   from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#2  0x00002aaaadc77209 in QDateTime::secsTo () from
/usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#3  0x00002aaaab2d64b1 in TVRec::StartRecording (this=0x5de220,
    rcinfo=0x5f4a00) at tv_rec.cpp:430
        dtmp = {d = {jd = 2453652}, t = {ds = 37798129}}
        dtime = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x59e440, static shared_null = 0x59e440}, d = 0x5f4c40,
  static shared_null = 0x59e440}
        lock = {mtx = 0x5de368}
        msg = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x59e440, static shared_null = 0x59e440}, d = 0x5d7c30,
  static shared_null = 0x59e440}
        retval = rsAborted
#4  0x000000000041d24f in EncoderLink::StartRecording (this=0x5e1b60,
    rec=0x5f4a00) at encoderlink.cpp:407
        retval = rsAborted
---Type <return> to continue, or q <return> to quit---
#5  0x000000000044537a in MainServer::HandleRemoteEncoder (this=0x5ed080,
    slist=@0x2aaab446ce40, commands=@0x2aaab446ce20, pbs=0x5f3d10)
    at mainserver.cpp:2703
        pginfo = (ProgramInfo *) 0x5f4a00
        pbssock = (struct QSocket *) 0x5dda90
        recnum = 1
        iter = {node = 0x5e1aa0}
        command = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x59e440, static shared_null = 0x59e440}, d = 0x5e8c80,
  static shared_null = 0x59e440}
        retlist = {<QValueList<QString>> = {sh = 0x5da5e0}, <No data
fields>}
        enc = (EncoderLink *) 0x5e1b60
#6  0x00000000004302c8 in MainServer::ProcessRequestWork (this=0x5ed080,
    sock=0x5dda90) at mainserver.cpp:398
        listline = {<QValueList<QString>> = {sh = 0x5c70c0}, <No data
fields>}
        line = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x59e440, static shared_null = 0x59e440}, d = 0x5f2b00,
  static shared_null = 0x59e440}
        tokens = {<QValueList<QString>> = {sh = 0x5f2ce0}, <No data fields>}
        command = {static null = {
    static null = <same as static member of an already seen type>,
---Type <return> to continue, or q <return> to quit---
    d = 0x59e440, static shared_null = 0x59e440}, d = 0x5f3d90,
  static shared_null = 0x59e440}
        pbs = (class PlaybackSock *) 0x5f3d10
#7  0x000000000042f368 in MainServer::ProcessRequest (this=0x5ed080,
    sock=0x5dda90) at mainserver.cpp:232
No locals.
#8  0x0000000000456a02 in ProcessRequestThread::run (this=0x5f0760)
    at mainserver.cpp:83
No locals.
#9  0x00002aaaad9b42dd in QThreadInstance::start ()
   from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#10 0x00002aaaae003bb9 in pthread_start_thread () from /lib/libpthread.so.0
No symbol table info available.
#11 0x00002aaaae003c63 in pthread_start_thread_event ()
   from /lib/libpthread.so.0
No symbol table info available.
#12 0x00002aaaae6caf23 in clone () from /lib/libc.so.6
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.
#14 0x0000000000000000 in ?? ()
No symbol table info available.

-----Original Message-----
From: mythtv-dev-bounces at mythtv.org [mailto:mythtv-dev-bounces at mythtv.org]
On Behalf Of Daniel Kristjansson
Sent: Saturday, October 08, 2005 8:54 AM
To: Development of mythtv
Subject: Re: [mythtv] Re: Ticket #430: Tuner busy on consecutive recordings

On Sat, 2005-10-08 at 09:23 +0000, MythTV wrote:
> #430: Tuner busy on consecutive recordings
> Using r7410 it still misses every consecutive recording I throw at
> it. I recently enabled 90 global seconds of under and over recording
> just to see if it made a difference, but it didn't. It seems to not
> do consecutive recordings whether there is any global under and over
> recording time or not.

I think the WaitForEventThreadSleep() changes are a Red Herring.
Perhaps the inoverrecord state simply hasn't been entered when
StartRecording is called, but will be entered a few seconds in
the future.

Could you try adding this before "if (inoverrecord)"

    VERBOSE(VB_IMPORTANT, "inover("<<inoverrecord<<
        ") time-till end("<<
        QDateTime::currentDateTime().secsTo(curRecording->recendts));

It might tell us something....

I'm thinking perhaps this is a race with the event loop for
setting the inoverrecord variable. When it ran every 1/1000th
of a second it usually won, but now that we run it once a
second it often looses.

-- Daniel





More information about the mythtv-dev mailing list