[mythtv] EPG/LiveTV/ivtv problem with backtraces

Lee Marlow lmarlow at yahoo.com
Thu Oct 16 08:26:18 EDT 2003


I can lockup the frontend while in the EPG by quickly scrolling through the
channel lineup, I have 291 channels.  The same symptoms occur sporadically
when watching LiveTV too.  The frontend will freeze and will start printing
"Waited 2 seconds for data to become available, waiting again..." to the
console.  The backend will printout "IOBOUND - blocking in
ThreadedFileWriter::Write()."  dmesg will show the following:

Oct 15 22:41:48 [kernel] Unable to handle kernel paging request at virtual
address 16808210 Oct 15 22:41:54 [kernel] ivtv: Not enough free buffers,
stream 0 Oct 15 22:41:54 [kernel] ivtv: Not enough free buffers, stream 0
Oct 15 22:41:54 [kernel] ivtv: Not enough free buffers, stream 0
(repeats)

The backtrace from the backend seems useless, all I get is this:

Thread 20 (Thread 294931 (LWP 2737)):
#0  0x40be0486 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available.
Couldn't get registers: Operation not permitted.
#0  0x40be0486 in nanosleep () from /lib/libc.so.6


I'm attaching the frontend backtrace.  How can I get a more useful backend
backtrace?  Is this a myth problem, an ivtv problem, or maybe even a
hardware problem?  Note that I have mpg_buffers=100 when loading ivtv.  I'm
running against CVS and have been updating regularly.  This problem has been
happening for a month or two now and is keeping me from using myth fulltime
for all my TV activities.

Thanks for any guidance.

-Lee
-------------- next part --------------
Waited 2 seconds for data to become available, waiting again...

Program received signal SIGINT, Interrupt.
[Switching to Thread 573476 (LWP 2741)]
0x40be0486 in nanosleep () from /lib/libc.so.6
(gdb) thread apply all bt full

Thread 37 (Thread 573476 (LWP 2741)):
#0  0x40be0486 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available.

Thread 36 (Thread 557091 (LWP 2740)):
#0  0x40be0486 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available.

Thread 35 (Thread 540706 (LWP 2739)):
#0  0x40c07ab1 in select () from /lib/libc.so.6
No symbol table info available.
#1  0x409e1244 in __JCR_LIST__ () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#2  0x407b2a9c in QSocket::waitForMore(int, bool*) const () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#3  0x407b2aee in QSocket::waitForMore(int) const () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#4  0x400e5c4b in ReadStringList(QSocket*, QStringList&) (socket=0x871d790, list=@0x51e318bc)
    at util.cpp:93
        sizestr = <incomplete type>
        size = 0
        utf8 = <incomplete type>
        read = 61
        zerocnt = 0
        str = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x409bfc20, static shared_null = 0x84c6b50}
#5  0x400bf56d in RemoteFile::RequestBlock(int) (this=0x86eae88, size=256000) at remotefile.cpp:203
        strlist = {<QValueList<QString>> = {sh = 0x871b000}, <No data fields>}
#6  0x0815c199 in RingBuffer::safe_read(RemoteFile*, void*, unsigned) (this=0x88a1b30,
    rf=0x86eae88, data=0x42ccb808, sz=256000) at RingBuffer.cpp:490
        ret = 0
        tot = 0
        zerocnt = 0
        hiteof = false
        reqsize = 256000
        sock = (struct QSocket *) 0x85373c0
        available = 0
#7  0x0815cdda in RingBuffer::ReadAheadThread() (this=0x88a1b30) at RingBuffer.cpp:753
        totfree = 256000
        ret = 256000
        used = 2279425
#8  0x0815cb2f in RingBuffer::startReader(void*) (type=0x88a1b30) at RingBuffer.cpp:692
        rbuffer = (RingBuffer *) 0x88a1b30
#9  0x409f2d40 in pthread_start_thread () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#10 0x409f2e42 in pthread_start_thread_event () from /lib/libpthread.so.0
No symbol table info available.

Thread 34 (Thread 524321 (LWP 2738)):
#0  0x409f8a46 in nanosleep () from /lib/libpthread.so.0
No symbol table info available.
#1  0x00000001 in ?? ()
No symbol table info available.
#2  0x409f1ec9 in pthread_cond_timedwait_relative () from /lib/libpthread.so.0
No symbol table info available.
#3  0x40831be3 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#4  0x0815d535 in RingBuffer::ReadFromBuf(void*, int) (this=0x88a1b30, buf=0x86e14d0, count=32768)
    at RingBuffer.cpp:862
        readone = false
        avail = 18432
#5  0x0815d811 in RingBuffer::Read(void*, int) (this=0x88a1b30, buf=0x86e14d0, count=32768)
    at RingBuffer.cpp:932
        ret = -1
