[mythtv] backend crash on dvb channel change, backtrace included

Juha Pahkala juhis at trinity.is-a-geek.com
Mon May 3 03:09:32 EDT 2004


Hello,

I'm experiencing a mythbackend crash when changing channels. I've tried
several cvs snapshots recently, and this bug seems to affect them all. I
have a DVB setup with one capture card. It's around 90% reproducable when
changing to one particular channel, channel #3 (MTV3 in HTV cable network
in Helsinki). With other channels, I'm not sure if I've ever seen it.

The DVB setup, including this particular channel, is know to work using
eg. mplayer. But it's really strange it seems to be only this one channel
that mythtv is having difficulties with. Attached is a backtrace of the
situation, if someone with a little bit of understanding of mythtv could
take a look at it and see what's going on, I'd be really grateful. Also,
It'd be interesting to know if anybody else has a setup that is
succesfully working here in Helsinki with 'MTV3' the channel I'm having
trouble with.

Best regards,

Juha


bash:# gdb mythbackend
GNU gdb 6.1-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-linux"...Using host libthread_db library
"/lib/tls/libthread_db.so.1".

(gdb) handle SIGPIPE nostop
Signal        Stop      Print   Pass to program Description
SIGPIPE       No        Yes     Yes             Broken pipe
(gdb) run
Starting program: /usr/local/mythtv-x11/bin/mythbackend
[Thread debugging using libthread_db enabled]
[New Thread 1097051136 (LWP 22501)]
Starting up as the master server.
2004-05-03 08:26:41 DVB#0 Using DVB card 0, with frontend VES1820 based
DVB-C frontend.
2004-05-03 08:26:44 DVB#0 WARNING - Status: NO LOCK!
2004-05-03 08:26:45 DVB#0 WARNING - Status: CARRIER | VITERBI | SIGNAL |
NO LOCK!
2004-05-03 08:26:45 DVB#0 Successfully tuned to channel 1.
[New Thread 1107188656 (LWP 22517)]
[New Thread 1115577264 (LWP 22518)]
[New Thread 1123965872 (LWP 22519)]
[New Thread 1132354480 (LWP 22520)]
[New Thread 1140743088 (LWP 22521)]
[New Thread 1149131696 (LWP 22522)]
2004-05-03 08:26:45 mythbackend version: 0.15.20040331-1 www.mythtv.org
2004-05-03 08:26:45 Enabled verbose msgs : important general
[New Thread 1157520304 (LWP 22523)]
[New Thread 1165908912 (LWP 22524)]
[New Thread 1174297520 (LWP 22525)]
[New Thread 1182686128 (LWP 22526)]
[New Thread 1191074736 (LWP 22527)]
2004-05-03 08:26:47 Found changes in the todo list.
2004-05-03 08:26:49 Scheduled 19 items in 1.51726 seconds.
2004-05-03 08:26:49 Recording starts soon, AUTO-Startup assumed
2004-05-03 08:28:41 MainServer::HandleAnnounce Playback
2004-05-03 08:28:41 adding: server as a client (events: 0)
2004-05-03 08:28:41 Getting next free recorder : -1
2004-05-03 08:28:41 MainServer::HandleAnnounce Playback
2004-05-03 08:28:41 adding: server as a client (events: 1)
2004-05-03 08:28:41 MainServer::HandleAnnounce Playback
2004-05-03 08:28:41 adding: server as a client (events: 0)
[New Thread 1201564592 (LWP 22552)]
2004-05-03 08:28:42 MainServer::HandleAnnounce Playback
2004-05-03 08:28:42 adding: server as a client (events: 0)
2004-05-03 08:28:42 adding: server as a remote ringbuffer
2004-05-03 08:28:42 Changing from None to WatchingLiveTV
[New Thread 1211104176 (LWP 22553)]
2004-05-03 08:28:42 DVB#0 Recorder: Card opened successfully.
[New Thread 1219492784 (LWP 22554)]
Audiostream: Layer: 1  BRate: 224 kb/s  Freq: 48.0 kHz
Videostream: ASPECT: 4:3  Size = 720x576  FRate: 25 fps  BRate: 10.00 Mbit/s
2004-05-03 08:29:19 DVB#0 WARNING - Status: NO LOCK!
2004-05-03 08:29:19 DVB#0 Successfully tuned to channel 3.
2004-05-03 08:29:19 DVB#0 WARNING - Uncorrectable error in packet, dropped.
Audiostream: Layer: 2  BRate: 32 kb/s  Freq: 48.0 kHz

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1211104176 (LWP 22553)]
0x4039e23c in ps_pes (p=0x80e6848) at dvbdev/transform.c:1976
1976                    if (pv->has_vi && pv->vi.bit_rate && !pv->muxr){
Current language:  auto; currently c

Thread 15 (Thread 1219492784 (LWP 22554)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4134ab18 in sleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x4037576d in DVBRecorder::QualityMonitorThread (this=0x80df1d8)
    at dvbrecorder.cpp:817
        fe_stats = {snr = 1074000112, ss = 1078984703, ber = 0,
  ub = 4294967295, status = 31}
        cardid = 9
#3  0x40375d7d in DVBRecorder::QualityMonitorHelper (self=0x80df1d8)
    at dvbrecorder.cpp:861
No locals.
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 14 (Thread 1211104176 (LWP 22553)):
#0  0x4039e23c in ps_pes (p=0x80e6848) at dvbdev/transform.c:1976
        check = 1077537389
        pbuf =
"Ð÷/H\224KO at H÷/H¡x7@Ð÷/H(\025\016\b\005p\034B\001\000\000"
        SCR = 0
        pv = (ipack *) 0x78
        pa = (ipack *) 0x80e6848
#1  0x4039e6b4 in send_ipack (p=0x80e6848) at dvbdev/transform.c:2046
        streamid = 0
        off = 1211103208
        ac3_off = 0
        ai = {layer = 1208025088, bit_rate = 1078938516,
  frequency = 1211103144, mode = 1077373643, mode_extension = 1211103192,
  emphasis = 1078938516, framesize = 1211103176, off = 1077373761}
        nframes = 0
        f = 0
#2  0x4039f4b9 in instant_repack (buf=0x80f64a6 "", count=110, p=0x80e6848)
    at dvbdev/transform.c:2389
0        l = 96
        pl = (short unsigned int *) 0x80f64aa
        c = 110
#3  0x40374780 in DVBRecorder::ReadFromDMX (this=0x80df1d8)
    at dvbrecorder.cpp:583
        pes_offset = 74
        pid = 128
        cc = 2 '\002'
        content = 3 '\003'
        ip = (ipack *) 0x80e6848
        pkts = 43
        curpkt = 25
        readsz = 8084
        pktbuf = (
    unsigned char *) 0x80f6458 "G@\2002IQß¡½x~»\003\237¸t", 'ÿ'
<repeats 62 times>
#4  0x40373002 in DVBRecorder::StartRecording (this=0x80df1d8)
    at dvbrecorder.cpp:453
        ret = 1
        dataflow = 1
        polls = {fd = 25, events = 1, revents = 1}
        qualthread = 1219492784
        qthreadexists = true
#5  0x4034cff6 in SpawnEncode (param=0x80df200) at tv_rec.cpp:40
        nvr = (class RecorderBase *) 0x80df200
#6  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#7  0x00000000 in ?? ()
No symbol table info available.

Thread 13 (Thread 1201564592 (LWP 22552)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x41373ffb in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x4023f047 in ThreadedFileWriter::DiskLoop (this=0x80e53f8)
    at RingBuffer.cpp:212
        size = 0
        timer = {ds = 30556711}
#3  0x4023e7b1 in ThreadedFileWriter::boot_writer (wotsit=0x80e53f8)
    at RingBuffer.cpp:91
        fw = (ThreadedFileWriter *) 0x80e53f8
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 12 (Thread 1191074736 (LWP 22527)):
#0  0x411b20e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x40f0c478 in QWaitCondition::wait () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#2  0x0807ea0f in ProcessRequestThread::run (this=0x80d48e8)
    at mainserver.cpp:61
No locals.
#3  0x40c1cf3a in QThreadInstance::start () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 11 (Thread 1182686128 (LWP 22526)):
#0  0x411b4236 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x411b215e in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#2  0x40f0c478 in QWaitCondition::wait () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#3  0x0807ea0f in ProcessRequestThread::run (this=0x80d47a0)
    at mainserver.cpp:61
No locals.
#4  0x40c1cf3a in QThreadInstance::start () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#5  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#6  0x00000000 in ?? ()
No symbol table info available.

Thread 10 (Thread 1174297520 (LWP 22525)):
#0  0x411b20e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x40f0c478 in QWaitCondition::wait () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#2  0x0807ea0f in ProcessRequestThread::run (this=0x80d4658)
    at mainserver.cpp:61
No locals.
#3  0x40c1cf3a in QThreadInstance::start () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 9 (Thread 1165908912 (LWP 22524)):
#0  0x411b20e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x40f0c478 in QWaitCondition::wait () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#2  0x0807ea0f in ProcessRequestThread::run (this=0x80d4510)
    at mainserver.cpp:61
No locals.
#3  0x40c1cf3a in QThreadInstance::start () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 8 (Thread 1157520304 (LWP 22523)):
#0  0x411b20e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x40f0c478 in QWaitCondition::wait () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#2  0x0807ea0f in ProcessRequestThread::run (this=0x80d4400)
    at mainserver.cpp:61
No locals.
#3  0x40c1cf3a in QThreadInstance::start () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 7 (Thread 1149131696 (LWP 22522)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4134ab18 in sleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x0809454c in Transcoder::TranscodePoll (this=0x80d4108)
    at transcoder.cpp:419
        transData = (TranscodeData *) 0x0
#3  0x08094635 in Transcoder::TranscodePollThread (param=0x80d4108)
    at transcoder.cpp:437
        thetv = (Transcoder *) 0x80d4108
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 6 (Thread 1140743088 (LWP 22521)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4134ab18 in sleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x0809688e in HouseKeeper::RunHouseKeeping (this=0x80d3c20)
    at housekeeper.cpp:152
        period = 0
        maxhr = 0
        minhr = 0
#3  0x080973bf in HouseKeeper::doHouseKeepingThread (param=0x80d3c20)
    at housekeeper.cpp:211
        hkeeper = (HouseKeeper *) 0x80d3c20
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 5 (Thread 1132354480 (LWP 22520)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4134ab18 in sleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x080549db in AutoExpire::RunExpirer (this=0x80d3b18) at
autoexpire.cpp:121
        statbuf = {f_type = 61267, f_bsize = 4096, f_blocks = 28845040,
  f_bfree = 8897470, f_bavail = 7725263, f_files = 14663680,
  f_ffree = 14663511, f_fsid = {__val = {0, 0}}, f_namelen = 255,
  f_frsize = 4096, f_spare = {0, 0, 0, 0, 0}}
        freespace = 29
        minFree = 0
        recordfileprefix = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80d4070,
  static shared_null = 0x80ae070}
#3  0x08054a55 in AutoExpire::ExpirerThread (param=0x80d3b18)
    at autoexpire.cpp:128
        expirer = (AutoExpire *) 0x80d3b18
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 1123965872 (LWP 22519)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4134ab18 in sleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x08087780 in Scheduler::RunScheduler (this=0x80d8688)
    at scheduler.cpp:1047
        statuschanged = false
        recIter = {<std::_List_iterator_base> = {
    _M_node = 0x80e0fc8}, <No data fields>}
        prerollseconds = 0
        secsleft = 40
        nexttv = (EncoderLink *) 0x0
        nextRecording = (ProgramInfo *) 0x80d6a70
        nextrectime = {d = {jd = 2453129}, t = {ds = 30600000}}
        curtime = {d = {jd = 2453129}, t = {ds = 30559536}}
        lastupdate = {d = {jd = 2453129}, t = {ds = 30407505}}
        recordfileprefix = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80d3fd0,
  static shared_null = 0x80ae070}
        startIter = {<std::_List_iterator_base> = {
    _M_node = 0x80e0fc8}, <No data fields>}
        blockShutdown = false
        idleSince = {d = {jd = 0}, t = {ds = 0}}
        idleTimeoutSecs = 0
        idleWaitForRecordingTime = 15
        firstRun = false
        fillstart = {tv_sec = 1083562007, tv_usec = 573018}
        fillend = {tv_sec = 1083562009, tv_usec = 90276}
#3  0x08088065 in Scheduler::SchedulerThread (param=0x80d8688)
    at scheduler.cpp:1156
        sched = (Scheduler *) 0x80d8688
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 1115577264 (LWP 22518)):
#0  0x4134acdc in nanosleep () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x41373ffb in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x40352710 in TVRec::RunTV (this=0x80d3da8) at tv_rec.cpp:787
No locals.
#3  0x403526a5 in TVRec::EventThread (param=0x80d3da8) at tv_rec.cpp:769
        thetv = (TVRec *) 0x80d3da8
#4  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x00000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 1107188656 (LWP 22517)):
#0  0x413710b5 in poll () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4039512c in DVBSections::ThreadLoop (this=0x80db050)
    at dvbsections.cpp:189
        ret = 1
        buffer = "\002±¯\000\021ß\000\000
\200ð\023\f\004\200´\201h\016\003ÀM\032\020\006ÀM\032À\b\000\002â\000ð\020\002\003\032H_R\001\000\016\003ÀEÙ\006\001\002\004â\212ð\021\003\001g\n\004fin\000R\001\212\016\003À\002v\006é\021ð\f\016\003À\003\037V\005fin\t\000\006ä\003ð\017\016\003À\000\200Y\bfin\021\000\001\0002\006ä\004ð\017\016\003À\000\200Y\bswe\021\000\002\0002\005ì0ð\a\016\003À\0004o\000\vì&ð$\016\003À\000\003R\001e\023\005\000\000\f&\000\024\r\000e\000\000\bÿÿÿÿÿÿÿÿf\004\000ð\000\001\vì'ð$\016\003À\000\003R\001Ê\023\005\000"...
        head = {table_id = 2 '\002', section_length = 431, table_id_ext = 17,
  current_next = true, version = 15 '\017', section_number = 0 '\0',
  section_last = 0 '\0'}
#2  0x403950bb in DVBSections::ThreadHelper (cls=0x80db050)
    at dvbsections.cpp:174
No locals.
#3  0x411af974 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#4  0x00000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 1097051136 (LWP 22501)):
#0  0x411b242f in pthread_cond_signal@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x40f0c1c2 in QWaitCondition::wakeOne () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#2  0x0807cc51 in ProcessRequestThread::setup (this=0x80d47a0,
sock=0x80d6758)
    at mainserver.cpp:42
No locals.
#3  0x08062880 in MainServer::readSocket (this=0x80d42e8) at
mainserver.cpp:171
        socket = (struct QSocket *) 0x80d6758
        testsock = (PlaybackSock *) 0x80e4fa0
        prt = (ProcessRequestThread *) 0x80d47a0
#4  0x08097aa4 in MainServer::qt_invoke (this=0x80d42e8, _id=6,
_o=0xbfffe090)
    at moc_mainserver.cpp:100
