[mythtv] Backend crashes almost daily

Dave dave at 0bits.com
Mon Oct 8 07:02:37 UTC 2007


Are you shure this is related ?

Crashes in qt is frontend specific (i.e. the GUI) and should not happen 
in the backend ? I'm not sure this is the same issue. I'm away from my 
machine at the moment (am in las vegas at the mo) so can't check the 
code to verify, but this looks like a error in the signal monitor code 
as oposed to the previous eit scanner.

Did you do a full restart of the front/back end ?

Cheers
D
-------- Original Message --------
Subject: Re: [mythtv]  Backend crashes almost daily
Date: Sun, 7 Oct 2007 20:51:24 +0200
From: flo <flo at flobittner.de>
To: Dave <dave at 0bits.com>
CC: mythtv-dev at mythtv.org
References: <47081A14.6010006 at 0bits.com>

Crashed again!

In pespacket.cpp i changed the return to false:
     {
         VERBOSE(VB_RECORD, "AddTSPacket: Out of sync!!! "
                 "Need to wait for next payloadStart" +
                 QString(" PID: 0x%1, continuity counter: %2 (expected 
%3).")
                 .arg(packet->PID(),0,16).arg(cc).arg(ccExp));
         return false;
     }

After 10 hours i got this now:

*************************************** gdb.txt
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1090525504 (LWP 29843)]
EITCache::DropChannel (this=0x773ad0, channel=4366348010)
at /usr/lib/qt3/include/qmap.h:675
675             return sh->node_count;

Thread 420 (Thread 1241594176 (LWP 24135)):
#0  0x00002aba6ee07302 in __select_nocancel () from /lib64/libc.so.6
No symbol table info available.
#1  0x00002aba69e6b8eb in DVBSignalMonitor::RunTableMonitorTS
(this=0x2aaaac02ce50) at dvbsignalmonitor.cpp:367
         timeout = {tv_sec = 0, tv_usec = 32000}
         len = 376
         remainder = 0
         buffer_size = 2820000
         buffer = <value optimized out>
         dvr_fname = {static null = {static null = <same as static 
member of an
already seen type>, d = 0x705e20, static share
d_null = 0x705e20}, d = 0xaed5d0, static shared_null = 0x705e20}
         dvr_fd = 27
         fd_select_set = {fds_bits = {0 <repeats 16 times>}}
#2  0x00002aba69e6d3a9 in DVBSignalMonitor::TableMonitorThread 
(param=0x1c) at
dvbsignalmonitor.cpp:173
No locals.
#3  0x00002aba6e3d409e in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#4  0x00002aba6ee0d4cd in clone () from /lib64/libc.so.6
No symbol table info available.
#5  0x0000000000000000 in ?? ()
No symbol table info available.
...
*************************************** myth.log

2007-10-07 20:01:15.119 TVRec(2): Got good signal
2007-10-07 20:01:15.136 TVRec(2): ClearFlags(WaitingForSignal,) ->
RunMainLoop,AskAllowRecording,SignalMonitorRunning,EITScannerRunning,
2007-10-07 20:01:15.146 DVBSM(3)::AddPIDFilter(0x12):
2007-10-07 20:01:15.151 DVBSM(3)::AddPIDFilter(0xb11):
2007-10-07 20:01:15.152 DVBSM(3)::AddPIDFilter(0xb12):
2007-10-07 20:01:17.203 DTVSM(3)::SetNIT(): net_id = 133
2007-10-07 20:01:17.215 SM(3)::AddFlags: Seen(NIT,) Match() Wait()
2007-10-07 20:01:53.350 MainServer::HandleAnnounce Monitor
2007-10-07 20:01:53.446 adding: server as a client (events: 0)
2007-10-07 20:03:05.189 EITScanner: Added 178 EIT Events
2007-10-07 20:03:05.190 EITScanner: Added 5 EIT Events
2007-10-07 20:04:30.471 TVRec(1): SetChannel() -- begin
2007-10-07 20:04:30.538 TVRec(1): ClearFlags(RingBufferReady,) ->
RunMainLoop,SignalMonitorRunning,EITScannerRunning,
2007-10-07 20:04:30.539 TVRec(1): Request: Program(no) channel(29) input()
flags(EITScan,)
2007-10-07 20:04:30.559 TVRec(1): TeardownSignalMonitor() -- begin
2007-10-07 20:04:30.560 DVBSM(2)::Stop: begin
2007-10-07 20:04:30.573 SM(2)::Stop: begin
2007-10-07 20:04:30.671 SM(2)::Stop: end
2007-10-07 20:04:30.675 DVBSM(2): RunTableMonitorTS(): shutdown
2007-10-07 20:04:30.687 DVBSM(2)::RemovePIDFilter(0x0):
2007-10-07 20:04:30.688 DVBSM(2)::RemovePIDFilter(0x10):
2007-10-07 20:04:30.695 DVBSM(2)::RemovePIDFilter(0x11):
2007-10-07 20:04:30.715 DVBSM(2)::RemovePIDFilter(0x12):
2007-10-07 20:04:30.723 DVBSM(2)::RemovePIDFilter(0x64):
2007-10-07 20:04:30.724 DVBSM(2)::RemovePIDFilter(0xb11):
2007-10-07 20:04:30.731 DVBSM(2)::RemovePIDFilter(0xb12):
2007-10-07 20:04:30.739 DVBSM(2): RunTableMonitorTS(): end
2007-10-07 20:04:30.771 DVBSM(2)::Stop: end
2007-10-07 20:04:30.772 TVRec(1): TeardownSignalMonitor() -- end
2007-10-07 20:04:30.773 TVRec(1): ClearFlags(SignalMonitorRunning,) ->
RunMainLoop,EITScannerRunning,
2007-10-07 20:04:30.774 TVRec(1): ClearFlags(PENDINGACTIONS,) ->
RunMainLoop,EITScannerRunning,
2007-10-07 20:04:30.774 DVBChan(2): Opening DVB channel
2007-10-07 20:04:30.775 DVBChan(2): SetChannelByString(29):
2007-10-07 20:04:30.796 DVBChan(2): Frequency: 12460500 Symbol Rate: 
27500000
Pol: h Inv: Auto
2007-10-07 20:04:30.798 DVBChan(2): Old Params: Frequency: 11719500 Symbol
Rate: 27500000 Pol: h Inv: Auto
			DVBChan(2): New Params: Frequency: 12460500 Symbol Rate: 27500000 Pol: h
