[mythtv] more on dvb record failure (race condition in signalmonitor.cpp?)

Mark Weaver mark-clist at npsl.co.uk
Tue Aug 23 16:16:37 UTC 2005


>>From the stack trace it looks like this is due to the lack of input
> handling code in DVBChannel. This is an old bug, but TVRec used to
> have special case code to work around the DVBChannel bug which I
> removed not knowing what it was. I just committed a fix which 
> should prevent this DVBChannel bug from causing a segfault without
> needing special case code for DVBChannel in TVRec.
> 
OK -- unfortunately now I get a different SIGSEGV.  I'll have a dig 
around in a bit, but you probably have more idea of what's going on than 
I do.  The frontend, for the few seconds it is running, displays "no 
lock, signal 0%" for all channels (in browse mode) and no output if 
that's of interest.  Attempting to change channel then causes the problem.

With the 0.18 release I get a picture and channel changing works ok.  If 
you want me to try anything else, then I'm happy to do so.

Thanks,

Mark

2005-08-23 17:09:49.241 MainServer::HandleAnnounce Playback
2005-08-23 17:09:49.243 adding: soapbox as a client (events: 0)
2005-08-23 17:09:49.251 adding: soapbox as a remote ringbuffer
2005-08-23 17:09:49.265 Changing from None to WatchingLiveTV
[New Thread -1355338832 (LWP 7337)]
[New Thread -1363727440 (LWP 7338)]
2005-08-23 17:09:49.379 DVB#0 Using DVB card 0, with frontend Zarlink 
MT352 DVB-T.
[New Thread -1373635664 (LWP 7340)]
2005-08-23 17:10:05.258 Waited too long for recorder to pause
2005-08-23 17:10:05.698 DVB#0 Signal Lock
2005-08-23 17:10:05.701 Got good signal
[Thread -1373635664 (LWP 7340) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1249125456 (LWP 7273)]
0x08120151 in ?? ()
(gdb) gdb
Undefined command: "gdb".  Try "help".
(gdb) bt
#0  0x08120151 in ?? ()
#1  0xb6b35be4 in QMutex::lock () from /usr/lib/libqt-mt.so.3
#2  0x080a5961 in QMutexLocker (this=0xb58bd3d0, m=0x818e308) at qmutex.h:96
#3  0xb7b70942 in SignalMonitor::Stop (this=0x818e2a8)
     at signalmonitor.cpp:147
#4  0xb7b6fefa in ~SignalMonitor (this=0x818e2a8, __vtt_parm=0xb7e66e64)
     at signalmonitor.cpp:121
#5  0xb7c33fe0 in ~DTVSignalMonitor (this=0x818e2a8, __vtt_parm=0xb7e66e60)
     at dvbsignalmonitor.cpp:52
#6  0xb7c9eec0 in ~DVBSignalMonitor (this=0x818e2a8)
     at dvbsignalmonitor.cpp:96
#7  0xb7bc3b7f in TVRec::TeardownSignalMonitor (this=0x810a160)
     at tv_rec.cpp:2138
#8  0xb7bc3ff0 in TVRec::SetSignalMonitoringRate (this=0x810a160, rate=0,
     notifyFrontend=0) at tv_rec.cpp:2174
#9  0xb7bbdcb5 in TVRec::RunTV (this=0x810a160) at tv_rec.cpp:1554
#10 0xb7bbd791 in TVRec::EventThread (param=0x810a160) at tv_rec.cpp:1509
#11 0xb6542b63 in start_thread () from /lib/tls/libpthread.so.0
#12 0xb63fb18a in clone () from /lib/tls/libc.so.6
(gdb)


More information about the mythtv-dev mailing list