Bug 222961 - Amarok crash - rating musics
Summary: Amarok crash - rating musics
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Playlist (show other bugs)
Version: 2.2.2
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-16 12:26 UTC by RoDrIgO
Modified: 2010-03-06 20:41 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description RoDrIgO 2010-01-16 12:26:59 UTC
Application that crashed: amarok
Version of the application: 2.2.2
KDE Version: 4.3.4 (KDE 4.3.4) "release 2"
Qt Version: 4.5.3
Operating System: Linux 2.6.31.8-0.1-desktop x86_64
Distribution: "openSUSE 11.2 (x86_64)"

What I was doing when the application crashed:
Rating music and queueing music makes amarok crash. Ex.: I were queueing the musics and when I decided rating. At first time did that... crash.

 -- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fb3bb416770 (LWP 4961))]

Thread 17 (Thread 0x7fb3b28a9910 (LWP 4962)):
#0  0x00007fb3c50722cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87b7621 in metronom_sync_loop () from /usr/lib64/libxine.so.1
#2  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7fb3b13a6910 (LWP 4963)):
#0  0x00007fb3c55a4033 in poll () from /lib64/libc.so.6
#1  0x00007fb3be16559c in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fb3be1658e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fb3c6a82586 in QEventDispatcherGlib::processEvents (this=0x80f420, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:409
#4  0x00007fb3c6a579e2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fb3c6a57db4 in QEventLoop::exec (this=0x7fb3b13a5fe0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fb3c696cf28 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fb3b8a13a32 in Phonon::MediaSource::type() const () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so
#8  0x00007fb3c696feb5 in QThreadPrivate::start (arg=0x857910) at thread/qthread_unix.cpp:188
#9  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#10 0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fb3b099b910 (LWP 4966)):
#0  0x00007fb3c559fdfb in read () from /lib64/libc.so.6
#1  0x00007fb3b8ee42f5 in ?? () from /usr/lib64/libasound.so.2
#2  0x00007fb3b8edf058 in snd_hctl_handle_events () from /usr/lib64/libasound.so.2
#3  0x00007fb3b8ee8da9 in snd_mixer_handle_events () from /usr/lib64/libasound.so.2
#4  0x00007fb3b09a1c94 in ao_alsa_handle_event_thread () from /usr/lib64/xine/plugins/1.27/xineplug_ao_out_alsa.so
#5  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#6  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fb3b019a910 (LWP 4967)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87c8673 in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fb3af382910 (LWP 4968)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87c8673 in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fb3aeb81910 (LWP 4969)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87c8673 in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fb3ae380910 (LWP 4970)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87c8673 in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fb3a45f6910 (LWP 4975)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3c6970e69 in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fb3c2573644 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007fb3c2575da3 in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007fb3c2575dbc in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007fb3c2575dbc in ?? () from /usr/lib64/libthreadweaver.so.4
#7  0x00007fb3c257436f in ?? () from /usr/lib64/libthreadweaver.so.4
#8  0x00007fb3c25747c9 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#9  0x00007fb3c696feb5 in QThreadPrivate::start (arg=0x1719360) at thread/qthread_unix.cpp:188
#10 0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#11 0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fb3a3df5910 (LWP 4980)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3c6970e69 in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fb3c2573644 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007fb3c2575da3 in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007fb3c2575dbc in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007fb3c257436f in ?? () from /usr/lib64/libthreadweaver.so.4
#7  0x00007fb3c25747c9 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#8  0x00007fb3c696feb5 in QThreadPrivate::start (arg=0x18fead0) at thread/qthread_unix.cpp:188
#9  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#10 0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fb3a35f4910 (LWP 4981)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3c6970e69 in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fb3c2573644 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007fb3c2575da3 in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007fb3c257436f in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007fb3c25747c9 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#7  0x00007fb3c696feb5 in QThreadPrivate::start (arg=0x7fb39c1293a0) at thread/qthread_unix.cpp:188
#8  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#9  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fb3a27aa910 (LWP 4984)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3c6970e69 in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fb3c2573644 in ?? () from /usr/lib64/libthreadweaver.so.4
#4  0x00007fb3c2575da3 in ?? () from /usr/lib64/libthreadweaver.so.4
#5  0x00007fb3c2575dbc in ?? () from /usr/lib64/libthreadweaver.so.4
#6  0x00007fb3c257436f in ?? () from /usr/lib64/libthreadweaver.so.4
#7  0x00007fb3c25747c9 in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#8  0x00007fb3c696feb5 in QThreadPrivate::start (arg=0x14fb590) at thread/qthread_unix.cpp:188
#9  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#10 0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fb38bdf4910 (LWP 5005)):
#0  0x00007fb3c50722cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87c2e19 in interruptable_sleep () from /usr/lib64/libxine.so.1
#2  0x00007fb3b87c5581 in video_out_loop () from /usr/lib64/libxine.so.1
#3  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fb38b5f3910 (LWP 5006)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87baeeb in fifo_buffer_get () from /usr/lib64/libxine.so.1
#2  0x00007fb3b87c0f7d in video_decoder_loop () from /usr/lib64/libxine.so.1
#3  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fb38adf2910 (LWP 5007)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87baeeb in fifo_buffer_get () from /usr/lib64/libxine.so.1
#2  0x00007fb3b87c2005 in audio_decoder_loop () from /usr/lib64/libxine.so.1
#3  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fb38a5f1910 (LWP 5008)):
#0  0x00007fb3c5072049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb3b87cb73b in xine_event_wait () from /usr/lib64/libxine.so.1
#2  0x00007fb3b87cb7ae in listener_loop () from /usr/lib64/libxine.so.1
#3  0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fb39bfff910 (LWP 5038)):
#0  0x00007fb3c55a4033 in poll () from /lib64/libc.so.6
#1  0x00007fb3be804654 in ?? () from /lib64/libresolv.so.2
#2  0x00007fb3be802a55 in __libc_res_nquery () from /lib64/libresolv.so.2
#3  0x00007fb3be803051 in ?? () from /lib64/libresolv.so.2
#4  0x00007fb3be8032c2 in __libc_res_nsearch () from /lib64/libresolv.so.2
#5  0x00007fb37f590ce7 in _nss_dns_gethostbyname4_r () from /lib64/libnss_dns.so.2
#6  0x00007fb3c5597784 in ?? () from /lib64/libc.so.6
#7  0x00007fb3c5599ac4 in getaddrinfo () from /lib64/libc.so.6
#8  0x00007fb3c39e8af2 in QHostInfoAgent::fromName (hostName=...) at kernel/qhostinfo_unix.cpp:205
#9  0x00007fb3c39ded72 in QHostInfo::fromName (name=<value optimized out>) at kernel/qhostinfo.cpp:230
#10 0x00007fb3befea3ab in ?? () from /usr/lib64/libkio.so.5
#11 0x00007fb3befeaf33 in ?? () from /usr/lib64/libkio.so.5
#12 0x00007fb3c6966a41 in QThreadPoolThread::run (this=0x7fb394009810) at concurrent/qthreadpool.cpp:106
#13 0x00007fb3c696feb5 in QThreadPrivate::start (arg=0x7fb394009810) at thread/qthread_unix.cpp:188
#14 0x00007fb3c506d65d in start_thread () from /lib64/libpthread.so.0
#15 0x00007fb3c55ad14d in clone () from /lib64/libc.so.6
#16 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb3bb416770 (LWP 4961)):
[KCrash Handler]
#5  QModelIndex (other=<value optimized out>, this=<value optimized out>) at ../../src/corelib/kernel/qabstractitemmodel.h:65
#6  QSortFilterProxyModel::parent (other=<value optimized out>, this=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1552
#7  0x00007fb3c63f05b9 in parent (this=<value optimized out>) at ../../src/corelib/kernel/qabstractitemmodel.h:369
#8  QListView::scrollTo (this=<value optimized out>) at itemviews/qlistview.cpp:586
#9  0x00007fb3c74894a2 in Playlist::PrettyListView::findNext(QString const&, int) () from /usr/lib64/libamaroklib.so.1
#10 0x00007fb3c748cf5d in Playlist::PrettyListView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libamaroklib.so.1
#11 0x00007fb3c6a6dee2 in QMetaObject::activate (sender=0x1c22490, from_signal_index=<value optimized out>, to_signal_index=29, argv=0x1944300) at kernel/qobject.cpp:3113
#12 0x00007fb3c74185b6 in Playlist::ProgressiveSearchWidget::next(QString const&, int) () from /usr/lib64/libamaroklib.so.1
#13 0x00007fb3c741c29d in Playlist::ProgressiveSearchWidget::slotNext() () from /usr/lib64/libamaroklib.so.1
#14 0x00007fb3c741eed4 in Playlist::ProgressiveSearchWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libamaroklib.so.1
#15 0x00007fb3c6a6dee2 in QMetaObject::activate (sender=0x1a0ef20, from_signal_index=<value optimized out>, to_signal_index=6, argv=0x1944300) at kernel/qobject.cpp:3113
#16 0x00007fb3c5ef4a97 in QAction::triggered (this=0x7fff18ca2000, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#17 0x00007fb3c5ef5f10 in QAction::activate (this=0x1a0ef20, event=<value optimized out>) at kernel/qaction.cpp:1167
#18 0x00007fb3c625a51a in QAbstractButtonPrivate::click (this=0x1a1dc30) at widgets/qabstractbutton.cpp:525
#19 0x00007fb3c625a7b5 in QAbstractButton::mouseReleaseEvent (this=0x1b1a410, e=0x7fff18ca2da0) at widgets/qabstractbutton.cpp:1115
#20 0x00007fb3c632b69a in QToolButton::mouseReleaseEvent (this=0x7fff18ca2000, e=0x1944300) at widgets/qtoolbutton.cpp:709
#21 0x00007fb3c5f4ba9d in QWidget::event (this=0x1b1a410, event=0x7fff18ca2da0) at kernel/qwidget.cpp:7554
#22 0x00007fb3c5efaaad in QApplicationPrivate::notify_helper (this=0x750360, receiver=0x1b1a410, e=0x7fff18ca2da0) at kernel/qapplication.cpp:4065
#23 0x00007fb3c5f0349a in QApplication::notify (this=<value optimized out>, receiver=0x1b1a410, e=0x7fff18ca2da0) at kernel/qapplication.cpp:3767
#24 0x00007fb3c773ae4a in App::notify(QObject*, QEvent*) () from /usr/lib64/libamaroklib.so.1
#25 0x00007fb3c6a5915c in QCoreApplication::notifyInternal (this=0x7fff18ca4cc0, receiver=0x1b1a410, event=0x7fff18ca2da0) at kernel/qcoreapplication.cpp:610
#26 0x00007fb3c5f026e8 in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:216
#27 QApplicationPrivate::sendMouseEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qapplication.cpp:2924
#28 0x00007fb3c5f6c4e9 in QETWidget::translateMouseEvent (this=0x85f370, event=<value optimized out>) at kernel/qapplication_x11.cpp:4409
#29 0x00007fb3c5f6b555 in QApplication::x11ProcessEvent (this=0x7fff18ca4cc0, event=0x7fff18ca4920) at kernel/qapplication_x11.cpp:3550
#30 0x00007fb3c5f928b4 in x11EventSourceDispatch (s=0x752d10, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x00007fb3be161dee in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#32 0x00007fb3be1657b8 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#33 0x00007fb3be1658e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#34 0x00007fb3c6a8256c in QEventDispatcherGlib::processEvents (this=0x61fea0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#35 0x00007fb3c5f9203f in QGuiEventDispatcherGlib::processEvents (this=0x7fff18ca2000, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#36 0x00007fb3c6a579e2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007fb3c6a57db4 in QEventLoop::exec (this=0x7fff18ca4c50, flags=...) at kernel/qeventloop.cpp:201
#38 0x00007fb3c6a5a0a4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#39 0x000000000040a264 in main ()

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2010-01-16 12:45:42 UTC
Could be related to bug 222380
Comment 2 Mark Kretschmann 2010-01-26 20:33:01 UTC
This looks valid to me (real Amarok bug). Confirming the report.
Comment 3 langstr 2010-03-06 12:47:48 UTC
This crash is highly related to BUG 229240.