Inv: Auto
2007-10-07 20:04:30.798 DVBChan(2): Tune(): Tuning to 1860500kHz
2007-10-07 20:04:30.801 dvbchannel.cpp:wait_for_backend: Status:
Signal,Carrier,
2007-10-07 20:04:30.802 DVBChan(2): Tune(): Frequency tuning successful.
2007-10-07 20:04:30.803 DVBChan(2): SetChannelByString(29): Tuned to
frequency.
2007-10-07 20:04:30.804 TVRec(1): Starting Signal Monitor
2007-10-07 20:04:30.804 TVRec(1): SetupSignalMonitor(1, 0)
2007-10-07 20:04:30.805 DVBChan(2): Opening DVB channel
2007-10-07 20:04:30.807 SM(2)::AddFlags: Seen() Match() 
Wait(Sig,SNR,BER,UB,)
2007-10-07 20:04:30.808 DVBSM(2)::constructor(): initial flags 0x7400000
2007-10-07 20:04:31.111 TVRec(1): Signal monitor successfully created
2007-10-07 20:04:31.204 TVRec(1): Setting up table monitoring.
2007-10-07 20:04:31.215 Using profile 'Live TV' to record
2007-10-07 20:04:31.236 TVRec(1): DVB service_id 1793 on net_id 133 tsid 5
2007-10-07 20:04:31.243 DTVSM(2)::SetDVBService(transport_id: 5, 
network_id:
133, service_id: 1793):
2007-10-07 20:04:31.247 SM(2)::RemoveFlags: Seen(PMT,SDT,) Match(PMT,SDT,)
Wait()
2007-10-07 20:04:31.255 SM(2)::AddFlags: Seen() Match() Wait(PMT,SDT,)
2007-10-07 20:04:31.259 SM(2)::AddFlags: Seen() Match() Wait(PMT,SDT,)
2007-10-07 20:04:31.268 SM(2)::AddFlags: Seen() Match() Wait()
2007-10-07 20:04:31.268 TVRec(1): Successfully set up DVB table monitoring.
2007-10-07 20:04:31.269 SM(2)::Start: begin
2007-10-07 20:04:31.283 DVBSM(2)::UpdateValues: Signal Locked
2007-10-07 20:04:31.284 SM(2)::Start: end
2007-10-07 20:04:31.299 TVRec(1): SetFlags(SignalMonitorRunning,) ->
RunMainLoop,SignalMonitorRunning,EITScannerRunning,
2007-10-07 20:04:31.300 TVRec(1): ClearFlags(WaitingForSignal,) ->
RunMainLoop,SignalMonitorRunning,EITScannerRunning,
2007-10-07 20:04:31.301 TVRec(1): SetFlags(WaitingForSignal,) ->
RunMainLoop,WaitingForSignal,SignalMonitorRunning,EITScannerRunning,
2007-10-07 20:04:31.302 TVRec(1): ClearFlags(NeedToStartRecorder,) ->
RunMainLoop,WaitingForSignal,SignalMonitorRunning,EITScannerRunning,
2007-10-07 20:04:31.300 DVBSM(2)::UpdateValues: Waiting for table 
monitor to
start
2007-10-07 20:04:31.304 DVBSM(2)::UpdateValues: Table monitor started
2007-10-07 20:04:31.303 TVRec(1): SetChannel() -- end
2007-10-07 20:04:31.303 DVBSM(2): RunTableMonitorTS(): begin (# of pids 3)
2007-10-07 20:04:31.311 DVBSM(2)::AddPIDFilter(0x0):
2007-10-07 20:04:31.312 DVBSM(2)::AddPIDFilter(0x10):
2007-10-07 20:04:31.313 DVBSM(2)::AddPIDFilter(0x11):
2007-10-07 20:04:31.307 EITScanner: Now looking for EIT data on 
multiplex of
channel 29

***************************************

It's not the same channel as before, this channel also was set to
useonairguide=1. Did i mess up the database when i used some sql 
commends and
set useonairguide=0 for channels i don't use? How does the crawler use this
attribute? Is it ok to activate only some channels on a transponder?

Or could my hardware be damaged, i have some problems with 2 transponders
whose channels have interferences!?

Thanks,
Flo


More information about the mythtv-dev mailing list