[mythtv] segfault in mythmusic

Mark Jacob mjacob1 at san.rr.com
Wed Jun 11 01:11:32 EDT 2003


I've finally found some time to get the latest cvs, and try my hand at 
getting mythmusic working. I compiled mythmusic without fftw, opengl, or 
sdl support. I put a meager 16GB of mp3s on the disc and had mythmusic 
scan all of them. Below are the steps that I performed to produce the crash.

1. Select play music from the UI.
2. Press 3 to edit the active playlist.
3. Select a few albums for playback.
4. Press ESC to return to the play music screen.
5. Press P to start playback.

In about 10-15 seconds mythmusic segfaults. Below is the gdb output. I 
can repro this 100% of the time, so if you need more info let me know.

Mark

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