Bug 197128 - Amarok crashes when tryin to edit user defined playlist layout
Summary: Amarok crashes when tryin to edit user defined playlist layout
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.1.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-19 11:16 UTC by Luca Carlon
Modified: 2009-12-09 11:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace of the crash. (10.59 KB, text/plain)
2009-06-19 11:23 UTC, Luca Carlon
Details
Playlist layout that makes the editor crashes. (2.01 KB, text/xml)
2009-06-19 11:32 UTC, Luca Carlon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luca Carlon 2009-06-19 11:16:24 UTC
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.
Comment 1 Luca Carlon 2009-06-19 11:23:11 UTC
Created attachment 34650 [details]
Backtrace of the crash.
Comment 2 Mikko C. 2009-06-19 11:26:38 UTC
The custom playlist layouts are stored in $HOME/.kde/share/apps/amarok/playlist_layouts/

You should post the one that's causing the crash.
Comment 3 Luca Carlon 2009-06-19 11:32:23 UTC
Created attachment 34651 [details]
Playlist layout that makes the editor crashes.
Comment 4 Mikko C. 2009-06-19 11:38:47 UTC
Indeed it crashes.
Comment 5 Myriam Schweingruber 2009-07-29 12:53:46 UTC
Can somebody reproduce this with current 2.2-git?
Comment 6 Mikko C. 2009-07-29 13:08:53 UTC
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
Comment 7 Myriam Schweingruber 2009-07-29 14:16:03 UTC
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.