Bug 217625 - Crash while editing metadata of multiple files with the per track option
Summary: Crash while editing metadata of multiple files with the per track option
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Metadata Editing and Reading (show other bugs)
Version: 2.3-GIT
Platform: Unlisted Binaries Linux
: NOR crash (vote)
Target Milestone: 2.2.2
Assignee: Amarok Developers
URL:
Keywords: release_blocker
: 219682 220233 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-12-06 19:39 UTC by Michael Seiwert
Modified: 2009-12-27 09:20 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Seiwert 2009-12-06 19:39:29 UTC
Application that crashed: amarok
Version of the application: 2.2-GIT
KDE Version: 4.3.4 (KDE 4.3.4)
Qt Version: 4.5.3
Operating System: Linux 2.6.31.5-0.1-desktop i686
Distribution: "openSUSE 11.2 (i586)"

What I was doing when the application crashed:
Steps to reproduce:

1. go to the amarok filebrwoser and select multiple mp3's
2. edit metadata, tag dialog opens
3. select "per track" option
5. bang

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

Thread 13 (Thread 0xadbcbb70 (LWP 25862)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585d0c2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b82d4 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0xb000019b in metronom_sync_loop () from /usr/lib/libxine.so.1
#4  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#5  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 12 (Thread 0xad3cab70 (LWP 25863)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb599fd5e in poll () from /lib/libc.so.6
#2  0xb34a2cab in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb3495bc1 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb3495ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb6874240 in QEventDispatcherGlib::processEvents (this=0x828c4c0, flags=...) at kernel/qeventdispatcher_glib.cpp:409
#6  0xb683cccf in QEventLoop::processEvents (this=0xad3ca26c, flags=...) at kernel/qeventloop.cpp:149
#7  0xb683ce14 in QEventLoop::exec (this=0xad3ca26c, flags=...) at kernel/qeventloop.cpp:201
#8  0xb6736c58 in QThread::exec (this=0x8202358) at thread/qthread.cpp:487
#9  0xb005816d in Phonon::Xine::XineThread::run() () from /home/mseiwert/kde/lib/kde4/plugins/phonon_backend/phonon_xine.so
#10 0xb6739336 in QThreadPrivate::start (arg=0x8202358) at thread/qthread_unix.cpp:188
#11 0xb58586e5 in start_thread () from /lib/libpthread.so.0
#12 0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 11 (Thread 0xacbc9b70 (LWP 25866)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5999ffb in read () from /lib/libc.so.6
#2  0xb029d5d1 in ?? () from /usr/lib/libasound.so.2
#3  0xb029a2dc in snd_ctl_read () from /usr/lib/libasound.so.2
#4  0xb02967d6 in snd_hctl_handle_events () from /usr/lib/libasound.so.2
#5  0xb02a2701 in snd_mixer_handle_events () from /usr/lib/libasound.so.2
#6  0xadc85390 in ao_alsa_handle_event_thread () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#7  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#8  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 10 (Thread 0xac3a7b70 (LWP 25867)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb0012300 in ao_loop () from /usr/lib/libxine.so.1
#4  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#5  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 9 (Thread 0xabba6b70 (LWP 25868)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb0012300 in ao_loop () from /usr/lib/libxine.so.1
#4  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#5  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 8 (Thread 0xab3a5b70 (LWP 25869)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb0012300 in ao_loop () from /usr/lib/libxine.so.1
#4  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#5  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 7 (Thread 0xaa206b70 (LWP 25871)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb673a793 in QWaitConditionPrivate::wait (this=0x8826168, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb673a597 in QWaitCondition::wait (this=0x8852920, mutex=0x8928d88, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb5370090 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#6  0xb5373d1e in ThreadWeaver::WorkingHardState::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#7  0xb537000f in ThreadWeaver::WeaverImpl::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#8  0xb5373cc2 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#9  0xb536ffe8 in ThreadWeaver::WeaverImpl::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#10 0xb5371779 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#11 0xb5371b0d in ThreadWeaver::Thread::run() () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#12 0xb6739336 in QThreadPrivate::start (arg=0x81fdc70) at thread/qthread_unix.cpp:188
#13 0xb58586e5 in start_thread () from /lib/libpthread.so.0
#14 0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 6 (Thread 0xa8dffb70 (LWP 25872)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb673a793 in QWaitConditionPrivate::wait (this=0x8826168, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb673a597 in QWaitCondition::wait (this=0x8852920, mutex=0x8928d88, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb5370090 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#6  0xb5373d1e in ThreadWeaver::WorkingHardState::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#7  0xb537000f in ThreadWeaver::WeaverImpl::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#8  0xb5373cc2 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#9  0xb536ffe8 in ThreadWeaver::WeaverImpl::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#10 0xb5371779 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#11 0xb5371b0d in ThreadWeaver::Thread::run() () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#12 0xb6739336 in QThreadPrivate::start (arg=0x8a59568) at thread/qthread_unix.cpp:188
#13 0xb58586e5 in start_thread () from /lib/libpthread.so.0
#14 0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 5 (Thread 0xa85feb70 (LWP 25873)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb673a793 in QWaitConditionPrivate::wait (this=0x8826168, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb673a597 in QWaitCondition::wait (this=0x8852920, mutex=0x8928d88, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb5370090 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#6  0xb5373d1e in ThreadWeaver::WorkingHardState::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#7  0xb537000f in ThreadWeaver::WeaverImpl::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#8  0xb5373cc2 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#9  0xb536ffe8 in ThreadWeaver::WeaverImpl::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#10 0xb5371779 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#11 0xb5371b0d in ThreadWeaver::Thread::run() () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#12 0xb6739336 in QThreadPrivate::start (arg=0x8aed8f8) at thread/qthread_unix.cpp:188
#13 0xb58586e5 in start_thread () from /lib/libpthread.so.0
#14 0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 4 (Thread 0xa77b4b70 (LWP 25874)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585cd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b827c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb673a793 in QWaitConditionPrivate::wait (this=0x8826168, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb673a597 in QWaitCondition::wait (this=0x8852920, mutex=0x8928d88, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb5370090 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#6  0xb5373d1e in ThreadWeaver::WorkingHardState::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#7  0xb537000f in ThreadWeaver::WeaverImpl::waitForAvailableJob(ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#8  0xb5373cc2 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#9  0xb536ffe8 in ThreadWeaver::WeaverImpl::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#10 0xb5371779 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#11 0xb5371b0d in ThreadWeaver::Thread::run() () from /home/mseiwert/kde/lib/libthreadweaver.so.4
#12 0xb6739336 in QThreadPrivate::start (arg=0x8c0a708) at thread/qthread_unix.cpp:188
#13 0xb58586e5 in start_thread () from /lib/libpthread.so.0
#14 0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 3 (Thread 0xa4de6b70 (LWP 25876)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585d0c2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b82d4 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0xb673a779 in QWaitConditionPrivate::wait (this=0x8d027d8, time=30000) at thread/qwaitcondition_unix.cpp:85
#4  0xb673a597 in QWaitCondition::wait (this=0x8c3ef70, mutex=0x8c3ef6c, time=30000) at thread/qwaitcondition_unix.cpp:159
#5  0xb672b4cf in QThreadPoolThread::run (this=0x8d17768) at concurrent/qthreadpool.cpp:140
#6  0xb6739336 in QThreadPrivate::start (arg=0x8d17768) at thread/qthread_unix.cpp:188
#7  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#8  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 2 (Thread 0xa45e5b70 (LWP 25877)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb585d0c2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb59b82d4 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0xb673a779 in QWaitConditionPrivate::wait (this=0x8d027d8, time=30000) at thread/qwaitcondition_unix.cpp:85
#4  0xb673a597 in QWaitCondition::wait (this=0x8c3ef70, mutex=0x8c3ef6c, time=30000) at thread/qwaitcondition_unix.cpp:159
#5  0xb672b4cf in QThreadPoolThread::run (this=0xa6e02628) at concurrent/qthreadpool.cpp:140
#6  0xb6739336 in QThreadPrivate::start (arg=0xa6e02628) at thread/qthread_unix.cpp:188
#7  0xb58586e5 in start_thread () from /lib/libpthread.so.0
#8  0xb5858600 in ?? () from /lib/libpthread.so.0

Thread 1 (Thread 0xb1d54950 (LWP 25861)):
[KCrash Handler]
#6  0xb6846449 in QMetaObject::cast (this=0xb73aca00, obj=0xa2002c0) at kernel/qmetaobject.cpp:305
#7  0xb6d64e69 in Meta::ReadLabelCapability* qobject_cast<Meta::ReadLabelCapability*>(QObject*) () from /home/mseiwert/kde/lib/libamaroklib.so.1
#8  0xb6d63b1f in Meta::ReadLabelCapability* Meta::MetaCapability::create<Meta::ReadLabelCapability>() () from /home/mseiwert/kde/lib/libamaroklib.so.1
#9  0xb7100ffb in TagDialog::loadLabels(KSharedPtr<Meta::Track>) () from /home/mseiwert/kde/lib/libamaroklib.so.1
#10 0xb7100dce in TagDialog::loadTags(KSharedPtr<Meta::Track> const&) () from /home/mseiwert/kde/lib/libamaroklib.so.1
#11 0xb710ccba in TagDialog::perTrack() () from /home/mseiwert/kde/lib/libamaroklib.so.1
#12 0xb7103ce8 in TagDialog::qt_metacall(QMetaObject::Call, int, void**) () from /home/mseiwert/kde/lib/libamaroklib.so.1
#13 0xb6858f02 in QMetaObject::activate (sender=0xa1f8638, from_signal_index=29, to_signal_index=30, argv=0xbfc89058) at kernel/qobject.cpp:3112
#14 0xb6859345 in QMetaObject::activate (sender=0xa1f8638, m=0xb66c90a4, from_local_signal_index=2, to_local_signal_index=3, argv=0xbfc89058) at kernel/qobject.cpp:3206
#15 0xb6434cf4 in QAbstractButton::clicked (this=0xa1f8638, _t1=true) at .moc/debug-shared/moc_qabstractbutton.cpp:200
#16 0xb6125ecc in QAbstractButtonPrivate::emitClicked (this=0xa1f8650) at widgets/qabstractbutton.cpp:543
#17 0xb6125e3d in QAbstractButtonPrivate::click (this=0xa1f8650) at widgets/qabstractbutton.cpp:536
#18 0xb61274c6 in QAbstractButton::mouseReleaseEvent (this=0xa1f8638, e=0xbfc8978c) at widgets/qabstractbutton.cpp:1115
#19 0xb5d5a5d8 in QWidget::event (this=0xa1f8638, event=0xbfc8978c) at kernel/qwidget.cpp:7554
#20 0xb6127361 in QAbstractButton::event (this=0xa1f8638, e=0xbfc8978c) at widgets/qabstractbutton.cpp:1077
#21 0xb614288c in QCheckBox::event (this=0xa1f8638, e=0xbfc8978c) at widgets/qcheckbox.cpp:372
#22 0xb5cfa27b in QApplicationPrivate::notify_helper (this=0x814d9a0, receiver=0xa1f8638, e=0xbfc8978c) at kernel/qapplication.cpp:4065
#23 0xb5cf8fc6 in QApplication::notify (this=0xbfc8b01c, receiver=0xa1f8638, e=0xbfc8978c) at kernel/qapplication.cpp:3767
#24 0xb759559a in KApplication::notify(QObject*, QEvent*) () from /home/mseiwert/kde/lib/libkdeui.so.5
#25 0xb683f683 in QCoreApplication::notifyInternal (this=0xbfc8b01c, receiver=0xa1f8638, event=0xbfc8978c) at kernel/qcoreapplication.cpp:610
#26 0xb5cfb125 in QCoreApplication::sendSpontaneousEvent (receiver=0xa1f8638, event=0xbfc8978c) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#27 0xb5cf76fc in QApplicationPrivate::sendMouseEvent (receiver=0xa1f8638, event=0xbfc8978c, alienWidget=0xa1f8638, nativeWidget=0xa1b76e8, buttonDown=0xb66d7de0, lastMouseReceiver=...)
    at kernel/qapplication.cpp:2924
#28 0xb5d7b6b0 in QETWidget::translateMouseEvent (this=0xa1b76e8, event=0xbfc8acf0) at kernel/qapplication_x11.cpp:4411
#29 0xb5d78389 in QApplication::x11ProcessEvent (this=0xbfc8b01c, event=0xbfc8acf0) at kernel/qapplication_x11.cpp:3430
#30 0xb5dab944 in x11EventSourceDispatch (s=0x814a1f0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0xb34924c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#32 0xb3495d98 in ?? () from /usr/lib/libglib-2.0.so.0
#33 0xb3495ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#34 0xb6874220 in QEventDispatcherGlib::processEvents (this=0x80785e0, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#35 0xb5dabf6a in QGuiEventDispatcherGlib::processEvents (this=0x80785e0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#36 0xb683cccf in QEventLoop::processEvents (this=0xbfc8af9c, flags=...) at kernel/qeventloop.cpp:149
#37 0xb683ce14 in QEventLoop::exec (this=0xbfc8af9c, flags=...) at kernel/qeventloop.cpp:201
#38 0xb683fd5f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#39 0xb5cf8398 in QApplication::exec () at kernel/qapplication.cpp:3525
#40 0x080525d8 in main ()

Reported using DrKonqi
Comment 1 Mikko C. 2009-12-06 20:10:42 UTC
confirmed here with git master with the steps above.

Better backtrace:

Thread 1 (Thread 0x7f0ad072d770 (LWP 5860)):
[KCrash Handler]
#5  0x00007f0aceb70497 in QMetaObject::cast (this=0x7f0acfea35c0, obj=0x47853d0) at kernel/qmetaobject.cpp:266
#6  0x00007f0acf590d8b in qobject_cast<Meta::ReadLabelCapability*> (object=0x47853d0) at /usr/include/qt4/QtCore/qobject.h:451
#7  0x00007f0acf58f99e in Meta::MetaCapability::create<Meta::ReadLabelCapability> (this=0x46d4e00) at /home/mikko/amarok/src/meta/Meta.h:122
#8  0x00007f0acf9854a9 in TagDialog::loadLabels (this=0x459a170, track=...) at /home/mikko/amarok/src/dialogs/TagDialog.cpp:1524
#9  0x00007f0acf985267 in TagDialog::loadTags (this=0x459a170, track=...) at /home/mikko/amarok/src/dialogs/TagDialog.cpp:1492
#10 0x00007f0acf991d7b in TagDialog::perTrack (this=0x459a170) at /home/mikko/amarok/src/dialogs/TagDialog.cpp:435
#11 0x00007f0acf98840f in TagDialog::qt_metacall (this=0x459a170, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fffb155b090) at /home/mikko/amarok/build/src/TagDialog.moc:139
#12 0x00007f0aceb7f745 in QMetaObject::activate (sender=0x3527aa0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7f0acf76c7e4) at kernel/qobject.cpp:3286
#13 0x00007f0ace601292 in QAbstractButton::clicked (this=0x47853d0, _t1=true) at .moc/debug-shared/moc_qabstractbutton.cpp:206
#14 0x00007f0ace31afd0 in QAbstractButtonPrivate::emitClicked (this=0x4782530) at widgets/qabstractbutton.cpp:546
#15 0x00007f0ace31c9e0 in QAbstractButtonPrivate::click (this=0x4782530) at widgets/qabstractbutton.cpp:539
#16 0x00007f0ace31cbfd in QAbstractButton::mouseReleaseEvent (this=0x3527aa0, e=0x7fffb155bbe0) at widgets/qabstractbutton.cpp:1118
#17 0x00007f0acdfd92e1 in QWidget::event (this=0x3527aa0, event=0x7fffb155bbe0) at kernel/qwidget.cpp:7974
#18 0x00007f0acdf7f73c in QApplicationPrivate::notify_helper (this=0x14ffa20, receiver=0x3527aa0, e=0x7fffb155bbe0) at kernel/qapplication.cpp:4242
#19 0x00007f0acdf88bb5 in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=0x7fffb155bbe0) at kernel/qapplication.cpp:3822
#20 0x00007f0ad0100110 in KApplication::notify (this=0x7fffb155c580, receiver=0x3527aa0, event=0x7fffb155bbe0)
    at /var/tmp/paludis/kde-base-kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:302
#21 0x00007f0aceb6a96b in QCoreApplication::notifyInternal (this=0x7fffb155c580, receiver=0x3527aa0, event=0x7fffb155bbe0) at kernel/qcoreapplication.cpp:704
#22 0x00007f0acdf87053 in QCoreApplication::sendEvent (receiver=0x3527aa0, event=0x7fffb155bbe0, alienWidget=0x3527aa0, nativeWidget=0x459a170, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#23 QApplicationPrivate::sendMouseEvent (receiver=0x3527aa0, event=0x7fffb155bbe0, alienWidget=0x3527aa0, nativeWidget=0x459a170, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:2956
#24 0x00007f0ace000833 in QETWidget::translateMouseEvent (this=0x459a170, event=<value optimized out>) at kernel/qapplication_x11.cpp:4368
#25 0x00007f0acdfff9b9 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffb155c390) at kernel/qapplication_x11.cpp:3501
#26 0x00007f0ace02744a in QEventDispatcherX11::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_x11.cpp:132
#27 0x00007f0aceb69172 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#28 0x00007f0aceb6953d in QEventLoop::exec (this=0x7fffb155c520, flags=) at kernel/qeventloop.cpp:201
#29 0x00007f0aceb6ba7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#30 0x000000000040ae1b in main (argc=2, argv=0x7fffb155e498) at /home/mikko/amarok/src/main.cpp:235
Comment 2 Myriam Schweingruber 2009-12-06 21:17:40 UTC
Adding keyword
Comment 3 Mikko C. 2009-12-13 13:56:36 UTC
new backtrace with git master, seems identical:

[KCrash Handler]
#5  0x00007f9f67b8f497 in QMetaObject::cast (this=0x7f9f68ec5260, obj=0x35ad660) at kernel/qmetaobject.cpp:266
#6  0x00007f9f685b2cab in qobject_cast<Meta::ReadLabelCapability*> (object=0x35ad660) at /usr/include/qt4/QtCore/qobject.h:451
#7  0x00007f9f685b18be in Meta::MetaCapability::create<Meta::ReadLabelCapability> (this=0x341b170) at /home/mikko/amarok/src/meta/Meta.h:122
#8  0x00007f9f689a7929 in TagDialog::loadLabels (this=0x3572160, track=...) at /home/mikko/amarok/src/dialogs/TagDialog.cpp:1526
#9  0x00007f9f689a76d3 in TagDialog::loadTags (this=0x3572160, track=...) at /home/mikko/amarok/src/dialogs/TagDialog.cpp:1492
#10 0x00007f9f689b41fb in TagDialog::perTrack (this=0x3572160) at /home/mikko/amarok/src/dialogs/TagDialog.cpp:435
#11 0x00007f9f689aa88f in TagDialog::qt_metacall (this=0x3572160, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff3e4030e0) at /home/mikko/amarok/build/src/TagDialog.moc:139
#12 0x00007f9f67b9e745 in QMetaObject::activate (sender=0x3649e90, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7f9f6878ec02) at kernel/qobject.cpp:3286
#13 0x00007f9f67620292 in QAbstractButton::clicked (this=0x35ad660, _t1=true) at .moc/debug-shared/moc_qabstractbutton.cpp:206
#14 0x00007f9f67339fd0 in QAbstractButtonPrivate::emitClicked (this=0x364a230) at widgets/qabstractbutton.cpp:546
#15 0x00007f9f6733b9e0 in QAbstractButtonPrivate::click (this=0x364a230) at widgets/qabstractbutton.cpp:539
#16 0x00007f9f6733bbfd in QAbstractButton::mouseReleaseEvent (this=0x3649e90, e=0x7fff3e403c30) at widgets/qabstractbutton.cpp:1118
#17 0x00007f9f66ff82e1 in QWidget::event (this=0x3649e90, event=0x7fff3e403c30) at kernel/qwidget.cpp:7974
#18 0x00007f9f66f9e73c in QApplicationPrivate::notify_helper (this=0x8f0a40, receiver=0x3649e90, e=0x7fff3e403c30) at kernel/qapplication.cpp:4242
#19 0x00007f9f66fa7bb5 in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=0x7fff3e403c30) at kernel/qapplication.cpp:3822
#20 0x00007f9f691220b0 in KApplication::notify (this=0x7fff3e4045d0, receiver=0x3649e90, event=0x7fff3e403c30)
    at /var/tmp/paludis/kde-base-kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:302
#21 0x00007f9f67b8996b in QCoreApplication::notifyInternal (this=0x7fff3e4045d0, receiver=0x3649e90, event=0x7fff3e403c30) at kernel/qcoreapplication.cpp:704
#22 0x00007f9f66fa6053 in QCoreApplication::sendEvent (receiver=0x3649e90, event=0x7fff3e403c30, alienWidget=0x3649e90, nativeWidget=0x3572160, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#23 QApplicationPrivate::sendMouseEvent (receiver=0x3649e90, event=0x7fff3e403c30, alienWidget=0x3649e90, nativeWidget=0x3572160, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:2956
#24 0x00007f9f6701f833 in QETWidget::translateMouseEvent (this=0x3572160, event=<value optimized out>) at kernel/qapplication_x11.cpp:4368
#25 0x00007f9f6701e9b9 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff3e4043e0) at kernel/qapplication_x11.cpp:3501
#26 0x00007f9f6704644a in QEventDispatcherX11::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_x11.cpp:132
#27 0x00007f9f67b88172 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#28 0x00007f9f67b8853d in QEventLoop::exec (this=0x7fff3e404570, flags=) at kernel/qeventloop.cpp:201
#29 0x00007f9f67b8aa7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#30 0x000000000040ae20 in main (argc=2, argv=0x7fff3e4064e8) at /home/mikko/amarok/src/main.cpp:235
Comment 4 Mark Kretschmann 2009-12-18 10:15:02 UTC
commit e8a9c7c78a4eb3a534a75033552c412e115f2ade
Author: Mark Kretschmann <kretschmann@kde.org>
Date:   Fri Dec 18 10:08:23 2009 +0100

    Change qobject_cast to dynamic_cast because of weird crash.

    For some reason (that none of us can figure out) the qobject_cast
    there crashed under certain conditions (see bug report).

    Please test if this fixes anything.

    CCBUG: 217625
Comment 5 Myriam Schweingruber 2009-12-18 11:02:17 UTC
Closing for now.
Comment 6 Mark Kretschmann 2009-12-18 11:18:02 UTC
Reopening, cause it's not fixed. Will commit something else soon.
Comment 7 Mark Kretschmann 2009-12-18 11:38:20 UTC
commit f2e35485f3238163b3fae0fb3bcf3a14c407b1b4
Author: Mark Kretschmann <kretschmann@kde.org>
Date:   Fri Dec 18 11:36:06 2009 +0100

    Next try at fixing our el-weirdo crash.
    
    After thinking about it some more, I realized that we're probably
    dealing with our good friend "dangling pointer".
    
    Please test :)
    
    BUG: 217625

