[mythtv-commits] Ticket #2578: MythMusic segfaults when activating the "Select music playlists" jumppoint twice

MythTV mythtv at cvs.mythtv.org
Sat Oct 14 22:46:55 UTC 2006


#2578: MythMusic segfaults when activating the "Select music playlists" jumppoint
twice
-------------------------------+--------------------------------------------
 Reporter:  david at hardeman.nu  |       Owner:  ijr    
     Type:  defect             |      Status:  new    
 Priority:  minor              |   Milestone:  unknown
Component:  mythmusic          |     Version:  0.20   
 Severity:  medium             |  
-------------------------------+--------------------------------------------
 I have a key bound to the "Select music playlists" jumppoint (using the
 0.20-fixes branch). When activated, the music selection screen is shown,
 and a few seconds later the boxes are ticked for the tracks that are
 currently selected.

 If I activate the same jumppoint again during that interval, mythfrontend
 segfaults.

 I've looked at the code, and I'm not certain but it seems that the problem
 is that the current selections are filled in asynchronously, and if the
 jumppoint is activated again, Myth tries to destroy the current tree and
 playlist objects before they are finished loading which means that the
 "songs" QPtrList (private member of class Playlist) is not in a consistent
 state yet.

 The backtrace is as follows....I can provide a fuller backtrace with
 debugging symbols later if necessary...


 {{{
 #0  0xb64aee48 in QGList::first () from /usr/lib/libqt-mt.so.3
 #1  0xb25058ef in Playlist::removeAllWidgets () from
 /usr/lib/mythtv/plugins/libmythmusic.so
 #2  0xb254a43e in DatabaseBox::~DatabaseBox () from
 /usr/lib/mythtv/plugins/libmythmusic.so
 #3  0xb24dd7f3 in startDatabaseTree () from
 /usr/lib/mythtv/plugins/libmythmusic.so
 #4  0xb24e1cfc in runMusicSelection () from
 /usr/lib/mythtv/plugins/libmythmusic.so
 #5  0xb68f1010 in MythMainWindow::ExitToMainMenu () from
 /usr/lib/libmythui-0.20.so.0
 #6  0xb68f4f30 in MythMainWindow::customEvent () from
 /usr/lib/libmythui-0.20.so.0
 #7  0xb61f3f2c in QObject::event () from /usr/lib/libqt-mt.so.3
 #8  0xb622caaf in QWidget::event () from /usr/lib/libqt-mt.so.3
 #9  0xb6199e1f in QApplication::internalNotify () from /usr/lib/libqt-
 mt.so.3
 #10 0xb619941e in QApplication::notify () from /usr/lib/libqt-mt.so.3
 #11 0xb619ac16 in QApplication::sendPostedEvents () from /usr/lib/libqt-
 mt.so.3
 #12 0xb619aa96 in QApplication::sendPostedEvents () from /usr/lib/libqt-
 mt.so.3
 #13 0xb614292a in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
 #14 0xb61ac1d8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
 #15 0xb61ac088 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
 #16 0xb619a071 in QApplication::exec () from /usr/lib/libqt-mt.so.3
 #17 0x0807451e in reloadTheme ()
 #18 0xb5b80974 in __libc_start_main () from /lib/tls/libc.so.6
 #19 0x08067661 in ?? ()
 }}}

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/2578>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list