No locals.
#5  0x40c84dac in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#6  0x40c84be4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#7  0x40fd1bfe in QSocket::readyRead () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#8  0x40e73327 in QSocket::sn_read () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#9  0x40fd1ce3 in QSocket::qt_invoke () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#10 0x40c84dac in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#11 0x40c84f0d in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#12 0x40fa3142 in QSocketNotifier::activated () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#13 0x40ca0d30 in QSocketNotifier::event () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#14 0x40c2948f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#15 0x40c28a9b in QApplication::notify () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#16 0x40c191ca in QEventLoop::activateSocketNotifiers ()
   from /usr/lib/libqt-mt.so.3
No symbol table info available.
#17 0x40bd4b28 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#18 0x40c3ccf8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#19 0x40c3cba8 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#20 0x40c296e1 in QApplication::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#21 0x08060479 in main (argc=1, argv=0xbffffa34) at main.cpp:609
        a = <incomplete type>
        logfile = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80b61f8,
  static shared_null = 0x80ae070}
        binname = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80b6230,
  static shared_null = 0x80ae070}
        verboseString = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80b6270,
  static shared_null = 0x80ae070}
        daemonize = false
        printsched = false
        nosched = false
        printexpire = false
        logfd = -1
        pidfs = <incomplete type>
        db = (struct QSqlDatabase *) 0x80be158
        subthread = (struct QSqlDatabase *) 0x80be520
        expthread = (struct QSqlDatabase *) 0x80bfce0
        hkthread = (struct QSqlDatabase *) 0x80c0050
        transthread = (struct QSqlDatabase *) 0x80bf018
        msdb = (struct QSqlDatabase *) 0x80be888
        port = 6543
        statusport = 6544
        myip = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80d37d8,
  static shared_null = 0x80ae070}
        masterip = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80ae070, static shared_null = 0x80ae070}, d = 0x80d36a8,
  static shared_null = 0x80ae070}
        ismaster = true
        runsched = true
        expdb = (struct QSqlDatabase *) 0x80bfce0
        hkdb = (struct QSqlDatabase *) 0x80c0050
        trandb = (struct QSqlDatabase *) 0x80bf018
0x4039e23c      1976                    if (pv->has_vi && pv->vi.bit_rate
&& !pv->muxr){



More information about the mythtv-dev mailing list