[mythtv] Core dump in CVS

Brian Foddy bfoddy at visi.com
Tue Mar 4 21:45:16 EST 2003

On Sunday 02 March 2003 11:12 pm, Isaac Richards wrote:
> Please recompile mythtv with debugging enabled to get a better stack trace.
> It'd also be nice to know what parameters it's passing to
> QSocket::readBlock().

I rebuilt it with the standard debug options, and so far I've seen two
more core dumps, both in different locations, both while viewing live
TV.  The first makes no sense to me as the bt shows it dieing
right off the start, but if I remember right, I had watched the TV
for several minutes..

The second was also after several minutes, but as you can see
the crash was in strange place, no question what the args were for
this call...

Since then, I've had no more crashes.  However I've had to
turn down the resolution considerably because the unoptimized code
can't keep up.

I'm starting to wonder if this might be some reentrant / multi-threaded
bad behavior.  The machine is a 2 cpu Pentium II-450.  Will I get
enough debug info if I turn on the full optimization with the -g flag?
I'd really like to get the resolution back up a bit.

I'll keep trying to get more clear behavior.


-------------- next part --------------
(gdb) bt
#0  0x40680b66 in QGList::unlink() () from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x40680d55 in QGList::removeRef(void*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x405b7e9f in QSocket::sn_read(bool) () from /usr/lib/qt3/lib/libqt-mt.so.3
#3  0x40719733 in QSocket::qt_invoke(int, QUObject*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#4  0x403c20fb in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#5  0x403c21cd in QObject::activate_signal(int, int) () from /usr/lib/qt3/lib/libqt-mt.so.3
#6  0x406e823c in QSocketNotifier::activated(int) () from /usr/lib/qt3/lib/libqt-mt.so.3
#7  0x403e0b90 in QSocketNotifier::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#8  0x40364c19 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#9  0x403644c1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0x40305c21 in QSessionManager::requestPhase2() () from /usr/lib/qt3/lib/libqt-mt.so.3
#11 0x402fb653 in QApplication::processNextEvent(bool) () from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0x402fcfb8 in QApplication::processEvents(int) () from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0x40364d57 in QApplication::processEvents() () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x08067ada in startTV() () at main.cpp:98
#15 0x08067b3f in TVMenuCallback(void*, QString&) (data=0x838eb18, selection=@0x83a6718) at main.cpp:112
#16 0x400a5893 in ThemedMenu::handleAction(QString&) (this=0x83a65e0, action=@0x83bf7f4) at themedmenu.cpp:1417
#17 0x400a4eee in ThemedMenu::keyPressEvent(QKeyEvent*) (this=0x83a65e0, e=0xbffff330) at themedmenu.cpp:1339
#18 0x403fc34c in QWidget::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x40364c19 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0x40364511 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#21 0x40300556 in QETWidget::translateKeyEvent(_XEvent const*, bool) () from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x402fbdb9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x402fb8cf in QApplication::processNextEvent(bool) () from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0x40366270 in QApplication::enter_loop() () from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x40548aa3 in QDialog::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x0806878d in RunMenu(QString) (themedir=Cannot access memory at address 0x0
) at main.cpp:197
#27 0x08069178 in main (argc=1, argv=0xbffff8d4) at main.cpp:272
#28 0x40a08082 in __libc_start_main () from /lib/i686/libc.so.6

(gdb) bt
#0  0x40680b66 in QGList::unlink() () from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x40680d55 in QGList::removeRef(void*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x405b7e9f in QSocket::sn_read(bool) () from /usr/lib/qt3/lib/libqt-mt.so.3
#3  0x405b770e in QSocket::waitForMore(int) const () from /usr/lib/qt3/lib/libqt-mt.so.3
#4  0x400abdeb in ReadStringList(QSocket*, QStringList&) (socket=0x8418018, list=@0x43afa92c) at util.cpp:58
#5  0x400897ba in RemoteFile::RequestBlock(int) (this=0x83ab3e8, size=128000) at remotefile.cpp:185
#6  0x0810be51 in RingBuffer::safe_read(RemoteFile*, void*, unsigned) (this=0x83cf720, rf=0x83ab3e8, data=0x4410a008, sz=230400)
    at RingBuffer.cpp:431
#7  0x0810bff7 in RingBuffer::Read(void*, int) (this=0x83cf720, buf=0x4410a008, count=230400) at RingBuffer.cpp:485
#8  0x080c8725 in NuppelVideoPlayer::GetFrame(int, bool) (this=0x43200008, onlyvideo=0, unsafe=false) at NuppelVideoPlayer.cpp:1166
#9  0x080ca97f in NuppelVideoPlayer::StartPlaying() (this=0x43200008) at NuppelVideoPlayer.cpp:2162
#10 0x0811cf8f in SpawnDecode(void*) (param=0x43200008) at tv_play.cpp:49
#11 0x408176c1 in pthread_exit () from /lib/i686/libpthread.so.0
54      bool ReadStringList(QSocket *socket, QStringList &list)
55      {
56          list.clear();
58          while (socket->waitForMore(5) < 8)
59          {
60              usleep(50);
61          }

More information about the mythtv-dev mailing list