diff --git a/src/meta/Meta.h b/src/meta/Meta.h
index 27d8563..4d18aa3 100644
--- a/src/meta/Meta.h
+++ b/src/meta/Meta.h
@@ -119,7 +119,7 @@ namespace Meta
         {
             Meta::Capability::Type type = CapIface::capabilityInterfaceType();
             Meta::Capability *iface = createCapabilityInterface( type );
-            return dynamic_cast<CapIface *>( iface );
+            return qobject_cast<CapIface *>( iface );
         }
 
         /**
diff --git a/src/meta/file/File.cpp b/src/meta/file/File.cpp
index 685a20b..811cbf2 100644
--- a/src/meta/file/File.cpp
+++ b/src/meta/file/File.cpp
@@ -627,28 +627,37 @@ Track::createCapabilityInterface( Meta::Capability::Type type )
     {
         case Meta::Capability::Editable:
             return new EditCapabilityImpl( this );
+
         case Meta::Capability::Importable:
             return new StatisticsCapabilityImpl( this );
+
         case Meta::Capability::CurrentTrackActions:
             {
-            QList< QAction * > actions;
-            QAction* flag = new BookmarkCurrentTrackPositionAction( 0 );
-            actions << flag;
-            debug() << "returning bookmarkcurrenttrack action";
-            return new Meta::CurrentTrackActionsCapability( actions );
+                QList< QAction * > actions;
+                QAction* flag = new BookmarkCurrentTrackPositionAction( 0 );
+                actions << flag;
+                debug() << "returning bookmarkcurrenttrack action";
+                return new Meta::CurrentTrackActionsCapability( actions );
             }
+
         case Meta::Capability::WriteTimecode:
             return new TimecodeWriteCapabilityImpl( this );
+
         case Meta::Capability::LoadTimecode:
             return new TimecodeLoadCapabilityImpl( this );
+
 #if HAVE_LIBLASTFM
        case Meta::Capability::ReadLabel:
            if( !d->readLabelCapability )
                d->readLabelCapability = new Meta::LastfmReadLabelCapability( this );
+
            return d->readLabelCapability;
 #endif
-        default:
-            return 0;
+
+        default: // fall-through
+
+
+        return 0;
     }
 }
 
diff --git a/src/meta/file/File_p.h b/src/meta/file/File_p.h
index aefe8fb..fefc13a 100644
--- a/src/meta/file/File_p.h
+++ b/src/meta/file/File_p.h
@@ -111,7 +111,6 @@ public:
         , album()
         , artist()
         , provider( 0 )
-        , readLabelCapability( 0 )
         , track( t )
     {}
 
@@ -124,7 +123,7 @@ public:
     Meta::ComposerPtr composer;
     Meta::YearPtr year;
     Meta::StatisticsProvider *provider;
-    Meta::LastfmReadLabelCapability *readLabelCapability;
+    QPointer<Meta::LastfmReadLabelCapability> readLabelCapability;
 
     void readMetaData();
     QVariantMap changes;
Comment 8 Mark Kretschmann 2009-12-22 16:46:56 UTC
*** Bug 219682 has been marked as a duplicate of this bug. ***
Comment 9 Mark Kretschmann 2009-12-27 09:20:44 UTC
*** Bug 220233 has been marked as a duplicate of this bug. ***