Version: (using KDE 4.4.3) Installed from: Compiled From Sources KRandomSequence::randomize( QList<T>& list ), defined at krandomsequence.h:109, does not ever check to see whether the list passed to it is empty. Consequently, if the list passed as an argument is empty, the call to list.takeFirst() on line 109 causes a crash with an failed ASSERT() in Qt::List. I suggest inserting the following code between lines 111 and 112: if ( list.isEmpty() ) return l;
*** This bug has been marked as a duplicate of bug 226738 ***
Christoph: how can this KDE 4.4.3 bug be a duplicate of a bug fixed months ago in an older version of KDE? One of these bugs needs to be reopened, but my knowledge about kdelibs is to poor to know which one.
*** Bug 238499 has been marked as a duplicate of this bug. ***
*** Bug 239976 has been marked as a duplicate of this bug. ***
The only explanation I have for bug 239976 appearing is that Amarok is compiled against 4.4.0 (or older) kdelibs headers. The randomize() function is inlined, so just updating kdelibs does not fix the issue; Amarok has to be (re)compiled against at least 4.4.1 kdelibs headers. I checked 4.4 branch, and Anne-Marie did backport the fix, see http://websvn.kde.org/?revision=1091061&view=revision.