Deadlocks when loading a track, or on exit if no track loaded.

Bug #512850 reported by ironstorm on 2010-01-26
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
High
RJ Skerry-Ryan

Bug Description

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) "

Additional System info:
- Mixxx was started with: gdb --eval-command=run mixxx --args mixxx --resourcePath ./res
- Mixxx is being launched with the --resourcePath arg, it is not installed in /usr/share/local/mixxx
- All files are located on an SD card mounted at "/media/PATRIOT 16G/*"

Deadlock #1 - Loading a track - steps to reproduce:
1. start Mixxx
2. right click on any track and hit "Load on Player 1"

Expected result: track loads and starts playing
Actual result: Mixxx deadlocks, no playback, neither main window nor scanning pop-up repaint.

Console Output and Backtrace:

GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ged/Mixxx/mixxx/mixxx...done.
Starting program: /home/ged/Mixxx/mixxx/mixxx --resourcePath ./res
[Thread debugging using libthread_db enabled]
Debug: [Main]: Setting up plugin paths...
Debug: [Main]: ...done.
Debug: [Main]: Mixxx trunk "(bzr r2275; built on: Jan 26 2010 @ 22:52:18) " is starting...
Debug: [Main]: At current version trunk
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: CachingReader using 4980736 bytes.
[New Thread 0xb4d7cb70 (LWP 27094)]
Debug: [Main]: CachingReader using 4980736 bytes.
[New Thread 0xb3f80b70 (LWP 27095)]
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Mixer Profile]" , "LoEQFrequency" )
[New Thread 0xb30dbb70 (LWP 27096)]
Debug: [Main]: SampleRate 44100
Debug: [Main]: Latency 64
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
[New Thread 0xae7ecb70 (LWP 27097)]
[Thread 0xae7ecb70 (LWP 27097) exited]
[New Thread 0xae7ecb70 (LWP 27098)]
[Thread 0xae7ecb70 (LWP 27098) exited]
[New Thread 0xae7ecb70 (LWP 27099)]
[Thread 0xae7ecb70 (LWP 27099) exited]
[New Thread 0xae7ecb70 (LWP 27100)]
[Thread 0xae7ecb70 (LWP 27100) exited]
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: ("QSQLITE", "QMYSQL3", "QMYSQL")
[New Thread 0xae7ecb70 (LWP 27101)]
Debug: [Main]: src/library/trackcollection.cpp DB status: true
Debug: [Main]: QSqlError(-1, "", "")
Debug: [Main]: SchemaManager::upgradeToSchemaVersion already at version 1
Debug: [Main]: TrackDAO::initialize QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: CrateDAO::initialize()
Debug: [Main]: CueDAO::initialize QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
[Thread 0xae7ecb70 (LWP 27101) exited]
Debug: [Main]: Created MissingTracksModel!
[New Thread 0xae7ecb70 (LWP 27103)]
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Making new GL context.
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#00ff00"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Sharing existing GL context.
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#00ff00"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel1]" , "hotcue_32_position" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel2]" , "hotcue_32_position" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/."
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/.."
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/compressor.xml"
Debug: [Main]: LADSPA: Plugin "Compress" not found (required by preset "Compressor" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/delay5s.xml"
Debug: [Main]: LADSPA: Plugin "delay_5s" not found (required by preset "Delay5s" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/djflanger.xml"
Debug: [Main]: LADSPA: Plugin "djFlanger" not found (required by preset "DJFlanger" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/karaoke.xml"
Debug: [Main]: LADSPA: Plugin "karaoke" not found (required by preset "Karaoke" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/null.xml"
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/plate.xml"
Debug: [Main]: LADSPA: Plugin "Plate2x2" not found (required by preset "PlateReverb" )
Debug: [Main]: Setting up LADSPA EnableEffect "0"
Debug: [Main]: Key string: "EnableEffect0"
Debug: [Main]: Setting up LADSPA EnableEffect "1"
Debug: [Main]: Key string: "EnableEffect1"
Debug: [Main]: Setting up LADSPA EnableEffect "2"
Debug: [Main]: Key string: "EnableEffect2"
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
[New Thread 0xb1e75b70 (LWP 27106)]
Debug: [Main]: MixxxLibraryFeature::activate()
Debug: [Main]: WTrackTableView::loadTrackModel() QSortFilterProxyModel(0x87fce80)
[New Thread 0xb15e8b70 (LWP 27135)]
Debug: [Main]: PlaylistTableModel::setPlaylist 1
Debug: [Main]: WTrackTableView::loadTrackModel() PlaylistTableModel(0x93b8488)
[New Thread 0xb05e6b70 (LWP 27137)]
[New Thread 0xb0de7b70 (LWP 27136)]
Debug: [Main]: WTrackTableView::loadTrackModel() PrepareLibraryTableModel(0x9448040)
Debug: [Main]: Constructed LibraryScanner!!!
[New Thread 0xafbffb70 (LWP 27219)]
Debug: [LibraryScanner 1]: LibraryHashDAO::initialize LibraryScanner(0x88a7840, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: CueDAO::initialize LibraryScanner(0x88a7840, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: TrackDAO::initialize LibraryScanner(0x88a7840, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: Legacy importer took 0 ms
Debug: [LibraryScanner 1]: Recursively scanning library.
[New Thread 0xaf3feb70 (LWP 27220)]
Debug: [Main]: Could not read "/home/ged/.mixxx/midi/MixxxMIDIDevices"
Debug: [Main]: Scanning MIDI devices:
Debug: [Main]: Found output device # 0 Midi Through Port-0
Debug: [Main]: Found input device # 1 Midi Through Port-0
Debug: [Main]: Linking to output device # 0 "Midi Through Port-0"
Debug: [Main]: Starting script engine with output device ""
[New Thread 0xadfebb70 (LWP 27221)]
Debug: [MidiScriptEngine 1]: MIDI Device in script engine is: ""
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: MidiDeviceManager: Setting up devices
Debug: [Main]: PortMIDI device "1. Midi Through Port-0" already closed
Debug: [Main]: MidiMapping: Loading MIDI preset from "/home/ged/.mixxx/midi/Midi_Through_Port-0.midi.xml"
Debug: [Main]: Could not open xml file: "/home/ged/.mixxx/midi/Midi_Through_Port-0.midi.xml"
Debug: [Main]: selectedAPI is: "ALSA"
Debug: [Main]: getSliderLatencyMsec in: 11
Debug: [Main]: getSliderLatencyMsec out: 46
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: loadSettings: 1 0 ""
Debug: [Main]: slotApply crossfader: 1 ""
Debug: [Main]: BPM Scheme File ConfigKey not set or file missing... setting to "/home/ged/.mixxx/mixxxbpmscheme.xml"
Debug: [Main]: BpmSchemes::readXML "/home/ged/.mixxx/mixxxbpmscheme.xml"
Debug: [Main]: BPM Scheme: "/home/ged/.mixxx/mixxxbpmscheme.xml" does not exist.
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: SoundManager::setupDevices()
Debug: [Main]: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: [Main]: Starting vinyl control xwax thread
[New Thread 0xacdfeb70 (LWP 27223)]
Debug: [Main]: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: [Main]: Starting vinyl control xwax thread
[New Thread 0xabbffb70 (LWP 27224)]
Debug: [Main]: SoundDevicePortAudio::open() "0, HDA Intel: ALC269 Analog (hw:0,0)"
Debug: [Main]: m_dSampleRate 44100
Debug: [Main]: iLatencyMSec: 64
Debug: [Main]: output channels: 2 | input channels: 0
Debug: [Main]: iFramesPerBuffer 4096
Debug: [Main]: iLatencyMSec: 64
Debug: [Main]: Opening stream with id 0
Debug: [Main]: Opened PortAudio stream successfully... starting
Debug: [Main]: Dynamically loaded PortAudio library!
[New Thread 0xab3feb70 (LWP 27226)]
Debug: [Main]: PortAudio: Started stream successfully
Debug: [Main]: iNumDevicesOpenedForOutput: 1
Debug: [Main]: iNumDevicesOpenedForInput: 0
Debug: [Main]: TrackDAO::getTrack QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: TrackDAO::getTrack QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Displaying mixxx
Debug: [Reader 1]: Couldn't load track with filename: "--resourcePath"
Debug: [Main]: Running Mixxx
Debug: [AnalyserQueue 1]: Skipping invalid file: "./res"
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try adjusting the vblank_mode configuration parameter.
Debug: [LibraryScanner 1]: Recursive scan finished cleanly.
Debug: [LibraryScanner 1]: Marking unverified tracks as deleted.
Debug: [LibraryScanner 1]: TrackDAO::markUnverifiedTracksAsDeleted LibraryScanner(0x88a7840, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: Detecting moved files.
Debug: [LibraryScanner 1]: Scan finished cleanly
Debug: [LibraryScanner 1]: Scan took: 5865 ms
[Thread 0xafbffb70 (LWP 27219) exited]
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...
^C
Program received signal SIGINT, Interrupt.
0x00110422 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 0x00110422 in __kernel_vsyscall ()
#1 0x0018ae15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x044df4d2 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x044daba2 in QMutex::lock() () from /usr/share/qt4/lib/libQtCore.so.4
#4 0x080c8d78 in EngineBuffer::loadTrack (this=0x8539558, pTrack=0x8735498) at src/engine/enginebuffer.cpp:655
#5 0x081a1f65 in Player::slotLoadTrack (this=0x8812328, track=0x8735498, bStartFromEndPos=false) at src/player.cpp:89
#6 0x0810fb2d in MixxxApp::slotLoadTrackToPlayer (this=0x851c058, pTrack=0x8735498, player=1) at src/mixxx.cpp:1231
#7 0x081fa9e9 in MixxxApp::qt_metacall (this=0x851c058, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0xbfffd054) at linux_build/moc_mixxx.cc:113
#8 0x045e6263 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#9 0x045e6ec2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#10 0x08201517 in Library::loadTrackToPlayer (this=0x85aa898, _t1=0x8735498, _t2=1) at linux_build/library/moc_library.cc:134
#11 0x0816b75d in Library::slotLoadTrackToPlayer (this=0x85aa898, pTrack=0x8735498, player=1) at src/library/library.cpp:145
#12 0x082013d8 in Library::qt_metacall (this=0x85aa898, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfffd174) at linux_build/library/moc_library.cc:98
#13 0x045e6263 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#14 0x045e6ec2 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#15 0x081fbfad in WTrackTableView::loadTrackToPlayer (this=0x930c798, _t1=0x8735498, _t2=1) at linux_build/moc_wtracktableview.cc:107
#16 0x081347e6 in WTrackTableView::slotLoadPlayer1 (this=0x930c798) at src/wtracktableview.cpp:185
#17 0x081fbef5 in WTrackTableView::qt_metacall (this=0x930c798, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfffd308) at linux_build/moc_wtracktableview.cc:85
#18 0x045e6263 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#19 0x045e66d8 in QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) () from /usr/share/qt4/lib/libQtCore.so.4
#20 0x0571d9b1 in QAction::triggered(bool) () from /usr/share/qt4/lib/libQtGui.so.4
#21 0x0571ef32 in QAction::activate(QAction::ActionEvent) () from /usr/share/qt4/lib/libQtGui.so.4
#22 0x05b6c9cc in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#23 0x05b7303b in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#24 0x05b73bf7 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#25 0x05779012 in QWidget::event(QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#26 0x05b75e34 in QMenu::event(QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#27 0x05723f54 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#28 0x0572c033 in QApplication::notify(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#29 0x045d06cb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/share/qt4/lib/libQtCore.so.4
#30 0x0572af6e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) ()
   from /usr/share/qt4/lib/libQtGui.so.4
#31 0x05799c87 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#32 0x05798c4b in QApplication::x11ProcessEvent(_XEvent*) () from /usr/share/qt4/lib/libQtGui.so.4
#33 0x057c5502 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#34 0x00d39e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#35 0x00d3d730 in ?? () from /lib/libglib-2.0.so.0
#36 0x00d3d863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#37 0x045fb02c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#38 0x057c4be5 in ?? () from /usr/share/qt4/lib/libQtGui.so.4
#39 0x045cec79 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#40 0x045cf0ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#41 0x045d153f in QCoreApplication::exec() () from /usr/share/qt4/lib/libQtCore.so.4
#42 0x05723dd7 in QApplication::exec() () from /usr/share/qt4/lib/libQtGui.so.4
#43 0x080fcca7 in main (argc=3, argv=0xbffff444) at src/main.cpp:313
(gdb)

Deadlock #2 - exiting Mixxx
1. start Mixxx
2. close Mixxx

Expected result: Mixxx closes
Actual result: Mixxx closes windows, but does not exit to command prompt

Console Output and Backtrace:
gdb --eval-command=run mixxx --args mixxx --resourcePath ./res
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ged/Mixxx/mixxx/mixxx...done.
Starting program: /home/ged/Mixxx/mixxx/mixxx --resourcePath ./res
[Thread debugging using libthread_db enabled]
Debug: [Main]: Setting up plugin paths...
Debug: [Main]: ...done.
Debug: [Main]: Mixxx trunk "(bzr r2275; built on: Jan 26 2010 @ 22:52:18) " is starting...
Debug: [Main]: At current version trunk
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: CachingReader using 4980736 bytes.
[New Thread 0xb4d7cb70 (LWP 26876)]
Debug: [Main]: CachingReader using 4980736 bytes.
[New Thread 0xb3e04b70 (LWP 26877)]
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Mixer Profile]" , "LoEQFrequency" )
[New Thread 0xb2f5fb70 (LWP 26878)]
Debug: [Main]: SampleRate 44100
Debug: [Main]: Latency 64
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
[New Thread 0xae670b70 (LWP 26879)]
[Thread 0xae670b70 (LWP 26879) exited]
[New Thread 0xae670b70 (LWP 26880)]
[Thread 0xae670b70 (LWP 26880) exited]
[New Thread 0xae670b70 (LWP 26881)]
[Thread 0xae670b70 (LWP 26881) exited]
[New Thread 0xae670b70 (LWP 26882)]
[Thread 0xae670b70 (LWP 26882) exited]
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: ("QSQLITE", "QMYSQL3", "QMYSQL")
[New Thread 0xae670b70 (LWP 26883)]
Debug: [Main]: src/library/trackcollection.cpp DB status: true
Debug: [Main]: QSqlError(-1, "", "")
[Thread 0xae670b70 (LWP 26883) exited]
Debug: [Main]: SchemaManager::upgradeToSchemaVersion already at version 1
Debug: [Main]: TrackDAO::initialize QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: CrateDAO::initialize()
Debug: [Main]: CueDAO::initialize QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Created MissingTracksModel!
[New Thread 0xae670b70 (LWP 26884)]
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Making new GL context.
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#00ff00"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Sharing existing GL context.
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#00ff00"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel1]" , "hotcue_32_position" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel2]" , "hotcue_32_position" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/."
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/.."
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/compressor.xml"
Debug: [Main]: LADSPA: Plugin "Compress" not found (required by preset "Compressor" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/delay5s.xml"
Debug: [Main]: LADSPA: Plugin "delay_5s" not found (required by preset "Delay5s" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/djflanger.xml"
Debug: [Main]: LADSPA: Plugin "djFlanger" not found (required by preset "DJFlanger" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/karaoke.xml"
Debug: [Main]: LADSPA: Plugin "karaoke" not found (required by preset "Karaoke" )
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/null.xml"
Debug: [Main]: LADSPA: file "./res/skins/outlineNetbook/../../ladspa_presets/plate.xml"
Debug: [Main]: LADSPA: Plugin "Plate2x2" not found (required by preset "PlateReverb" )
Debug: [Main]: Setting up LADSPA EnableEffect "0"
Debug: [Main]: Key string: "EnableEffect0"
Debug: [Main]: Setting up LADSPA EnableEffect "1"
Debug: [Main]: Key string: "EnableEffect1"
Debug: [Main]: Setting up LADSPA EnableEffect "2"
Debug: [Main]: Key string: "EnableEffect2"
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
[New Thread 0xb1e66b70 (LWP 26887)]
Debug: [Main]: MixxxLibraryFeature::activate()
Debug: [Main]: WTrackTableView::loadTrackModel() QSortFilterProxyModel(0x87ad0d8)
[New Thread 0xb15d9b70 (LWP 26888)]
Debug: [Main]: PlaylistTableModel::setPlaylist 1
Debug: [Main]: WTrackTableView::loadTrackModel() PlaylistTableModel(0x92ec918)
[New Thread 0xb0dd8b70 (LWP 26889)]
[New Thread 0xb05d7b70 (LWP 26890)]
Debug: [Main]: WTrackTableView::loadTrackModel() PrepareLibraryTableModel(0x9374788)
Debug: [Main]: Constructed LibraryScanner!!!
[New Thread 0xafbffb70 (LWP 26892)]
Debug: [LibraryScanner 1]: LibraryHashDAO::initialize LibraryScanner(0x8787138, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: CueDAO::initialize LibraryScanner(0x8787138, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: TrackDAO::initialize LibraryScanner(0x8787138, name = "LibraryScanner 1") "LIBRARY_SCANNER"
[New Thread 0xaf3feb70 (LWP 26893)]
Debug: [LibraryScanner 1]: Legacy importer took 0 ms
Debug: [LibraryScanner 1]: Recursively scanning library.
Debug: [Main]: Could not read "/home/ged/.mixxx/midi/MixxxMIDIDevices"
Debug: [Main]: Scanning MIDI devices:
Debug: [Main]: Found output device # 0 Midi Through Port-0
Debug: [Main]: Found input device # 1 Midi Through Port-0
Debug: [Main]: Linking to output device # 0 "Midi Through Port-0"
Debug: [Main]: Starting script engine with output device ""
[New Thread 0xade6fb70 (LWP 26894)]
Debug: [MidiScriptEngine 1]: MIDI Device in script engine is: ""
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: MidiDeviceManager: Setting up devices
Debug: [Main]: PortMIDI device "1. Midi Through Port-0" already closed
Debug: [Main]: MidiMapping: Loading MIDI preset from "/home/ged/.mixxx/midi/Midi_Through_Port-0.midi.xml"
Debug: [Main]: Could not open xml file: "/home/ged/.mixxx/midi/Midi_Through_Port-0.midi.xml"
Debug: [Main]: selectedAPI is: "ALSA"
Debug: [Main]: getSliderLatencyMsec in: 11
Debug: [Main]: getSliderLatencyMsec out: 46
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: loadSettings: 1 0 ""
Debug: [Main]: slotApply crossfader: 1 ""
Debug: [Main]: BPM Scheme File ConfigKey not set or file missing... setting to "/home/ged/.mixxx/mixxxbpmscheme.xml"
Debug: [Main]: BpmSchemes::readXML "/home/ged/.mixxx/mixxxbpmscheme.xml"
Debug: [Main]: BPM Scheme: "/home/ged/.mixxx/mixxxbpmscheme.xml" does not exist.
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: Setting qConfigPath from location in resourcePath commandline arg: "./res"
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: SoundManager::setupDevices()
Debug: [Main]: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: [Main]: Starting vinyl control xwax thread
[New Thread 0xace6db70 (LWP 26896)]
Debug: [Main]: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: [Main]: Starting vinyl control xwax thread
[New Thread 0xabe6bb70 (LWP 26897)]
Debug: [Main]: SoundDevicePortAudio::open() "0, HDA Intel: ALC269 Analog (hw:0,0)"
Debug: [Main]: m_dSampleRate 44100
Debug: [Main]: iLatencyMSec: 64
Debug: [Main]: output channels: 2 | input channels: 0
Debug: [Main]: iFramesPerBuffer 4096
Debug: [Main]: iLatencyMSec: 64
Debug: [Main]: Opening stream with id 0
Debug: [Main]: Opened PortAudio stream successfully... starting
Debug: [Main]: Dynamically loaded PortAudio library!
[New Thread 0xab66ab70 (LWP 26898)]
Debug: [Main]: PortAudio: Started stream successfully
Debug: [Main]: iNumDevicesOpenedForOutput: 1
Debug: [Main]: iNumDevicesOpenedForInput: 0
Debug: [Main]: TrackDAO::getTrack QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: TrackDAO::getTrack QThread(0x84017f0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Displaying mixxx
Debug: [Reader 1]: Couldn't load track with filename: "--resourcePath"
Debug: [Main]: Running Mixxx
Debug: [AnalyserQueue 1]: Skipping invalid file: "./res"
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try adjusting the vblank_mode configuration parameter.
Debug: [LibraryScanner 1]: Recursive scan finished cleanly.
Debug: [LibraryScanner 1]: Marking unverified tracks as deleted.
Debug: [LibraryScanner 1]: TrackDAO::markUnverifiedTracksAsDeleted LibraryScanner(0x8787138, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: Detecting moved files.
Debug: [LibraryScanner 1]: Scan finished cleanly
Debug: [LibraryScanner 1]: Scan took: 5657 ms
[Thread 0xafbffb70 (LWP 26892) exited]
Debug: [Main]: Destroying MixxxApp
Debug: [Main]: save config, 0
Debug: [Main]: close soundmanager 1
^C
Program received signal SIGINT, Interrupt.
0x00e82422 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 0x00e82422 in __kernel_vsyscall ()
#1 0x008f194d in pthread_join () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x00274b93 in ?? () from /usr/lib/libportaudio.so.2
#3 0x0026be39 in ?? () from /usr/lib/libportaudio.so.2
#4 0x00265bf9 in Pa_StopStream () from /usr/lib/libportaudio.so.2
#5 0x081aa79a in SoundDevicePortAudio::close (this=0xb4454c18) at src/sounddeviceportaudio.cpp:258
#6 0x081a6d66 in SoundManager::closeDevices (this=0xb4436250) at src/soundmanager.cpp:212
#7 0x08109832 in ~MixxxApp (this=0x851c058, __in_chrg=<value optimized out>) at src/mixxx.cpp:397
#8 0x080fccc2 in main (argc=3, argv=0xbffff444) at src/main.cpp:316
(gdb)

summary: - Loading a track before library scan has complete causes deadlocks
+ Loading a track before library scan has completed causes deadlocks
tags: removed: library scanner
summary: - Loading a track before library scan has completed causes deadlocks
+ Deadlocks when loading a track, or on exit if no track loaded.
description: updated
RJ Skerry-Ryan (rryan) wrote :

Hey Garth,

Can you provide the output of `thread apply all bt'? I need to see what the reader thread is doing that's blocking EngineBuffer.

ironstorm (ironstorm-gmail) wrote :
Download full text (8.9 KiB)

Deadlock #2 -- exiting Mixxx

Thread 20 (Thread 0xab6a7b70 (LWP 29012)):
#0 0x00464422 in __kernel_vsyscall ()
#1 0x021d0c96 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x00322c64 in ?? () from /usr/lib/libportaudio.so.2
#3 0x00323a55 in ?? () from /usr/lib/libportaudio.so.2
#4 0x003a180e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5 0x021de8de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 19 (Thread 0xabea8b70 (LWP 29011)):
#0 0x00464422 in __kernel_vsyscall ()
#1 0x003a5e15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x0125de67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x081e185a in VinylControlXwax::run (this=0x959e0d0) at src/vinylcontrolxwax.cpp:153
#4 0x0125ce32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#5 0x003a180e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6 0x021de8de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 18 (Thread 0xaceaab70 (LWP 29010)):
#0 0x00464422 in __kernel_vsyscall ()
#1 0x003a5e15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x0125de67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x081e185a in VinylControlXwax::run (this=0x959ca40) at src/vinylcontrolxwax.cpp:153
#4 0x0125ce32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#5 0x003a180e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6 0x021de8de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 17 (Thread 0xadeacb70 (LWP 29008)):
#0 0x00464422 in __kernel_vsyscall ()
#1 0x021d0c96 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x0480e54b in g_poll () from /lib/libglib-2.0.so.0
#3 0x0480156b in ?? () from /lib/libglib-2.0.so.0
#4 0x04801863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5 0x0137802c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#6 0x0134bc79 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#7 0x0134c0ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#8 0x01259b73 in QThread::exec() () from /usr/share/qt4/lib/libQtCore.so.4
#9 0x081f2042 in MidiScriptEngine::run (this=0x8737ec0) at src/midi/midiscriptengine.cpp:120
#10 0x0125ce32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#11 0x003a180e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0x021de8de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 16 (Thread 0xaf3feb70 (LWP 29007)):
#0 0x00464422 in __kernel_vsyscall ()
#1 0x003a5e15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x0125de67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x080e8584 in AnalyserQueue::dequeueNextBlocking (this=0x9439550) at src/analyserqueue.cpp:40
#4 0x080e89a4 in AnalyserQueue::run (this=0x9439550) at src/analyserqueue.cpp:136
#5 0x0125ce32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#...

Read more...

ironstorm (ironstorm-gmail) wrote :
Download full text (12.8 KiB)

Deadlock #1 -- Loading a track

Thread 20 (Thread 0xab66ab70 (LWP 29124)):
#0 0x00e41422 in __kernel_vsyscall ()
#1 0x01ca7c96 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x00b25c64 in ?? () from /usr/lib/libportaudio.so.2
#3 0x00b26a55 in ?? () from /usr/lib/libportaudio.so.2
#4 0x0088980e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5 0x01cb58de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 19 (Thread 0xabe6bb70 (LWP 29123)):
#0 0x00e41422 in __kernel_vsyscall ()
#1 0x0088de15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x03737e67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x081e185a in VinylControlXwax::run (this=0xb14f03f8) at src/vinylcontrolxwax.cpp:153
#4 0x03736e32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#5 0x0088980e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6 0x01cb58de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 18 (Thread 0xace6db70 (LWP 29122)):
#0 0x00e41422 in __kernel_vsyscall ()
#1 0x0088de15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x03737e67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x081e185a in VinylControlXwax::run (this=0xb14ee390) at src/vinylcontrolxwax.cpp:153
#4 0x03736e32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#5 0x0088980e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6 0x01cb58de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 17 (Thread 0xade6fb70 (LWP 29120)):
#0 0x00e41422 in __kernel_vsyscall ()
#1 0x01ca7c96 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x0634154b in g_poll () from /lib/libglib-2.0.so.0
#3 0x0633456b in ?? () from /lib/libglib-2.0.so.0
#4 0x06334863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5 0x0385202c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#6 0x03825c79 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
#7 0x038260ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/share/qt4/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#8 0x03733b73 in QThread::exec() () from /usr/share/qt4/lib/libQtCore.so.4
#9 0x081f2042 in MidiScriptEngine::run (this=0xb44c9c58) at src/midi/midiscriptengine.cpp:120
#10 0x03736e32 in ?? () from /usr/share/qt4/lib/libQtCore.so.4
#11 0x0088980e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0x01cb58de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 16 (Thread 0xaf1feb70 (LWP 29119)):
#0 0x00e41422 in __kernel_vsyscall ()
#1 0x0088de15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0x03737e67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/share/qt4/lib/libQtCore.so.4
#3 0x080e8584 in AnalyserQueue::dequeueNextBlocking (this=0xb44a1940) at src/analyserqueue.cpp:40
#4 0x080e89a4 in AnalyserQueue::run (this=0xb44a1940) at src/analyserqueue.cpp:136
#5 0x03736e32 in ?? () from /usr/share/qt4/lib/libQtCore...

RJ Skerry-Ryan (rryan) wrote :

Debug: [Reader 1]: Couldn't load track with filename: "--resourcePath"
Debug: [Main]: Running Mixxx
Debug: [AnalyserQueue 1]: Skipping invalid file: "./res"

It looks like the --resourcePath ./res thing isn't working for some reason.

Anyhow, the bug here is that the CachingReader doesn't emit a trackLoaded signal for invalid files (like './res' or '--resourcePath'), but the EngineBuffer is waiting on the trackLoaded signal. I'll add another signal to CachingReader for indicating a loadTrack failed.

There's probably a separate bug here with the --resourcePath ./res not working thanks to the 'load track on start' command line flag.

ironstorm (ironstorm-gmail) wrote :

Perhaps its a more general problem with my set-up (a newly installed Jaunty that was immediately dist-upgraded to Karmic / clean bzr checkout of trunk).

I did a scons install and ran Mixxx without any parameters and ran it from the menu (pasuspender) I still get the deadlocks... In this case Mixxx is exhibiting the same behaviour as it used to in 1.6 when it couldn't open a device, you can load tracks, but if you hit play nothing happens (I notice that even though a BPM is detected the display is not updated either).

If you open and close (using OK) the preferences panel Mixxx deadlocks immediately after the prefs dialog disappears, main UI is not repainted. If you close with Cancel it seems to be okay.

When exiting (if you don't deadlock it before) the last messages will be:
Debug: [Main]: Displaying mixxx
Debug: [Main]: Running Mixxx
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try adjusting the vblank_mode configuration parameter.
Debug: [LibraryScanner 1]: Recursive scan finished cleanly.
Debug: [LibraryScanner 1]: Marking unverified tracks as deleted.
Debug: [LibraryScanner 1]: TrackDAO::markUnverifiedTracksAsDeleted LibraryScanner(0x8ce21c8, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: Detecting moved files.
Debug: [LibraryScanner 1]: Scan finished cleanly
Debug: [LibraryScanner 1]: Scan took: 16109 ms
Debug: [Main]: Destroying MixxxApp
Debug: [Main]: save config, 0
Debug: [Main]: close soundmanager 5
^CGot SIGINT, exiting.

I also see this problem: Dragging & dropping from the library causes Mixxx's GUI to hang forever (though the currently-playing deck still continues.) Apparently dragging and dropping confuses the reader (or deadlocks something.) Here's me right-clicking and choosing Load in Player 1 (same if I just double-click):

Debug: [Main]: Running Mixxx
Debug: [Main]: TrackDAO::getTrack QThread(0x2b08400, name = "Main") "qt_sql_default_connection"
Debug: [Main]: TrackInfoObject: emitting bpmUpdated signal!
Debug: [Main]: setCuePoints 0
Debug: [AnalyserQueue 1]: AnalyserWaveform: f 44100 samplesPerDownsample: 110 downsamples 410050 from 45105408
Debug: [Main]: Received waveform from track

That's a normal load. Now I drag & drop the same track to Player 1:

Debug: [Main]: TrackDAO::getTrack QThread(0x2b08400, name = "Main") "qt_sql_default_connection"
Debug: [Main]: TrackDAO::updateTrackInDatabase QThread(0x2b08400, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Updating track "Whitney Houston, I'm Your Baby Tonight" in database...
Debug: [Reader 1]: Couldn't load track with filename: ""
Debug: [AnalyserQueue 1]: AnalyserWaveform :: Waveform downsampling finished.
Debug: [AnalyserQueue 1]: AnalyserWaveform :: Generation took 16.218 seconds

So far, no freeze, but it's been set up. (That Debug: [Reader 1]: Couldn't load track with filename: "" looks suspicious since I don't see that on a successful load.) Now I double-click the same track:

Debug: [Main]: TrackDAO::getTrack QThread(0x2b08400, name = "Main") "qt_sql_default_connection"
Debug: [Main]: TrackInfoObject: emitting bpmUpdated signal!
Debug: [Main]: setCuePoints 0
Debug: [Main]: TrackDAO::updateTrackInDatabase QThread(0x2b08400, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Updating track "" in database...

...and she's frozen. (The GUI at least.)

Changed in mixxx:
importance: Undecided → High
RJ Skerry-Ryan (rryan) on 2010-01-27
Changed in mixxx:
assignee: nobody → RJ Ryan (rryan)
status: New → Confirmed
milestone: none → 1.8.0
RJ Skerry-Ryan (rryan) wrote :

The deadlock happens when the file doesn't exist.

Debug: [Reader 1]: Couldn't load track with filename:

This line indicates the deadlock has occurred.

RJ Skerry-Ryan (rryan) on 2010-01-27
Changed in mixxx:
status: Confirmed → Fix Committed
RJ Skerry-Ryan (rryan) on 2010-10-05
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers