System: Ubuntu Karmic i386 Linux running on an eeePC 901 (1.6Ghz atom).
Build: Mixxx trunk "(bzr r2275; built on: Jan 26 2010 @ 22:52:18) "
Steps to reproduce:
1. start Mixxx, provide it Music directory of large collection (in this case the collection is 14GB)
2. library scanner will begin to run
3. some tracks will start to appear in the library table
4. double-click on any of the scanned tracks as if you were playing it.
Expected result: track loads and starts playing
Actual result: Mixxx deadlocks, no playback, no further scanning occurs, neither main window nor scanning pop-up repaint.
Restarting will resume scanning, the bug can be reproduced again until scanning completes.
Here is the console from just before it deadlocks:
Debug: [LibraryScanner 1]: TrackCollection::importDirectory( "/media/PATRIOT 16G/Sarah McLachlan/Rarities, B-Sides & Other Stuff" )
Debug: [LibraryScanner 1]: created new hash 228048371
Debug: [LibraryScanner 1]: TrackCollection::importDirectory( "/media/PATRIOT 16G/Sarah McLachlan/Bloom_ Remix Album" )
Debug: [LibraryScanner 1]: created new hash 95977875
Debug: [LibraryScanner 1]: TrackCollection::importDirectory( "/media/PATRIOT 16G/Sarah McLachlan/Fumbling Towards Ecstasy" )
Debug: [Main]: TrackDAO::getTrack QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: TrackInfoObject: emitting bpmUpdated signal!
Debug: [Main]: setCuePoints 0
Debug: [Main]: TrackDAO::updateTrackInDatabase QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Updating track "" in database...
Debug: [LibraryScanner 1]: created new hash 164337075
Debug: [LibraryScanner 1]: TrackCollection::importDirectory( "/media/PATRIOT 16G/Sarah McLachlan/Plastic Compilation Vol. 3" )
Here is the backtrace from GDB:
^C
Program received signal SIGINT, Interrupt.
0x00f19422 in __kernel_vsyscall ()
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) bt
#0 0x00f19422 in __kernel_vsyscall ()
#1 0x00647e15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x00adf4d2 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x00adaba2 in QMutex::lock() () from /usr/share/qt4/lib/libQtCore.so.4
#4 0x080c8d78 in EngineBuffer::loadTrack (this=0x852f488, pTrack=0x944cee0) at src/engine/enginebuffer.cpp:655
#5 0x081a1f65 in Player::slotLoadTrack (this=0x876d5f8, track=0x944cee0, bStartFromEndPos=false) at src/player.cpp:89
#6 0x0810fc4a in MixxxApp::slotLoadTrackIntoNextAvailablePlayer (this=0x851c058, pTrack=0x944cee0) at src/mixxx.cpp:1239
#7 0x081fa9bd in MixxxApp::qt_metacall (this=0x851c058, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfffcf28) at linux_build/moc_mixxx.cc:112
#8 0x00be6263 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#9 0x00be6ec2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#10 0x082014cc in Library::loadTrack (this=0xb26196f8, _t1=0x944cee0) at linux_build/library/moc_library.cc:127
#11 0x0816b73c in Library::slotLoadTrack (this=0xb26196f8, pTrack=0x944cee0) at src/library/library.cpp:141
#12 0x082013af in Library::qt_metacall (this=0xb26196f8, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfffd048) at linux_build/library/moc_library.cc:97
#13 0x00be6263 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#14 0x00be6ec2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#15 0x081fbf62 in WTrackTableView::loadTrack (this=0x925c740, _t1=0x944cee0) at linux_build/moc_wtracktableview.cc:100
#16 0x08134738 in WTrackTableView::slotMouseDoubleClicked (this=0x925c740, index=...) at src/wtracktableview.cpp:174
#17 0x081fbee8 in WTrackTableView::qt_metacall (this=0x925c740, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfffd178) at linux_build/moc_wtracktableview.cc:84
#18 0x00be6263 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#19 0x00be6ec2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#20 0x02e51003 in QAbstractItemView::doubleClicked(QModelIndex const&) () from /usr/share/qt4/lib/libQtGui.so.4
#21 0x02e54287 in QAbstractItemView::mouseDoubleClickEvent(QMouseEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#22 0x0295fe47 in QWidget::event(QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#23 0x02d0f633 in QFrame::event(QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#24 0x02dae494 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#25 0x02e62087 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#26 0x02db0a95 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#27 0x00bcf83a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtCore.so.4
#28 0x0290af2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#29 0x02913033 in QApplication::notify(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#30 0x00bd06cb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtCore.so.4
#31 0x02911f6e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) ()
from /usr/share/qt4/lib/libQtGui.so.4
#32 0x029807c0 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#33 0x0297fc4b in QApplication::x11ProcessEvent(_XEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#34 0x029ac502 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#35 0x013e6e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#36 0x013ea730 in ?? () from /lib/libglib-2.0.so.0
#37 0x013ea863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#38 0x00bfb02c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#39 0x029abbe5 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#40 0x00bcec79 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#41 0x00bcf0ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#42 0x00bd153f in QCoreApplication::exec() () from /usr/share/qt4/lib/libQtCore.so.4
#43 0x0290add7 in QApplication::exec() () from /usr/share/qt4/lib/libQtGui.so.4
#44 0x080fcca7 in main (argc=3, argv=0xbffff444) at src/main.cpp:313
System: Ubuntu Karmic i386 Linux running on an eeePC 901 (1.6Ghz atom).
Build: Mixxx trunk "(bzr r2275; built on: Jan 26 2010 @ 22:52:18) "
Steps to reproduce:
1. start Mixxx, provide it Music directory of large collection (in this case the collection is 14GB)
2. library scanner will begin to run
3. some tracks will start to appear in the library table
4. double-click on any of the scanned tracks as if you were playing it.
Expected result: track loads and starts playing
Actual result: Mixxx deadlocks, no playback, no further scanning occurs, neither main window nor scanning pop-up repaint.
Restarting will resume scanning, the bug can be reproduced again until scanning completes.
Here is the console from just before it deadlocks: ::importDirecto ry( "/media/PATRIOT 16G/Sarah McLachlan/Rarities, B-Sides & Other Stuff" ) ::importDirecto ry( "/media/PATRIOT 16G/Sarah McLachlan/Bloom_ Remix Album" ) ::importDirecto ry( "/media/PATRIOT 16G/Sarah McLachlan/Fumbling Towards Ecstasy" ) default_ connection" :updateTrackInD atabase QThread(0x84017f0, name = "Main") "qt_sql_ default_ connection" ::importDirecto ry( "/media/PATRIOT 16G/Sarah McLachlan/Plastic Compilation Vol. 3" )
Debug: [LibraryScanner 1]: TrackCollection
Debug: [LibraryScanner 1]: created new hash 228048371
Debug: [LibraryScanner 1]: TrackCollection
Debug: [LibraryScanner 1]: created new hash 95977875
Debug: [LibraryScanner 1]: TrackCollection
Debug: [Main]: TrackDAO::getTrack QThread(0x84017f0, name = "Main") "qt_sql_
Debug: [Main]: TrackInfoObject: emitting bpmUpdated signal!
Debug: [Main]: setCuePoints 0
Debug: [Main]: TrackDAO:
Debug: [Main]: Updating track "" in database...
Debug: [LibraryScanner 1]: created new hash 164337075
Debug: [LibraryScanner 1]: TrackCollection
Here is the backtrace from GDB: cond_wait@ @GLIBC_ 2.3.2 () from /lib/tls/ i686/cmov/ libpthread. so.0 qt4/lib/ libQtCore. so.4 qt4/lib/ libQtCore. so.4 :loadTrack (this=0x852f488, pTrack=0x944cee0) at src/engine/ enginebuffer. cpp:655 :slotLoadTrack (this=0x876d5f8, track=0x944cee0, bStartFromEndPo s=false) at src/player.cpp:89 :slotLoadTrackI ntoNextAvailabl ePlayer (this=0x851c058, pTrack=0x944cee0) at src/mixxx.cpp:1239 :qt_metacall (this=0x851c058, _c=QMetaObject: :InvokeMetaMeth od, _id=13, _a=0xbfffcf28) at linux_build/ moc_mixxx. cc:112 :activate( QObject* , int, int, void**) () from /usr/share/ qt4/lib/ libQtCore. so.4 :activate( QObject* , QMetaObject const*, int, void**) () from /usr/share/ qt4/lib/ libQtCore. so.4 library/ moc_library. cc:127 :slotLoadTrack (this=0xb26196f8, pTrack=0x944cee0) at src/library/ library. cpp:141 :qt_metacall (this=0xb26196f8, _c=QMetaObject: :InvokeMetaMeth od, _id=7, _a=0xbfffd048) at linux_build/ library/ moc_library. cc:97 :activate( QObject* , int, int, void**) () from /usr/share/ qt4/lib/ libQtCore. so.4 :activate( QObject* , QMetaObject const*, int, void**) () from /usr/share/ qt4/lib/ libQtCore. so.4 ::loadTrack (this=0x925c740, _t1=0x944cee0) at linux_build/ moc_wtracktable view.cc: 100 ::slotMouseDoub leClicked (this=0x925c740, index=...) at src/wtracktable view.cpp: 174 ::qt_metacall (this=0x925c740, _c=QMetaObject: :InvokeMetaMeth od, _id=3, _a=0xbfffd178) at linux_build/ moc_wtracktable view.cc: 84 :activate( QObject* , int, int, void**) () from /usr/share/ qt4/lib/ libQtCore. so.4 :activate( QObject* , QMetaObject const*, int, void**) () from /usr/share/ qt4/lib/ libQtCore. so.4 ew::doubleClick ed(QModelIndex const&) () from /usr/share/ qt4/lib/ libQtGui. so.4 ew::mouseDouble ClickEvent( QMouseEvent* ) () from /usr/share/ qt4/lib/ libQtGui. so.4 :event( QEvent* ) () from /usr/share/ qt4/lib/ libQtGui. so.4 :event( QEvent* ) () from /usr/share/ qt4/lib/ libQtGui. so.4 Area::viewportE vent(QEvent* ) () from /usr/share/ qt4/lib/ libQtGui. so.4 ew::viewportEve nt(QEvent* ) () from /usr/share/ qt4/lib/ libQtGui. so.4 qt4/lib/ libQtGui. so.4 nPrivate: :sendThroughObj ectEventFilters (QObject* , QEvent*) () from /usr/share/ qt4/lib/ libQtCore. so.4 vate::notify_ helper( QObject* , QEvent*) () from /usr/share/ qt4/lib/ libQtGui. so.4 :notify( QObject* , QEvent*) () from /usr/share/ qt4/lib/ libQtGui. so.4 n::notifyIntern al(QObject* , QEvent*) () from /usr/share/ qt4/lib/ libQtCore. so.4 vate::sendMouse Event(QWidget* , QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () qt4/lib/ libQtGui. so.4 qt4/lib/ libQtGui. so.4 :x11ProcessEven t(_XEvent* ) () from /usr/share/ qt4/lib/ libQtGui. so.4 qt4/lib/ libQtGui. so.4 context_ dispatch () from /lib/libglib- 2.0.so. 0 2.0.so. 0 context_ iteration () from /lib/libglib- 2.0.so. 0 rGlib:: processEvents( QFlags< QEventLoop: :ProcessEventsF lag>) () from /usr/share/ qt4/lib/ libQtCore. so.4 qt4/lib/ libQtGui. so.4 :processEvents( QFlags< QEventLoop: :ProcessEventsF lag>) () from /usr/share/ qt4/lib/ libQtCore. so.4 :exec(QFlags< QEventLoop: :ProcessEventsF lag>) () from /usr/share/ qt4/lib/ libQtCore. so.4 n::exec( ) () from /usr/share/ qt4/lib/ libQtCore. so.4 :exec() () from /usr/share/ qt4/lib/ libQtGui. so.4
^C
Program received signal SIGINT, Interrupt.
0x00f19422 in __kernel_vsyscall ()
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) bt
#0 0x00f19422 in __kernel_vsyscall ()
#1 0x00647e15 in pthread_
#2 0x00adf4d2 in ?? () from /usr/share/
#3 0x00adaba2 in QMutex::lock() () from /usr/share/
#4 0x080c8d78 in EngineBuffer:
#5 0x081a1f65 in Player:
#6 0x0810fc4a in MixxxApp:
#7 0x081fa9bd in MixxxApp:
#8 0x00be6263 in QMetaObject:
#9 0x00be6ec2 in QMetaObject:
#10 0x082014cc in Library::loadTrack (this=0xb26196f8, _t1=0x944cee0) at linux_build/
#11 0x0816b73c in Library:
#12 0x082013af in Library:
#13 0x00be6263 in QMetaObject:
#14 0x00be6ec2 in QMetaObject:
#15 0x081fbf62 in WTrackTableView
#16 0x08134738 in WTrackTableView
#17 0x081fbee8 in WTrackTableView
#18 0x00be6263 in QMetaObject:
#19 0x00be6ec2 in QMetaObject:
#20 0x02e51003 in QAbstractItemVi
#21 0x02e54287 in QAbstractItemVi
#22 0x0295fe47 in QWidget:
#23 0x02d0f633 in QFrame:
#24 0x02dae494 in QAbstractScroll
#25 0x02e62087 in QAbstractItemVi
#26 0x02db0a95 in ?? () from /usr/share/
#27 0x00bcf83a in QCoreApplicatio
#28 0x0290af2c in QApplicationPri
#29 0x02913033 in QApplication:
#30 0x00bd06cb in QCoreApplicatio
#31 0x02911f6e in QApplicationPri
from /usr/share/
#32 0x029807c0 in ?? () from /usr/share/
#33 0x0297fc4b in QApplication:
#34 0x029ac502 in ?? () from /usr/share/
---Type <return> to continue, or q <return> to quit---
#35 0x013e6e88 in g_main_
#36 0x013ea730 in ?? () from /lib/libglib-
#37 0x013ea863 in g_main_
#38 0x00bfb02c in QEventDispatche
#39 0x029abbe5 in ?? () from /usr/share/
#40 0x00bcec79 in QEventLoop:
#41 0x00bcf0ca in QEventLoop:
#42 0x00bd153f in QCoreApplicatio
#43 0x0290add7 in QApplication:
#44 0x080fcca7 in main (argc=3, argv=0xbffff444) at src/main.cpp:313