[mythtv] mythmusic segfault

Chris Tracy mythtv at adiemus.org
Sat Mar 5 22:23:04 UTC 2005


	Well, I've been trying to get my wife to use mythmusic rather than
her CDs lately.  And, rather than actually use it, she's found a way to 
break it, rather reliably.

	Basically, start up mythmusic.  Then start mucking with the active 
play queue.  Go to the music selection screen.  Clear the queue, and 
select new music.  Hit stop to get back to the main mythmusic screen.  
Jump back into the edit playlist screen, clear the list, and select new 
songs.  Hit stop to get back to mythmusic...

	Do this several times and in the current CVS, it eventually 
segfaults, at least on my system.  (FC1, qt-3.1, athlon)

	Unfortunately, I'm not well-versed enough in QT to see what's 
going on enough to fix it.  But it seems mythmusic/decoder.cpp:52 is the 
culprit.  Why though I don't know.

	I'll be happy to do any further testing.  GDB output is below.

	Thanks,

	Chris

-------------------

	Here's the gdb run:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 98610096 (LWP 10277)]
0x066cf805 in QGList::append () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
(gdb) thread apply all bt

Thread 150 (Thread 98610096 (LWP 10277)):
#0  0x066cf805 in QGList::append () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#1  0x064036ff in QApplication::postEvent ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#2  0x063f8056 in QThread::postEvent () from 
/usr/lib/qt-3.1/lib/libqt-mt.so.3
#3  0x013ff32b in Decoder::dispatch (this=0xbea95978, e=@0x5e0aa10)
    at decoder.cpp:52
#4  0x01404ea2 in MadDecoder::run (this=0xbea95978) at maddecoder.cpp:426
#5  0x063f7df8 in QProc::~QProc () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#6  0x004717fc in start_thread () from /lib/tls/libpthread.so.0
#7  0x037b5aba in clone () from /lib/tls/libc.so.6

Thread 149 (Thread 1083796400 (LWP 10276)):
#0  0x004dbc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x03781586 in __nanosleep_nocancel () from /lib/tls/libc.so.6
#2  0x037af3fa in usleep () from /lib/tls/libc.so.6
#3  0x00fc0c00 in AudioOutputBase::OutputAudioLoop (this=0x89ffb78)
    at audiooutputbase.cpp:770
#4  0x00fc1419 in AudioOutputBase::kickoffOutputAudioLoop 
(player=0x89ffb78)
    at audiooutputbase.cpp:870
#5  0x004717fc in start_thread () from /lib/tls/libpthread.so.0
#6  0x037b5aba in clone () from /lib/tls/libc.so.6
---Type <return> to continue, or q <return> to quit---

Thread 3 (Thread 88120240 (LWP 10095)):
#0  0x004dbc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00476bfb in __read_nocancel () from /lib/tls/libpthread.so.0
#2  0x004a1c07 in lirc_nextcode () from /usr/lib/liblirc_client.so.0
#3  0x00fddfb8 in LircClient::Process (this=0x8663b28) at lirc.cpp:67
#4  0x00f7d834 in SpawnLirc (param=0x85f06f8) at mythdialogs.cpp:53
#5  0x004717fc in start_thread () from /lib/tls/libpthread.so.0
#6  0x037b5aba in clone () from /lib/tls/libc.so.6

Thread 2 (Thread 34683824 (LWP 10094)):
#0  0x004dbc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00474424 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
#2  0x066b56e2 in QWaitCondition::wait ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#3  0x00edf1f6 in MythContext::waitPrivRequest (this=0x85dcec8)
    at mythcontext.cpp:2082
#4  0x0806c20d in run_priv_thread (data=0x0) at main.cpp:663
#5  0x004717fc in start_thread () from /lib/tls/libpthread.so.0
#6  0x037b5aba in clone () from /lib/tls/libc.so.6

