Version: 2.1.1 (using KDE 4.2.90) OS: Linux Installed from: Ubuntu Packages I created a user defined playlist layout and I click "Configure playlist layouts...". Amarok suddenly crashes. This is not happening if I select a predefined layout and I try to configure it. The crash happens even if I enter the "Playlist layout editor" and I select my layout from the available layouts list. In the terminal I get: ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/qt4/QtCore/qlist.h, line 399 How to Reproduce: maybe some layouts make the editor crashes while others don't. Maybe you could reproduce if I gave you my definition. Is it possible to post it somehow? Expected Behaviour: shouldn't crash. The editor should be opened.
Created attachment 34650 [details] Backtrace of the crash.
The custom playlist layouts are stored in $HOME/.kde/share/apps/amarok/playlist_layouts/ You should post the one that's causing the crash.
Created attachment 34651 [details] Playlist layout that makes the editor crashes.
Indeed it crashes.
Can somebody reproduce this with current 2.2-git?
yea, backtrace: Thread 1 (Thread 0x7fb8164f7760 (LWP 27070)): [KCrash Handler] #5 0x00007fb813ea51e5 in raise () from /lib/libc.so.6 #6 0x00007fb813ea6703 in abort () from /lib/libc.so.6 #7 0x00007fb81421c0e5 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2042 #8 0x00007fb81421c200 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2241 #9 0x00007fb815747822 in QList<char const*>::operator[] (this=0x7fb815cf0390, i=-1) at /usr/include/qt4/QtCore/qlist.h:399 #10 0x00007fb81574f9b8 in Playlist::LayoutEditWidget::readLayout (this=0x4572fc0, config= {m_rows = {{p = {static shared_null = {ref = {_q_value = 59520}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x7fff0380f020}, d = 0x7fff0380f020}}, m_showCover = 192, m_activeIndicatorRow = 0}) at /home/mikko/amarok/src/playlist/layouts/LayoutEditWidget.cpp:72 #11 0x00007fb815919bfd in PlaylistLayoutEditDialog::setLayout (this=0x7fff03811e80, layoutName=@0x7fff0380f1b0) at /home/mikko/amarok/src/dialogs/PlaylistLayoutEditDialog.cpp:285 #12 0x00007fb81591b43b in PlaylistLayoutEditDialog::qt_metacall (this=0x7fff03811e80, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff0380f170) at /home/mikko/amarok/build/src/PlaylistLayoutEditDialog.moc:84 #13 0x00007fb81431b525 in QMetaObject::activate (sender=0x4054490, from_signal_index=<value optimized out>, to_signal_index=77, argv=0xffffffffffffffff) at kernel/qobject.cpp:3101 #14 0x00007fb8150e4d35 in QListWidget::currentTextChanged (this=0x69be, _t1=<value optimized out>) at .moc/debug-shared/moc_qlistwidget.cpp:234 #15 0x00007fb8150e887d in QListWidgetPrivate::_q_emitCurrentItemChanged (this=<value optimized out>, current=<value optimized out>, previous=@0x492d410) at itemviews/qlistwidget.cpp:1078 #16 0x00007fb8150ea73e in QListWidget::qt_metacall (this=0x4054490, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff0380f320) at .moc/debug-shared/moc_qlistwidget.cpp:141 #17 0x00007fb81431b525 in QMetaObject::activate (sender=0x41e5d20, from_signal_index=<value optimized out>, to_signal_index=5, argv=0xffffffffffffffff) at kernel/qobject.cpp:3101 #18 0x00007fb8150d3d9a in QItemSelectionModel::currentChanged (this=0x69be, _t1=<value optimized out>, _t2=<value optimized out>) at .moc/debug-shared/moc_qitemselectionmodel.cpp:153 #19 0x00007fb8150d3ee4 in QItemSelectionModel::setCurrentIndex (this=0x41e5d20, index=<value optimized out>, command={i = 58783040}) at itemviews/qitemselectionmodel.cpp:1123 #20 0x00007fb815086b6b in QAbstractItemView::mousePressEvent (this=0x4054490, event=0x7fff03810270) at itemviews/qabstractitemview.cpp:1514 #21 0x00007fb814c35edb in QWidget::event (this=0x4054490, event=0x7fff03810270) at kernel/qwidget.cpp:7545 #22 0x00007fb814f6c87b in QFrame::event (this=0x4054490, e=0x7fff03810270) at widgets/qframe.cpp:559 #23 0x00007fb81508db8d in QAbstractItemView::viewportEvent (this=0x4054490, event=0x7fff03810270) at itemviews/qabstractitemview.cpp:1476 #24 0x00007fb814305777 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x3ed0a70, event=0x7fff03810270) at kernel/qcoreapplication.cpp:726 #25 0x00007fb814be285c in QApplicationPrivate::notify_helper (this=0x212c9e0, receiver=0x3ed0a70, e=0x7fff03810270) at kernel/qapplication.cpp:4052 #26 0x00007fb814bebd0b in QApplication::notify (this=<value optimized out>, receiver=0x3ed0a70, e=0x7fff03810270) at kernel/qapplication.cpp:3758 #27 0x00007fb815ef4c51 in KApplication::notify (this=0x7fff03814930, receiver=0x3ed0a70, event=0x7fff03810270) at /var/tmp/paludis/kde-base-kdelibs-4.3.9999/work/kdelibs-4.3.9999/kdeui/kernel/kapplication.cpp:302 #28 0x00007fb814305cdb in QCoreApplication::notifyInternal (this=0x7fff03814930, receiver=0x3ed0a70, event=0x7fff03810270) at kernel/qcoreapplication.cpp:606 #29 0x00007fb814beae82 in QApplicationPrivate::sendMouseEvent (receiver=0x3ed0a70, event=0x7fff03810270, alienWidget=0x3ed0a70, nativeWidget=0x7fff03811e80, buttonDown=<value optimized out>, lastMouseReceiver=@0x7fb81556ff50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216 #30 0x00007fb814c4c67c in QETWidget::translateMouseEvent (this=0x7fff03811e80, event=<value optimized out>) at kernel/qapplication_x11.cpp:4404 #31 0x00007fb814c4b155 in QApplication::x11ProcessEvent (this=0x7fff03814930, event=0x7fff03811c60) at kernel/qapplication_x11.cpp:3545 #32 0x00007fb814c70e7e in QEventDispatcherX11::processEvents (this=0x206c710, flags={i = 58793344}) at kernel/qeventdispatcher_x11.cpp:132 #33 0x00007fb814304922 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 58793392}) at kernel/qeventloop.cpp:149 #34 0x00007fb814304abc in QEventLoop::exec (this=0x7fff03811e00, flags={i = 58793504}) at kernel/qeventloop.cpp:197 #35 0x00007fb8150331d9 in QDialog::exec (this=0x7fff03811e80) at dialogs/qdialog.cpp:498 #36 0x00007fb815750e3e in Playlist::LayoutConfigAction::configureLayouts (this=0x3921070) at /home/mikko/amarok/src/playlist/layouts/LayoutConfigAction.cpp:86 #37 0x00007fb815750f53 in Playlist::LayoutConfigAction::qt_metacall (this=0x3921070, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff038120c0) at /home/mikko/amarok/build/src/LayoutConfigAction.moc:74 #38 0x00007fb81431b525 in QMetaObject::activate (sender=0x3919d40, from_signal_index=<value optimized out>, to_signal_index=6, argv=0xffffffffffffffff) at kernel/qobject.cpp:3101 #39 0x00007fb814bdce17 in QAction::triggered (this=0x69be, _t1=false) at .moc/debug-shared/moc_qaction.cpp:236 #40 0x00007fb814bddbc0 in QAction::activate (this=0x3919d40, event=<value optimized out>) at kernel/qaction.cpp:1160 #41 0x00007fb814fa6d9c in QMenuPrivate::activateCausedStack (this=0x39190a0, causedStack=@0x7fff038121e0, action=0x3919d40, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967 #42 0x00007fb814fad33b in QMenuPrivate::activateAction (this=0x39190a0, action=0x3919d40, action_e=59871328, self=true) at widgets/qmenu.cpp:1060 #43 0x00007fb815fb11f5 in KMenu::mouseReleaseEvent (this=0x3919060, e=0x7fff03812d40) at /var/tmp/paludis/kde-base-kdelibs-4.3.9999/work/kdelibs-4.3.9999/kdeui/widgets/kmenu.cpp:456 #44 0x00007fb814c35d40 in QWidget::event (this=0x3919060, event=0x7fff03812d40) at kernel/qwidget.cpp:7549 #45 0x00007fb814fae5cb in QMenu::event (this=0x3919060, e=0x7fff03812d40) at widgets/qmenu.cpp:2353 #46 0x00007fb814be288d in QApplicationPrivate::notify_helper (this=0x212c9e0, receiver=0x3919060, e=0x7fff03812d40) at kernel/qapplication.cpp:4056 #47 0x00007fb814bebd0b in QApplication::notify (this=<value optimized out>, receiver=0x3919060, e=0x7fff03812d40) at kernel/qapplication.cpp:3758 #48 0x00007fb815ef4c51 in KApplication::notify (this=0x7fff03814930, receiver=0x3919060, event=0x7fff03812d40) at /var/tmp/paludis/kde-base-kdelibs-4.3.9999/work/kdelibs-4.3.9999/kdeui/kernel/kapplication.cpp:302 #49 0x00007fb814305cdb in QCoreApplication::notifyInternal (this=0x7fff03814930, receiver=0x3919060, event=0x7fff03812d40) at kernel/qcoreapplication.cpp:606 #50 0x00007fb814beae82 in QApplicationPrivate::sendMouseEvent (receiver=0x3919060, event=0x7fff03812d40, alienWidget=0x0, nativeWidget=0x3919060, buttonDown=<value optimized out>, lastMouseReceiver=@0x7fb81556ff50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216 #51 0x00007fb814c4c82b in QETWidget::translateMouseEvent (this=0x3919060, event=<value optimized out>) at kernel/qapplication_x11.cpp:4338 #52 0x00007fb814c4b155 in QApplication::x11ProcessEvent (this=0x7fff03814930, event=0x7fff03814730) at kernel/qapplication_x11.cpp:3545 #53 0x00007fb814c70e7e in QEventDispatcherX11::processEvents (this=0x206c710, flags={i = 58804304}) at kernel/qeventdispatcher_x11.cpp:132 #54 0x00007fb814304922 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 58804352}) at kernel/qeventloop.cpp:149 #55 0x00007fb814304abc in QEventLoop::exec (this=0x7fff038148c0, flags={i = 58804432}) at kernel/qeventloop.cpp:197 #56 0x00007fb81430961e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #57 0x00000000004037c5 in main (argc=2, argv=0x7fff03815b38) at /home/mikko/amarok/src/main.cpp:128
Fixed today by Nikolaj: Note from the developer:: the "placeholder" in the layout linked should be "Placeholder" with a capital P, but Amarok will not longer crash if encountering a bad name like this.