Auto DJ - Fatal error crashes Mixxx
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
High
|
Mika Haulo | ||
1.8 |
Won't Fix
|
High
|
Unassigned |
Bug Description
While using Auto DJ Feature Mixxx reports a Fatal error which Terminates Mixxx.
--- terminal output ---
Debug: [Main]: WLibrary:
Debug: [Main]: WLibrary:
Debug: [Main]: pp1c loading
Fatal: [Main]: ASSERT: "!isEmpty()" in file /usr/share/
Aborted
--- terminal output ---
How to reproduce this Error:
1. Add a few MP3 songs to the Auto DJ and then enable it
2. When the Song in Player one reaches the end but before the autocrossfade begins, START dragging a song in the Auto DJ Playlist to another Position. But don't release it yet.
3. When the auto crossfade starts drop the Song to any new Position.
Now the program is still playing Music, but only until you accept the error Dialog.
This bug seriously killed my flow twice while using Mixxx in a real Party situation. Never the less. It is still an awesome piece of software and I was able to work around the Bug after spotting the coherence... And rocked the Party ;)
Since I can reproduce the Bug on two diffrent Thinkpad Models I don't think the Hardware Architecture counts
OS: Ubuntu 10.04 Lucid Lynx x86 & amd64
MIXXX: 1.8.0
Related branches
Changed in mixxx: | |
status: | New → Fix Committed |
assignee: | nobody → Mika Haulo (mhaulo) |
importance: | Undecided → High |
milestone: | none → 1.9.1 |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
Here's a quick emergency patch to prevent the crash. The crash happens because in WTrackTableView ::dropEvent( ) selectedRows, which is a QList, gets empty when auto crossfade starts. Calling first() or last() on an empty QList causes this assert.
The attached patch is for 1.8 branch. It may not a perfect fix (I couldn't really test it, because auto dj in 1.8 didn't work for me), but at least Mixxx won't crash. The crash is also reproducible with trunk r2621.