#6  0x08195384 in read_avf(URLContext*, unsigned char*, int) (h=0x8569b14, buf=0x86e14d0 "",
    buf_size=32768) at avformatdecoder.cpp:148
        dec = (AvFormatDecoder *) 0x8569ac8
#7  0x081db6af in url_read ()
        FALSE = false
        TRUE = true
#8  0x0819542f in avf_read_packet (opaque=0x8569b14, buf=0x86e14d0 "", buf_size=32768)
    at avformatdecoder.cpp:191
        h = (URLContext *) 0x8569b14
#9  0x081dc081 in fill_buffer ()
        FALSE = false
        TRUE = true
#10 0x081dc0fb in get_byte ()
        FALSE = false
        TRUE = true
#11 0x081e083c in find_start_code ()
        FALSE = false
        TRUE = true
#12 0x081e0982 in mpegps_read_packet ()
        FALSE = false
        TRUE = true
#13 0x081e67c8 in av_read_packet ()
        FALSE = false
        TRUE = true
#14 0x08196a07 in AvFormatDecoder::GetFrame(int) (this=0x8569ac8, onlyvideo=0)
    at avformatdecoder.cpp:788
        curstream = (AVStream *) 0x85798c0
        pkt = (AVPacket *) 0x86f8530
        len = 2012
---Type <return> to continue, or q <return> to quit---
        ret = 2012
        ptr = (unsigned char *) 0x8850640 ""
        samples = {-316, -261, -153, -98, 16, 31, 135, 113, 184, 163, 245, 220, 319, 277, 286,
  253, 159, 155, 93, 111, 131, 139, 144, 122, 21, 3, -189, -173, -359, -327, -429, -386, -386,
  -329, -247, -200, -87, -65, 23, 13, 60, 31, 14, 12, -99, -77, -211, -214, -248, -266, -200,
  -206, -126, -133, -49, -60, 84, 66, 240, 219, 338, 333, 383, 367, 337, 299, 157, 154, -68, -28,
  -331, -288, -711, -655, -1071, -986, -1211, -1096, -1157, -1018, -1010, -889, -790, -707, -486,
  -413, -126, -84, 135, 127, 179, 158, 96, 74, -53, -81, -305, -331, -580, -608, -789, -788, -895,
  -857, -793, -782, -477, -503, -124, -139, 199, 178, 529, 479, 792, 723, 892, 799, 851, 751, 759,
  665, 656, 551, 490, 404, 232, 189, -58, -92, -343, -356, -577, -549, -663, -624, -622, -575,
  -589, -549, -624, -627, -696, -685, -740, -673, -679, -616, -494, -460, -262, -234, -63, -66,
  84, 32, 200, 132, 298, 245, 374, 342, 491, 432, 677, 565, 773, 671, 622, 560, 339, 266, 121, 47,
  9, -25, -12, -37, 69, 22, 227, 181, 410, 371, 573, 518, 651, 580, 654, 580, 650, 569, 578, 498,
  328, 263, -34, -90, -305, -357...}
        data_size = 0
        temppts = 17470
        gotvideo = true
        allowedquit = false
        storevideoframes = true
#15 0x080f93b8 in NuppelVideoPlayer::GetFrame(int, bool) (this=0x88a5788, onlyvideo=0,
    unsafe=false) at NuppelVideoPlayer.cpp:592
No locals.
#16 0x080fc0be in NuppelVideoPlayer::StartPlaying() (this=0x88a5788) at NuppelVideoPlayer.cpp:1554
        output_video = 573476
        pausecheck = 0
#17 0x08172aab in SpawnDecode(void*) (param=0x88a5788) at tv_play.cpp:68
        nvp = (NuppelVideoPlayer *) 0x88a5788
#18 0x409f2d40 in pthread_start_thread () from /lib/libpthread.so.0
No symbol table info available.
#19 0x409f2e42 in pthread_start_thread_event () from /lib/libpthread.so.0
No symbol table info available.

Thread 33 (Thread 507936 (LWP 2735)):
#0  0x40be0486 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 16386 (LWP 2674)):
#0  0x409f823b in read () from /lib/libpthread.so.0
No symbol table info available.
#1  0x402ed42c in __JCR_LIST__ () from /usr/lib/liblirc_client.so.0
No symbol table info available.

Thread 2 (Thread 32769 (LWP 2673)):
#0  0x40c061c7 in poll () from /lib/libc.so.6
No symbol table info available.
#1  0x409f294e in __pthread_manager () from /lib/libpthread.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#2  0x409f2b9a in __pthread_manager_event () from /lib/libpthread.so.0
No symbol table info available.

Thread 1 (Thread 16384 (LWP 2670)):
#0  0x40b5cf68 in sigsuspend () from /lib/libc.so.6
No symbol table info available.
#1  0x409f5238 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
No symbol table info available.
#2  0x409f69c0 in __pthread_alt_lock () from /lib/libpthread.so.0
No symbol table info available.
#3  0x409f3c37 in pthread_mutex_lock () from /lib/libpthread.so.0
No symbol table info available.
#4  0x40830c0c in QRecursiveMutexPrivate::lock() () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#5  0x40831014 in QMutex::lock() () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#6  0x40585094 in QApplication::lock() () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#7  0x08070d1f in startTV() () at main.cpp:200
        db = (struct QSqlDatabase *) 0x853b1a8
        tv = (class TV *) 0x86eb178
        timeout = {d = {jd = 2452928}, t = {ds = 81690572}}
        tryTV = false
        tryRecorder = false
        quitAll = false
        showDialogs = true
#8  0x08070d9f in TVMenuCallback(void*, QString&) (data=0x85283a8, selection=@0x856532c)
    at main.cpp:221
        sel = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x86f41f8, static shared_null = 0x84c6b50}
#9  0x400dd92f in ThemedMenu::handleAction(QString&) (this=0x8565180, action=@0x857a934)
    at themedmenu.cpp:1871
No locals.
#10 0x400dc22f in ThemedMenu::keyPressEvent(QKeyEvent*) (this=0x8565180, e=0xbffff100)
    at themedmenu.cpp:1701
        handled = false
        lastbutton = (ThemedButton *) 0x857a8f8
        oldrow = 0
#11 0x4061557c in QWidget::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#12 0x405834c4 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#13 0x40582e3c in QApplication::notify(QObject*, QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#14 0x400b5182 in QApplication::sendEvent(QObject*, QEvent*) (receiver=0x8565180, event=0xbffff100)
    at qapplication.h:478
No locals.
#15 0x4012691e in MythMainWindow::customEvent(QCustomEvent*) (this=0x854edf0, ce=0x4431de58)
---Type <return> to continue, or q <return> to quit---
    at mythdialogs.cpp:157
        k = 32
        ascii = 0
        key = {<> = {<No data fields>}, txt = {static null = {
      static null = <same as static member of an already seen type>, d = 0x84c6b50,
      static shared_null = 0x84c6b50}, d = 0x84c6b50, static shared_null = 0x84c6b50}, k = 32,
  s = 0, a = 0 '\0', accpt = 1, autor = 0, c = 1}
        mod = 0
        text = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x84c6b50, static shared_null = 0x84c6b50}
        key_target = (struct QObject *) 0x8565180
        lke = (class LircKeycodeEvent *) 0x4431de58
        keycode = 32
#16 0x405dee9c in QObject::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#17 0x4061549c in QWidget::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#18 0x405834c4 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#19 0x40582a3b in QApplication::notify(QObject*, QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#20 0x4058425a in QApplication::sendPostedEvents(QObject*, int) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#21 0x405840d8 in QApplication::sendPostedEvents() () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#22 0x4053bb15 in QEventLoop::processEvents(unsigned) () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#23 0x405972c6 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#24 0x40583751 in QApplication::enter_loop() () from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#25 0x4012750f in MythDialog::exec() (this=0x8565180) at mythdialogs.cpp:280
        res = 0
#26 0x08071c64 in RunMenu(QString) (themedir=
      {static null = {static null = <same as static member of an already seen type>, d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x855ac40, static shared_null = 0x84c6b50}) at main.cpp:342
        exitstatus = 0
#27 0x08074785 in main (argc=1, argv=0xbffff824) at main.cpp:663
        lcd_host = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x8563d88, static shared_null = 0x84c6b50}
        lcd_port = 0
        a = <incomplete type>
        translator = <incomplete type>
        logfile = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x85282f0, static shared_null = 0x84c6b50}
        verboseString = {static null = {
    static null = <same as static member of an already seen type>, d = 0x84c6b50,
    static shared_null = 0x84c6b50}, d = 0x8528330, static shared_null = 0x84c6b50}
---Type <return> to continue, or q <return> to quit---
        pluginname = {static null = {
    static null = <same as static member of an already seen type>, d = 0x84c6b50,
    static shared_null = 0x84c6b50}, d = 0x8528358, static shared_null = 0x84c6b50}
        binname = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x8528390, static shared_null = 0x84c6b50}
        logfd = -1
        db = (struct QSqlDatabase *) 0x853b1a8
        themename = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x855c330, static shared_null = 0x84c6b50}
        randomtheme = false
        themedir = {static null = {static null = <same as static member of an already seen type>,
    d = 0x84c6b50, static shared_null = 0x84c6b50}, d = 0x855ac40, static shared_null = 0x84c6b50}
        mainWindow = (class MythMainWindow *) 0x854edf0
        exitstatus = 1
#28 0x40b497a7 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#0  0x40be0486 in nanosleep () from /lib/libc.so.6


More information about the mythtv-dev mailing list