[olug] mythbackend.log filling with errors... :(

Dan Linder dan at linder.org
Fri Feb 10 23:58:23 UTC 2012

Ok, a bit more work on this.  First I'll answer some questions.

On Tue, Feb 7, 2012 at 06:50, Ben Watson <bwatson1979 at gmail.com> wrote:

> Personally I don't see how failing channel scans would cause excess
> HDD activity; more like excess CPU.  Question: did you notice this
> period of increased HDD activity immediately following a recording
> job?

Nope - this is a fresh setup, and I have only one recording setup and it's
not scheduled to run until Sunday.

Plus, this system has been powered off for the past few days.  I booted it
and watched the mythbackend.log file until the system quieted down.  It
wasn't long until it started filling with lines like this:
2012-02-10 17:20:45.741 Could not find channel 7_1 in TVCT
2012-02-10 17:20:45.746
VCT Terra: channels(3) tsid(0x7b3) seclength(178)
Channel #0 name(NET HD) 26-1 mod(ATSC 8-VSB) cTSID(0x7b3)
 pnum(1) ETM_loc(1) access_ctrl(0) hidden(0) hide_guide(0)
service_type(ATSC TV) source_id(1)
 descriptors length(17) count(1)
  Service Location Descriptor (0xa1) length(15)

Channel #1 name(NET 2) 26-2 mod(ATSC 8-VSB) cTSID(0x7b3)
 pnum(2) ETM_loc(1) access_ctrl(0) hidden(0) hide_guide(0)
service_type(ATSC TV) source_id(2)
 descriptors length(29) count(1)
  Service Location Descriptor (0xa1) length(27)

Channel #2 name(NET 3) 26-3 mod(ATSC 8-VSB) cTSID(0x7b3)
 pnum(3) ETM_loc(1) access_ctrl(0) hidden(0) hide_guide(0)
service_type(ATSC TV) source_id(3)
 descriptors length(23) count(1)
  Service Location Descriptor (0xa1) length(21)

I traced down the "Channel #" code coming from
"./libs/libmythtv/mpeg/atsctables.cpp" in the MythTV code from this
function starting on line 186:
186 QString CableVirtualChannelTable::toString(int chan) const
..unfortunatly my C++ skills aren't the greatest, so all the calls to that
function aren't helping me.

Searching for the related "Could not find channel" output is only coming
from a single file: ./libs/libmythtv/dtvsignalmonitor.cpp

In that file, it's being produced by the DTVSignalMonitor::HandleTVCT code
on line 394..417:
398     int idx = tvct->Find(majorChannel, minorChannel);
403     if (idx < 0)
404     {
405         VERBOSE(VB_IMPORTANT, "Could not find channel "
406                 <<majorChannel<<"_"<<minorChannel<<" in TVCT");
407         VERBOSE(VB_IMPORTANT, endl<<tvct->toString());
409         return;
410     }

Now to take some time trying to figure out why the tvct->Find command on
398 is returning a value less than zero (assuming it's incorrect).


***************** ************* *********** ******* ***** *** **
"Quis custodiet ipsos custodes?"
    (Who can watch the watchmen?)
    -- from the Satires of Juvenal
"I do not fear computers, I fear the lack of them."
    -- Isaac Asimov (Author)
** *** ***** ******* *********** ************* *****************

More information about the OLUG mailing list