[mythtv] mythfrontend segfault
Mark Jacob
mjacob1 at san.rr.com
Sun Jun 8 23:43:09 EDT 2003
Ok... I was finally able to fix my glibc woes and get gdb working
properly. Here is some useable output from gdb, (crosses fingers) I
hope. I get this segfault occasionally while watching LiveTV. While
watching LiveTV I press M to bring up the program guide, and scroll
around looking at the shows. I have a nasty habit of hitting Enter, and
expecting it to change the channel for me, but instead it brings up a
recording options screen. I then quickly hit Esc and then M to change
the channel. Every now and then mythfrontend will segfault when doing
this. I had gotten a segfault with the steps described above, and
restarted mythfrontend in gdb. I then went back to LiveTV and got the
output below.
Mark
(If this output is still unuseable, please let me know. MythTV is an
awesome project, and you guys are doing great work. I'd like to
contribute in any way possible... even if it's only sending in gdb output)
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
Copyright 2003 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-redhat-linux-gnu"...
(gdb) handle SIGPIPE nostop
Signal Stop Print Pass to program Description
SIGPIPE No Yes Yes Broken pipe
(gdb) run
Starting program: /usr/local/bin/mythfrontend
[New Thread 16384 (LWP 1557)]
libGL error: InitDriver failed
connecting to backend server: 127.0.0.1:6543
[New Thread 32769 (LWP 1579)]
[New Thread 16386 (LWP 1580)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 1557)]
0x404cda8c in QEventLoop::setSocketNotifierPending(QSocketNotifier*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
(gdb) thread apply all bt full
Thread 3 (Thread 16386 (LWP 1580)):
#0 0x408667e1 in operator new(unsigned) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#1 0x407b2e7b in QGArray::QGArray(int) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#2 0x407a595c in QCString::QCString(int) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#3 0x4054da77 in QMapPrivate<int, QMemArray<char>
>::clear(QMapNode<int, QMemArray<char> >*) () from
/usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#4 0x4054fd4d in QObject::connect(QObject const*, char const*, QObject
const*, char const*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#5 0x4070ad15 in QDns::setStartQueryTimer() ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#6 0x4070a840 in QDns::setLabel(QString const&) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#7 0x4070a17e in QDns::QDns(QString const&, QDns::RecordType) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#8 0x4071f27e in QSocket::connectToHost(QString const&, unsigned short) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#9 0x400ae592 in RemoteFile::openSocket(bool, bool) (this=0x8424d90,
control=true, events=false) at remotefile.cpp:76
qurl = <incomplete type>
host = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x8429238,
static shared_null = 0x83b3ad0}
port = 6543
dir = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x8424fc8,
static shared_null = 0x83b3ad0}
sock = (struct QSocket *) 0x8419700
num = 1073834004
hostname = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x40007f8f,
---Type <return> to continue, or q <return> to quit---
static shared_null = 0x83b3ad0}
strlist = {<QValueList<QString>> = {sh = 0x40bc0046}, <No data
fields>}
#10 0x400ae1c8 in RemoteFile (this=0x8424d90, url=@0x84246c8,
needevents=false, lrecordernum=1) at remotefile.cpp:43
No locals.
#11 0x081229b7 in RingBuffer (this=0x84246c8, lfilename=@0x41bd2dbc,
size=5368709120, smudge=52428800, enc=0x8427cc8) at RingBuffer.cpp:343
No locals.
#12 0x0813732f in TV::HandleStateChange() (this=0x8424320) at
tv_play.cpp:393
filesize = 5368709120
smudge = 52428800
name = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x8424660,
static shared_null = 0x83b3ad0}
changed = false
startPlayer = false
startRecorder = false
closePlayer = false
closeRecorder = false
sleepBetween = false
statename = {static null = {
static null = <same as static member of an already seen type>,
---Type <return> to continue, or q <return> to quit---
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x83db298,
static shared_null = 0x83b3ad0}
origname = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x8429958,
static shared_null = 0x83b3ad0}
#13 0x08138e2a in TV::RunTV() (this=0x8424320) at tv_play.cpp:729
keypressed = 1083590662
pausecheck = 0
#14 0x08138d1f in TV::EventThread(void*) (param=0x8424320) at
tv_play.cpp:700
thetv = (class TV *) 0x8424320
#15 0x409689b1 in pthread_start_thread () from /lib/i686/libpthread.so.0
No symbol table info available.
#16 0x40968ab5 in pthread_start_thread_event () from
/lib/i686/libpthread.so.0
No symbol table info available.
Thread 2 (Thread 32769 (LWP 1579)):
#0 0x40b68e57 in poll () from /lib/i686/libc.so.6
No symbol table info available.
#1 0x409679ce in __pthread_manager () from /lib/i686/libpthread.so.0
No symbol table info available.
#2 0x40967c1b in __pthread_manager_event () from /lib/i686/libpthread.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
Thread 1 (Thread 16384 (LWP 1557)):
#0 0x404cda8c in QEventLoop::setSocketNotifierPending(QSocketNotifier*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#1 0x404ab97d in QEventLoop::processEvents(unsigned) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#2 0x40506d91 in QEventLoop::processEvents(unsigned, int) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#3 0x404f3080 in QApplication::processEvents(int) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#4 0x404f3047 in QApplication::processEvents() ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#5 0x0806af91 in startTV() () at main.cpp:107
db = (struct QSqlDatabase *) 0x83f39a8
tv = (class TV *) 0x8424320
nextstate = kState_WatchingLiveTV
#6 0x0806b047 in TVMenuCallback(void*, QString&) (data=0x83e5a58,
selection=@0x84000b8) at main.cpp:131
---Type <return> to continue, or q <return> to quit---
sel = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x83f0318,
static shared_null = 0x83b3ad0}
#7 0x400cc022 in ThemedMenu::handleAction(QString&) (this=0x83fff88,
action=@0x8429b64) at themedmenu.cpp:1669
No locals.
#8 0x400cb54a in ThemedMenu::keyPressEvent(QKeyEvent*) (this=0x83fff88,
e=0xbffff300) at themedmenu.cpp:1578
handled = false
lastbutton = (ThemedButton *) 0x8429b28
oldrow = 0
#9 0x4058506c in QWidget::event(QEvent*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#10 0x404f2f24 in QApplication::internalNotify(QObject*, QEvent*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#11 0x404f2ab7 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#12 0x4049aabe in QETWidget::translateKeyEvent(_XEvent const*, bool) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#13 0x40496d14 in QApplication::x11ProcessEvent(_XEvent*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#14 0x404abbda in QEventLoop::processEvents(unsigned) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#15 0x40506cf6 in QEventLoop::enterLoop() ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#16 0x404f31b1 in QApplication::enter_loop() ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#17 0x406b4691 in QDialog::exec() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
No symbol table info available.
#18 0x0806bcf7 in RunMenu(QString) (themedir=
{static null = {static null = <same as static member of an
already seen type>, d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d =
0x8401800, static shared_null = 0x83b3ad0}) at main.cpp:221
exitstatus = 0
#19 0x0806d2d5 in main (argc=1, argv=0xbffff8f4) at main.cpp:348
lcd_host = {static null = {
static null = <same as static member of an already seen type>,
---Type <return> to continue, or q <return> to quit---
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x83f3280,
static shared_null = 0x83b3ad0}
lcd_port = 0
a = <incomplete type>
translator = <incomplete type>
db = (struct QSqlDatabase *) 0x83f39a8
server = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x83fef88,
static shared_null = 0x83b3ad0}
port = 6543
themename = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x83e4e30,
static shared_null = 0x83b3ad0}
randomtheme = false
themedir = {static null = {
static null = <same as static member of an already seen type>,
d = 0x83b3ad0, static shared_null = 0x83b3ad0}, d = 0x8401800,
static shared_null = 0x83b3ad0}
exitstatus = 10
#20 0x40aa5a07 in __libc_start_main () from /lib/i686/libc.so.6
No symbol table info available.
(gdb)
More information about the mythtv-dev
mailing list