[mythtv] Segfault when changing channels

John Patrick Poet john at BlueSkyTours.com
Fri Jun 25 02:07:56 EDT 2004


I consistantly get a frontend segfault when changing channels from my 
NBC station to my CBS station, while watching live TV.  This occurs if I 
use "browse" mode to switch, or if I bring up the EPG and then select 
the CBS station.

It is probably relavent to note, that my NBC station is SDTV 720x480, 
while my CBS station is HDTV 1920x1088.  Why they broadcast at 1088 
instead of 1080, I do not know.

I have attached a BT.  I do not know/understand enough of how the video 
is decoded to diagnose this myself.  I do know c++, however, and can 
probably provide more information if someone can tell me what to do.

Thanks,

John

-------------- next part --------------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1132211120 (LWP 7318)]
0x480056cd in malloc_consolidate () from /lib/tls/libc.so.6

(gdb) thread apply all bt full

Thread 6 (Thread 1123703728 (LWP 7317)):
#0  0xffffe410 in ?? ()
No symbol table info available.
#1  0x42fa59a8 in ?? ()
No symbol table info available.
#2  0x403f7d5c in ?? () from /usr/local/lib/libmythtv-0.15.so.0
No symbol table info available.
#3  0x00000000 in ?? ()
No symbol table info available.
#4  0x4802a446 in __nanosleep_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#5  0x4805873a in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#6  0x402588fb in TV::RunTV (this=0x82eb850) at tv_play.cpp:1019
        keypressed = (QKeyEvent *) 0x8305380
        updatecheck = 2
#7  0x40258670 in TV::EventThread (param=0x82eb850) at tv_play.cpp:985
        thetv = (class TV *) 0x82eb850
#8  0x481fa98c in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#9  0x4805f16a in clone () from /lib/tls/libc.so.6
No symbol table info available.

Thread 5 (Thread 1132211120 (LWP 7318)):
#0  0x480056cd in malloc_consolidate () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x4800556f in _int_free () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x4800673b in free () from /lib/tls/libc.so.6
No symbol table info available.
#3  0x48311dd3 in operator delete () from /usr/lib/libstdc++.so.5
No symbol table info available.
#4  0x48311e2f in operator delete[] () from /usr/lib/libstdc++.so.5
No symbol table info available.
#5  0x402b585b in AvFormatDecoder::GetFrame (this=0x82de7e8, onlyvideo=0)
    at avformatdecoder.cpp:1325
        pkt = (AVPacket *) 0x8303f80
        len = 0
        ret = 58300
        ptr = (unsigned char *) 0x455643c4 ""
        samples = (short int *) 0x86c8390
        data_size = 6144
        pts = 30234455
        firstloop = false
        allowedquit = true
        storevideoframes = false
#6  0x401b7103 in NuppelVideoPlayer::GetFrame (this=0x82e7ca8, onlyvideo=0, 
    unsafe=false) at NuppelVideoPlayer.cpp:702
No locals.
#7  0x401bc609 in NuppelVideoPlayer::StartPlaying (this=0x82e7ca8)
    at NuppelVideoPlayer.cpp:2124
        output_video = 1187515312
        pausecheck = 0
#8  0x40250fd6 in SpawnDecode (param=0x82e7ca8) at tv_play.cpp:169
        nvp = (NuppelVideoPlayer *) 0x82e7ca8
#9  0x481fa98c in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#10 0x4805f16a in clone () from /lib/tls/libc.so.6
No symbol table info available.

Thread 4 (Thread 1140603824 (LWP 7319)):
#0  0xffffe410 in ?? ()
No symbol table info available.
#1  0x43fc37e8 in ?? ()
No symbol table info available.
#2  0x00000000 in ?? ()
No symbol table info available.
#3  0x43fc3750 in ?? ()
No symbol table info available.
#4  0x48057e61 in ___newselect_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#5  0x40e6ca79 in QSocketDevice::waitForMore ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#6  0x40817734 in RemoteFile::Read (this=0x8308da8, data=0x4407f808, 
    size=256000) at remotefile.cpp:240
        recv = 0
        sent = 256000
        zerocnt = 1
        error = false
        response = false
        strlist = {<QValueList<QString>> = {sh = 0x44365118}, <No data fields>}
#7  0x40230c34 in RingBuffer::safe_read (this=0x82dc9e8, rf=0x8308da8, 
    data=0x4407f808, sz=256000) at RingBuffer.cpp:523
        ret = 0
#8  0x402316b9 in RingBuffer::ReadAheadThread (this=0x82dc9e8)
    at RingBuffer.cpp:742
        totfree = 256000
        ret = 256000
        used = 276481
#9  0x40231404 in RingBuffer::startReader (type=0x82dc9e8)
    at RingBuffer.cpp:681
        rbuffer = (RingBuffer *) 0x82dc9e8
#10 0x481fa98c in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#11 0x4805f16a in clone () from /lib/tls/libc.so.6
No symbol table info available.

Thread 3 (Thread 1187515312 (LWP 7320)):
#0  0xffffe410 in ?? ()
No symbol table info available.
#1  0x46c809a8 in ?? ()
No symbol table info available.
#2  0x00000008 in ?? ()
No symbol table info available.
#3  0x00000000 in ?? ()
No symbol table info available.
#4  0x481fd950 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
No symbol table info available.
#5  0x40f1615f in QWaitCondition::wait ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#6  0x401bb160 in NuppelVideoPlayer::OutputVideoLoop (this=0x82e7ca8)
    at NuppelVideoPlayer.cpp:1756
        frame = (VideoFrame *) 0x8770ca0