It involves 'PrettyListView' (findNext), it involves a 'QModelIndex', the code does a 'setCurrentIndex()' call just before the crash...

As I said in that other bug: I am not at all familiar with this code.

But it looks that the "setCurrentIndex()" calls in PrettyListView need a little wrapper function that creates a fresh and non-reused QModelIndex copy.

I will make a MR.

PS. I can not reproduce this crash myself, based on the information given by the submitter.
Comment 4 langstr 2010-03-06 14:01:22 UTC
RoDrIgO, I have created a patch, but I can't test whether it fixes your bug.

Can you give a detailed step-by-step procedure to reproduce it?
Comment 5 RoDrIgO 2010-03-06 16:03:17 UTC
(In reply to comment #4)
> RoDrIgO, I have created a patch, but I can't test whether it fixes your bug.
> 
> Can you give a detailed step-by-step procedure to reproduce it?

Sorry, but since I've upgraded to a newer version of amarok, the problem solved. 
But I'm remembered I was making a playlist (queuing musics) and resolved to rating it at same time. 

Thank for helping
Comment 6 langstr 2010-03-06 17:42:18 UTC
Good to hear that your problem already went away.

Your crash log was still very useful in confirming that other bug.
Comment 7 Myriam Schweingruber 2010-03-06 18:09:27 UTC
Nanno, can I close this one?
Comment 8 langstr 2010-03-06 20:28:48 UTC
My MR has not been merged yet. But neither the submitter nor me can reproduce it in current Amarok, so I think it is OK to close this for now.
Comment 9 Myriam Schweingruber 2010-03-06 20:41:08 UTC
Closing then, thanks for the feedback.