Thread 1 (Thread -1084583040 (LWP 10090)):
---Type <return> to continue, or q <return> to quit---
#0  0x004dbc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00474424 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/libpthread.so.0
#2  0x066b5808 in QWaitCondition::wait ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#3  0x063f89f6 in QThread::wait () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#4  0x014295bb in PlaybackBoxMusic::stop (this=0x86196e8)
    at playbackbox.cpp:993
#5  0x0142a929 in PlaybackBoxMusic::editPlaylist (this=0x86196e8)
    at playbackbox.cpp:1304
#6  0x014a4fb6 in PlaybackBoxMusic::qt_invoke (this=0x86196e8, _id=73, 
    _o=0xbff12db0) at moc_playbackbox.cpp:199
#7  0x06461947 in QObject::activate_signal ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#8  0x064617ed in QObject::activate_signal ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#9  0x00fed6fc in UITextButtonType::pushed (this=0x8728108)
    at moc_uitypes.cpp:1024
#10 0x00f43c5e in UITextButtonType::push (this=0x8728108) at 
uitypes.cpp:3942
#11 0x00fef5d2 in UITextButtonType::activate (this=0x8728108) at 
uitypes.h:922
#12 0x00f8d415 in MythThemedDialog::activateCurrent (this=0x86196e8)
    at mythdialogs.cpp:1995
#13 0x01425e53 in PlaybackBoxMusic::keyPressEvent (this=0x86196e8, 
---Type <return> to continue, or q <return> to quit---
    e=0xbff13160) at playbackbox.cpp:419
#14 0x064963c5 in QWidget::event () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#15 0x06402d24 in QApplication::internalNotify ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#16 0x064028b8 in QApplication::notify ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#17 0x00ee1ef5 in QApplication::sendEvent (receiver=0x86196e8, 
    event=0xbff13160) at qapplication.h:478
#18 0x00f85c90 in MythMainWindow::customEvent (this=0x85f06f8, 
ce=0xbee1f500)
    at mythdialogs.cpp:756
#19 0x0645f5bc in QObject::event () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#20 0x064962ec in QWidget::event () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#21 0x06402d24 in QApplication::internalNotify ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#22 0x06402502 in QApplication::notify ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#23 0x06403af6 in QApplication::sendPostedEvents ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#24 0x06403976 in QApplication::sendPostedEvents ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#25 0x063bb815 in QEventLoop::processEvents ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#26 0x06417028 in QEventLoop::enterLoop ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#27 0x06402fd1 in QApplication::enter_loop ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#28 0x00f86e7f in MythDialog::exec (this=0x86196e8) at mythdialogs.cpp:959
#29 0x0140793a in startPlayback (all_playlists=0x8619db8, 
all_music=0x8625ba0)
    at main.cpp:243
#30 0x0140a5a6 in runMusicPlayback () at main.cpp:530
#31 0x00f82dee in MythMainWindow::ExitToMainMenu (this=0x85f06f8)
    at mythdialogs.cpp:394
#32 0x00f856e0 in MythMainWindow::customEvent (this=0x85f06f8, 
ce=0x861b210)
    at mythdialogs.cpp:675
#33 0x0645f5bc in QObject::event () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#34 0x064962ec in QWidget::event () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#35 0x06402d24 in QApplication::internalNotify ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#36 0x06402502 in QApplication::notify ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#37 0x06403af6 in QApplication::sendPostedEvents ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#38 0x06403976 in QApplication::sendPostedEvents ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#39 0x063bb815 in QEventLoop::processEvents ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#40 0x06417028 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#41 0x06402fd1 in QApplication::enter_loop ()
   from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#42 0x00f86e7f in MythDialog::exec (this=0x861a930) at mythdialogs.cpp:959
#43 0x0806a810 in RunMenu (themedir=
      {static null = {static null = <same as static member of an already 
seen type>, d = 0x8598ad0, static shared_null = 0x8598ad0}, d = 0x85fea58, 
static shared_null = 0x8598ad0}) at main.cpp:504
#44 0x0806f531 in main (argc=1, argv=0xbff13e64) at main.cpp:1034
#0  0x066cf805 in QGList::append () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
(gdb) 



More information about the mythtv-dev mailing list