#7  0x401bb5b2 in NuppelVideoPlayer::kickoffOutputVideoLoop (player=0x82e7ca8)
    at NuppelVideoPlayer.cpp:1856
        nvp = (NuppelVideoPlayer *) 0x82e7ca8
#8  0x481fa98c in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#9  0x4805f16a in clone () from /lib/tls/libc.so.6
No symbol table info available.

Thread 1 (Thread 1092443520 (LWP 7313)):
#0  0xffffe410 in ?? ()
No symbol table info available.
#1  0xbfffdf68 in ?? ()
No symbol table info available.
#2  0x4092fcf4 in ?? () from /usr/local/lib/libmyth-0.15.so.0
No symbol table info available.
#3  0x00000000 in ?? ()
No symbol table info available.
#4  0x4802a446 in __nanosleep_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#5  0x4805873a in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#6  0x080652ef in startTV () at main.cpp:270
        tv = (class TV *) 0x82eb850
        timer = {ds = 86006413}
        tryTV = false
        tryRecorder = false
        quitAll = false
        showDialogs = true
#7  0x08066735 in TVMenuCallback (data=0x82ab140, selection=@0x82e6ac4)
    at main.cpp:389
        sel = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x8308d60, 
  static shared_null = 0x81df0d8}
#8  0x40838db5 in ThemedMenuPrivate::handleAction (this=0x82e69c8, 
    action=@0x82e1994) at themedmenu.cpp:2108
No locals.
#9  0x4083720c in ThemedMenuPrivate::keyPressHandler (this=0x82e69c8, 
    e=0xbfffe7e0) at themedmenu.cpp:1923
        action = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x8316fd8, 
  static shared_null = 0x81df0d8}
        i = 0
        lastbutton = (ThemedButton *) 0x82e1958
        oldrow = 0
        handled = true
        actions = {<QValueList<QString>> = {sh = 0x82ac8f8}, <No data fields>}
#10 0x4083a1fb in ThemedMenu::keyPressEvent (this=0x82eddd8, e=0xbfffe7e0)
    at themedmenu.cpp:2294
No locals.
#11 0x40c99fa0 in QWidget::event ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#12 0x40c06325 in QApplication::internalNotify ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#13 0x40c05e14 in QApplication::notify ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#14 0x40b9d4b3 in QETWidget::translateKeyEvent ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#15 0x40b99244 in QApplication::x11ProcessEvent ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#16 0x40baf3c8 in QEventLoop::processEvents ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#17 0x40c16de7 in QEventLoop::enterLoop ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#18 0x40c065a8 in QApplication::enter_loop ()
   from /usr/local/qt-x11-3.3.2/lib/libqt-mt.so.3
No symbol table info available.
#19 0x408976af in MythDialog::exec (this=0x82eddd8) at mythdialogs.cpp:788
        res = 1082750516
#20 0x08067d92 in RunMenu (themedir=
      {static null = {static null = <same as static member of an already seen type>, d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x8313f28, static shared_null = 0x81df0d8}) at main.cpp:542
        exitstatus = 0
#21 0x0806c7f8 in main (argc=1, argv=0xbfffefe4) at main.cpp:1006
        lcd_host = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82bb900, 
  static shared_null = 0x81df0d8}
        lcd_port = 13666
        a = <incomplete type>
        logfile = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82aaf58, 
  static shared_null = 0x81df0d8}
        verboseString = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82aaf70, 
  static shared_null = 0x81df0d8}
        pluginname = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82aaf88, 
  static shared_null = 0x81df0d8}
        finfo = {fn = {static null = {
      static null = <same as static member of an already seen type>, 
      d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82aafa0, 
    static shared_null = 0x81df0d8}, fic = 0x0, cache = true, symLink = false}
        binname = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82aafa0, 
  static shared_null = 0x81df0d8}
        logfd = -1
        fileprefix = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x82ab070, 
  static shared_null = 0x81df0d8}
        dir = <incomplete type>
        db = (struct QSqlDatabase *) 0x82addc0
        themename = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x83168f0, 
  static shared_null = 0x81df0d8}
        randomtheme = false
        themedir = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x81df0d8, static shared_null = 0x81df0d8}, d = 0x8313f28, 
  static shared_null = 0x81df0d8}
        switchMode = true
        mainWindow = (class MythMainWindow *) 0x82da358
        pmanager = (MythPluginManager *) 0x8314e08
        mon = (class MediaMonitor *) 0x0
        exitstatus = 1085295735
#0  0x480056cd in malloc_consolidate () from /lib/tls/libc.so.6
(gdb) up
#1  0x4800556f in _int_free () from /lib/tls/libc.so.6
(gdb) up
#2  0x4800673b in free () from /lib/tls/libc.so.6
(gdb) up
#3  0x48311dd3 in operator delete () from /usr/lib/libstdc++.so.5
(gdb) up
#4  0x48311e2f in operator delete[] () from /usr/lib/libstdc++.so.5
(gdb) up
#5  0x402b585b in AvFormatDecoder::GetFrame (this=0x82de7e8, onlyvideo=0)
    at avformatdecoder.cpp:1325
1325        delete[] samples;

(gdb) list
1320
1321        if (pkt)
1322            delete pkt;
1323
1324        m_parent->SetFramesPlayed(framesPlayed);
1325        delete[] samples;
1326    }
1327
1328    bool AvFormatDecoder::DoRewind(long long desiredFrame)
1329    {
(gdb) print samples
$1 = (short int *) 0x86c8390


More information about the mythtv-dev mailing list