Bug 187904 - amarok regularly crashes after cliking on "Play" "or "Stop" several times
Summary: amarok regularly crashes after cliking on "Play" "or "Stop" several times
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.0.2
Platform: Mandriva RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 188405 192327 194593 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-03-23 08:03 UTC by Dan
Modified: 2009-05-31 00:02 UTC (History)
4 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 Dan 2009-03-23 08:03:29 UTC
Version:           2.0.2 (using KDE 4.2.1)
OS:                Linux
Installed from:    Mandriva RPMs

Application : Amarok (amarok), signal SIGABRT
0x00007fd4c2aa3c31 in nanosleep () from /lib64/libc.so.6
Current language:  auto; currently c
[Current thread is 1 (Thread 0x7fd4c4e3c740 (LWP 23362))]

Thread 6 (Thread 0x7fd4b1e2d950 (LWP 23365)):
#0  0x00007fd4c2ad6b86 in __poll (fds=0x1496ba0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd4b28c773d in poll_func (ufds=0x1496ba0, nfds=2, timeout=-1, userdata=0x14a17c0) at pulse/thread-mainloop.c:71
#2  0x00007fd4b28b8129 in pa_mainloop_poll (m=0x14a16b0) at pulse/mainloop.c:857
#3  0x00007fd4b28b9568 in pa_mainloop_iterate (m=0x14a16b0, block=<value optimized out>, retval=0x0) at pulse/mainloop.c:923
#4  0x00007fd4b28b9630 in pa_mainloop_run (m=0x14a16b0, retval=0x0) at pulse/mainloop.c:941
#5  0x00007fd4b28c753d in thread (userdata=0x1321170) at pulse/thread-mainloop.c:90
#6  0x00007fd4b268d520 in internal_thread_func (userdata=0x1496bc0) at pulsecore/thread-posix.c:72
#7  0x00007fd4c2597263 in start_thread () from /lib64/libpthread.so.0
#8  0x00007fd4c2ae078d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 5 (Thread 0x7fd4afbc9950 (LWP 23370)):
#0  0x00007fd4c259af69 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd4c2dc0379 in QWaitCondition::wait (this=0x305f078, mutex=0x18721b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007fd4bfa93084 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x1b1a670)
    at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fd4bfa96c28 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007fd4bfa953b9 in ThreadWeaver::ThreadRunHelper::run (this=0x7fd4afbc9070, parent=0x305f050, th=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:87
#10 0x00007fd4bfa954f5 in ThreadWeaver::Thread::run (this=0x1b1a670) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:142
#11 0x00007fd4c2dbf392 in QThreadPrivate::start (arg=0x1b1a670) at thread/qthread_unix.cpp:189
#12 0x00007fd4c2597263 in start_thread () from /lib64/libpthread.so.0
#13 0x00007fd4c2ae078d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 4 (Thread 0x7fd4a397c950 (LWP 23371)):
#0  0x00007fd4c259af69 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd4c2dc0379 in QWaitCondition::wait (this=0x305f078, mutex=0x18721b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007fd4bfa93084 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x3062080)
    at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fd4bfa96c28 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x3062080) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x3062080) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x3062080) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x3062080) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fd4bfa953b9 in ThreadWeaver::ThreadRunHelper::run (this=0x7fd4a397c070, parent=0x305f050, th=0x3062080) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:87
#8  0x00007fd4bfa954f5 in ThreadWeaver::Thread::run (this=0x3062080) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:142
#9  0x00007fd4c2dbf392 in QThreadPrivate::start (arg=0x3062080) at thread/qthread_unix.cpp:189
#10 0x00007fd4c2597263 in start_thread () from /lib64/libpthread.so.0
#11 0x00007fd4c2ae078d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 3 (Thread 0x7fd499104950 (LWP 23375)):
#0  0x00007fd4c259af69 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd4c2dc0379 in QWaitCondition::wait (this=0x305f078, mutex=0x18721b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007fd4bfa93084 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x321b6b0)
    at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fd4bfa96c28 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x321b6b0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fd4bfa953b9 in ThreadWeaver::ThreadRunHelper::run (this=0x7fd499104070, parent=0x305f050, th=0x321b6b0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:87
#5  0x00007fd4bfa954f5 in ThreadWeaver::Thread::run (this=0x321b6b0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:142
#6  0x00007fd4c2dbf392 in QThreadPrivate::start (arg=0x321b6b0) at thread/qthread_unix.cpp:189
#7  0x00007fd4c2597263 in start_thread () from /lib64/libpthread.so.0
#8  0x00007fd4c2ae078d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 2 (Thread 0x7fd498903950 (LWP 23390)):
#0  0x00007fd4c259af69 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fd4c2dc0379 in QWaitCondition::wait (this=0x305f078, mutex=0x18721b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007fd4bfa93084 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=<value optimized out>, th=0x340f7d0)
    at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fd4bfa96c28 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#10 0x00007fd4bfa96c41 in ThreadWeaver::WorkingHardState::applyForWork (this=0x305f4d0, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x00007fd4bfa953b9 in ThreadWeaver::ThreadRunHelper::run (this=0x7fd498903070, parent=0x305f050, th=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:87
#12 0x00007fd4bfa954f5 in ThreadWeaver::Thread::run (this=0x340f7d0) at /usr/src/debug/kdelibs-4.2.1/threadweaver/Weaver/Thread.cpp:142
#13 0x00007fd4c2dbf392 in QThreadPrivate::start (arg=0x340f7d0) at thread/qthread_unix.cpp:189
#14 0x00007fd4c2597263 in start_thread () from /lib64/libpthread.so.0
#15 0x00007fd4c2ae078d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 1 (Thread 0x7fd4c4e3c740 (LWP 23362)):
[KCrash Handler]
#5  0x00007fd4c2a34a15 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007fd4c2a36243 in abort () at abort.c:88
#7  0x00007fd4c2db72c5 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2006
#8  0x00007fd4c2db740b in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2201
#9  0x00007fd4c42d60f4 in KSharedPtr<Meta::Track>::operator-> (this=0x11a2948) at /usr/include/ksharedptr.h:120
#10 0x00007fd4c43d818d in EngineController::slotAboutToFinish (this=0x11a2900) at /usr/src/debug/amarok-2.0.2/src/EngineController.cpp:579
#11 0x00007fd4c43d94e3 in EngineController::qt_metacall (this=0x11a2900, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffccf75cf0)
    at /usr/src/debug/amarok-2.0.2/build/src/EngineController.moc:152
#12 0x00007fd4c2ebddd2 in QMetaObject::activate (sender=0x128d030, from_signal_index=<value optimized out>, to_signal_index=13, argv=0xffffffffffffffff) at kernel/qobject.cpp:3060
#13 0x00007fd4bf5ee371 in Phonon::MediaObject::prefinishMarkReached () from /usr/lib64/libphonon.so.4
#14 0x00007fd4bf5efb63 in Phonon::MediaObject::qt_metacall () from /usr/lib64/libphonon.so.4
#15 0x00007fd4c2ebddd2 in QMetaObject::activate (sender=0x14c3630, from_signal_index=<value optimized out>, to_signal_index=11, argv=0xffffffffffffffff) at kernel/qobject.cpp:3060
#16 0x00007fd4b3c4dab1 in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_gstreamer.so
#17 0x00007fd4b3c4ef7e in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_gstreamer.so
#18 0x00007fd4b3c5133a in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_gstreamer.so
#19 0x00007fd4c2ebddd2 in QMetaObject::activate (sender=0x14c33c0, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xffffffffffffffff) at kernel/qobject.cpp:3060
#20 0x00007fd4c2eb80b3 in QObject::event (this=0x14c33c0, e=0x5b42) at kernel/qobject.cpp:1073
#21 0x00007fd4c377449d in QApplicationPrivate::notify_helper (this=0x11bde40, receiver=0x14c33c0, e=0x7fffccf76600) at kernel/qapplication.cpp:4084
#22 0x00007fd4c377c68a in QApplication::notify (this=0x7fffccf76900, receiver=0x14c33c0, e=0x7fffccf76600) at kernel/qapplication.cpp:4049
#23 0x00007fd4c49513ce in KApplication::notify (this=0x7fffccf76900, receiver=0x14c33c0, event=0x7fffccf76600) at /usr/src/debug/kdelibs-4.2.1/kdeui/kernel/kapplication.cpp:307
#24 0x00007fd4c2ea835c in QCoreApplication::notifyInternal (this=0x7fffccf76900, receiver=0x14c33c0, event=0x7fffccf76600) at kernel/qcoreapplication.cpp:602
#25 0x00007fd4c2ed5396 in QTimerInfoList::activateTimers (this=0x11b2fb0) at ../../src/corelib/kernel/qcoreapplication.h:213
#26 0x00007fd4c2ed1a8d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:164
#27 0x00007fd4bc068d61 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fd4bc06c410 in ?? () from /usr/lib64/libglib-2.0.so.0
#29 0x00007fd4bc06c5ac in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#30 0x00007fd4c2ed19ef in QEventDispatcherGlib::processEvents (this=0x11850d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:323
#31 0x00007fd4c380b64f in QGuiEventDispatcherGlib::processEvents (this=0x5b42, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#32 0x00007fd4c2ea6c02 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -856201104}) at kernel/qeventloop.cpp:149
#33 0x00007fd4c2ea6fcd in QEventLoop::exec (this=0x7fffccf768b0, flags={i = -856201024}) at kernel/qeventloop.cpp:200
#34 0x00007fd4c2ea9294 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#35 0x00000000004031af in main (argc=1, argv=0x7fffccf77b28) at /usr/src/debug/amarok-2.0.2/src/main.cpp:130
Comment 1 Dan 2009-03-23 08:09:11 UTC
Operating system : mandriva 2009.1 cooker RC1 3D desktop with compiz. video dr. Nvidia 180.41
Comment 2 Mark Kretschmann 2009-03-23 08:35:33 UTC
I'm sorry, but from this backtrace it's not clearly visible to me what line exactly caused the crash (probably dereferening a 0-KSharedPtr).

Also, the code has changed so much in SVN, that this is probably fixed by now (I can't reproduce it here). I did also look a the code from 2.0.2, but could not see an obvious problem there.


I'm going to close this report, but if anyone can get a more precise backtrace for it, feel free to reopen. Here are some tips:

http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 3 Dan 2009-03-23 12:34:21 UTC
I launched amarok with command line 
Here is the message in a console after crash :
amarok(6918) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated
ASSERT: "d" in file /usr/include/ksharedptr.h, line 120
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = amarok path = <unknown> pid = 6918
sock_file=/home/daniel/.kde4/socket-localhost/kdeinit4__0

I hope this will be useful ...
Comment 4 Dan Meltzer 2009-03-23 16:25:53 UTC
This is fixed in trunk.  the line in question is     
m_currentTrack->finishedPlaying( 1.0 ); // If we reach aboutToFinish, the track is done as far as we are concerned.

I don't expect we will do another 2.0 release, so it doesn't really make sense to backport it.  It's related to the fadeout stuff I think.
Comment 5 Seb Ruiz 2009-04-01 13:07:00 UTC
*** Bug 188405 has been marked as a duplicate of this bug. ***
Comment 6 Jonathan Thomas 2009-05-11 15:27:46 UTC
*** Bug 192327 has been marked as a duplicate of this bug. ***
Comment 7 Dario Andres 2009-05-31 00:02:51 UTC
*** Bug 194593 has been marked as a duplicate of this bug. ***