Bug 339190

Summary: amarok falls into endless loop if certain audioCDs are inserted [@ Dynamic::TrackSet::subtract]
Product: amarok Reporter: Martin Stockhammer <m.stockhammer>
Component: Collections/CDAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: critical CC: boec0025, carlos, clubmajo, davidroth9, get.sonic, m.stockhammer, Michael-Kiefer, ralf-engels, rdieter, robert, stasnel, stefano, stevecrox, t.gornak
Priority: HI Keywords: regression, release_blocker
Version: 2.8-git   
Target Milestone: 2.9   
Platform: Kubuntu Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Logfile of amarok (started with --debug)

Description Martin Stockhammer 2014-09-18 20:26:45 UTC
If I insert a certain cd (self burned) amarok tries to read the data in an endless loop and cannot be used anymore (must be killed).

If I start amarok from the shell with '--debug' thousands of messages are displayed with
...
amarok:     [AudioCdCollection] got track:  "audiocd:/Track 289.wav" 
amarok:     [AudioCdCollection] got track:  "audiocd:/Track 290.wav" 
...
where the track number increases continually.

The same Audio CD is shown without problems in dolphin (13 Tracks) in K3B, with cdda2wav.

Reproducible: Always

Steps to Reproduce:
1. Start amarok
2. Insert Audio CD
3.

Actual Results:  
Amarok hangs. 

Expected Results:  
Amarok finishes reading from CD and tracks from audicd are shown.

This happens only with certain audio cds. Most audio cds play fine.
Comment 1 Myriam Schweingruber 2014-09-18 23:24:30 UTC
How did you burn the CD? Is it an R or an RW one? In the latter case, did you close it? What options did you use?
Comment 2 Martin Stockhammer 2014-09-19 19:15:03 UTC
Hello,

the CD was burned with k3b as Audio CD project. The session was closed.
All standard options.
The CD has CD-TEXT entries.
There is no CDDB-Entry for the CDs available.
The problem is reproducable with several different self burned cds. I will
try some more vendor manufactored cds, but currently there is no one with
this problem.

If you like, I can attach the log of the burn process and the output of the
amarok process (started with --debug).



Am 19.09.2014 um 01:24 schrieb Myriam Schweingruber:
> https://bugs.kde.org/show_bug.cgi?id=339190
> 
> Myriam Schweingruber <myriam@kde.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|UNCONFIRMED                 |NEEDSINFO
>          Resolution|---                         |WAITINGFORINFO
> 
> --- Comment #1 from Myriam Schweingruber <myriam@kde.org> ---
> How did you burn the CD? Is it an R or an RW one? In the latter case, did you
> close it? What options did you use?
>
Comment 3 Myriam Schweingruber 2014-09-19 20:38:33 UTC
I don't think the burn logs are useful, but the debug output of Amarok certainly. We need the part where you start the CD of the debug output.

I presume you can play the same CD with other applications?
Comment 4 Martin Stockhammer 2014-09-19 21:09:53 UTC
Created attachment 88755 [details]
Logfile of amarok (started with --debug)
Comment 5 Martin Stockhammer 2014-09-19 21:18:20 UTC
I think the relevant part in the logfile starts at:
MEDIA CHANGED in "/org/freedesktop/UDisks2/block_devices/sr0" ; size is: 372328448 

I cannot start the CD. After inserting the CD into the drive amarok tries to read the disk data automatically and runs into the endless loop.

All other applications I tested play the cds without any problems (kaffeine, k3b, kcd, cdda2wav). As mentioned above even the audiocd display in dolphin shows correctly all tracks.
Comment 6 Myriam Schweingruber 2014-09-20 12:51:25 UTC
Thank you for the feedback. Could you eventually test with the latest git build to see if the problem persists?
Comment 7 Martin Stockhammer 2014-09-20 14:05:47 UTC
I can try it.
Are there snapshot binaries available, or do I have to compile
it by myself?



Am 20.09.2014 um 14:51 schrieb Myriam Schweingruber:
> https://bugs.kde.org/show_bug.cgi?id=339190
> 
> Myriam Schweingruber <myriam@kde.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |t.gornak@yandex.ru
> 
> --- Comment #6 from Myriam Schweingruber <myriam@kde.org> ---
> Thank you for the feedback. Could you eventually test with the latest git build
> to see if the problem persists?
>
Comment 8 Myriam Schweingruber 2014-09-20 17:15:18 UTC
You will have to compile yourself, but if you follow my guide it is really easy, just try to not skip any steps, namely the path and environment settings. You will also have to remove the distribution packages and should backup your database which is located in $HOME/.kde/share/apps/amarok/

The guide can be found here: http://blogs.fsfe.org/myriam/2009/09/26/compiling-amarok-from-git-locally-full-summary/
Comment 9 Martin Stockhammer 2014-09-25 19:35:21 UTC
I compiled amarok using the latest source from the git repository.
But the problem is the same. A lot of messages
	amarok: [AudioCdCollection] got track: "audiocd:/

And it seems amarok is talking a lot with dbus while hanging in this loop.



Am 20.09.2014 um 19:15 schrieb Myriam Schweingruber:
> https://bugs.kde.org/show_bug.cgi?id=339190
> 
> --- Comment #8 from Myriam Schweingruber <myriam@kde.org> ---
> You will have to compile yourself, but if you follow my guide it is really
> easy, just try to not skip any steps, namely the path and environment settings.
> You will also have to remove the distribution packages and should backup your
> database which is located in $HOME/.kde/share/apps/amarok/
> 
> The guide can be found here:
> http://blogs.fsfe.org/myriam/2009/09/26/compiling-amarok-from-git-locally-full-summary/
>
Comment 10 Martin Stockhammer 2014-10-05 16:55:40 UTC
Is there anything I can do to track down the problem? Debugging or something?
Comment 11 robert marshall 2014-12-01 11:44:15 UTC
I've just seen this problem with a build from git and a commercial cd (well a cover cd from a classical magazine) - amarok eventually crashed when it identified cd track no > 1200 and got a track change notification (not on the cd) so I could post the traceback but I guess the problem dates from well before that! the cd had 9 tracks.
Comment 12 Myriam Schweingruber 2014-12-01 12:25:42 UTC
(In reply to robert marshall from comment #11)
> I've just seen this problem with a build from git and a commercial cd (well
> a cover cd from a classical magazine) - amarok eventually crashed when it
> identified cd track no > 1200 and got a track change notification (not on
> the cd) so I could post the traceback but I guess the problem dates from
> well before that! the cd had 9 tracks.

well, a backtrace would be useful anyway, so we can at least identify the culprit code section.
Comment 13 robert marshall 2014-12-01 13:31:29 UTC
Here it is

Application: Amarok (amarok), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xae32e7c0 (LWP 10345))]

Thread 25 (Thread 0xa5a70b40 (LWP 10350)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5345076 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:245
#2  0xb56759f4 in __pthread_cond_timedwait (cond=0x9d80c58, mutex=0x9d80c40, abstime=0xa5a700d8) at forward.c:162
#3  0xb5888a08 in wait (time=161104540, this=0x9d80c40) at thread/qwaitcondition_unix.cpp:84
#4  QWaitCondition::wait (this=0x99a42a0, mutex=0x99a429c, time=60000) at thread/qwaitcondition_unix.cpp:158
#5  0xb6a4a081 in AbstractDirectoryWatcher::run (this=0x99a4288) at /home/robert/devel/amarok/src/scanner/AbstractDirectoryWatcher.cpp:65
#6  0xb4c45c86 in ThreadWeaver::JobRunHelper::runTheJob (this=0xa5a701f4, th=0x9ce9cf0, job=0x99a4288) at ../../../threadweaver/Weaver/Job.cpp:106
#7  0xb4c45e98 in ThreadWeaver::Job::execute (this=0x99a4288, th=0x9ce9cf0) at ../../../threadweaver/Weaver/Job.cpp:135
#8  0xb4c45574 in ThreadWeaver::Thread::run (this=0x9ce9cf0) at ../../../threadweaver/Weaver/Thread.cpp:108
#9  0xb58884c3 in QThreadPrivate::start (arg=0x9ce9cf0) at thread/qthread_unix.cpp:349
#10 0xb5340f16 in start_thread (arg=0xa5a70b40) at pthread_create.c:309
#11 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 24 (Thread 0xa40feb40 (LWP 10351)):
#0  0xb4084fdf in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb59c8f5c in QEventDispatcherGlib::processEvents (this=0xa3700468, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#2  0xb59976c3 in QEventLoop::processEvents (this=0xa40fe1d8, flags=...) at kernel/qeventloop.cpp:149
#3  0xb59979fe in QEventLoop::exec (this=0xa40fe1d8, flags=...) at kernel/qeventloop.cpp:204
#4  0xb5885a00 in QThread::exec (this=0x9d85378) at thread/qthread.cpp:538
#5  0xb597831b in QInotifyFileSystemWatcherEngine::run (this=0x9d85378) at io/qfilesystemwatcher_inotify.cpp:265
#6  0xb58884c3 in QThreadPrivate::start (arg=0x9d85378) at thread/qthread_unix.cpp:349
#7  0xb5340f16 in start_thread (arg=0xa40feb40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 23 (Thread 0xa35d1b40 (LWP 10352)):
[KCrash Handler]
#7  0xb69a6dfe in Dynamic::TrackSet::subtract (this=0xa011380, B=...) at /home/robert/devel/amarok/src/dynamic/TrackSet.cpp:227
#8  0xb69be3b8 in Dynamic::IfElseBias::removeDuplicate (this=0xa011370) at /home/robert/devel/amarok/src/dynamic/biases/IfElseBias.cpp:175
#9  0xb69bdfc8 in Dynamic::IfElseBias::matchingTracks (this=0xa011370, playlist=..., contextCount=47, finalCount=49, universe=...) at /home/robert/devel/amarok/src/dynamic/biases/IfElseBias.cpp:108
#10 0xb69b4ce8 in Dynamic::AndBias::matchingTracks (this=0xa010e90, playlist=..., contextCount=47, finalCount=49, universe=...) at /home/robert/devel/amarok/src/dynamic/Bias.cpp:247
#11 0xb69ac7a9 in Dynamic::BiasSolver::matchingTracks (this=0xb4f1c68, playlist=...) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:257
#12 0xb69ac304 in Dynamic::BiasSolver::addTracks (this=0xb4f1c68, list=0xa35d111c) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:177
#13 0xb69ac157 in Dynamic::BiasSolver::run (this=0xb4f1c68) at /home/robert/devel/amarok/src/dynamic/BiasSolver.cpp:157
#14 0xb4c45c86 in ThreadWeaver::JobRunHelper::runTheJob (this=0xa35d11f4, th=0x9e7fd30, job=0xb4f1c68) at ../../../threadweaver/Weaver/Job.cpp:106
#15 0xb4c45e98 in ThreadWeaver::Job::execute (this=0xb4f1c68, th=0x9e7fd30) at ../../../threadweaver/Weaver/Job.cpp:135
#16 0xb4c45574 in ThreadWeaver::Thread::run (this=0x9e7fd30) at ../../../threadweaver/Weaver/Thread.cpp:108
#17 0xb58884c3 in QThreadPrivate::start (arg=0x9e7fd30) at thread/qthread_unix.cpp:349
#18 0xb5340f16 in start_thread (arg=0xa35d1b40) at pthread_create.c:309
#19 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 22 (Thread 0x9e63eb40 (LWP 10353)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5344cac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb567599c in __pthread_cond_wait (cond=0x9d84508, mutex=0x9d844f0) at forward.c:149
#3  0xb5888a2b in wait (time=164695376, this=0x9d844f0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x9d84440, mutex=0x9d10d50, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb4c43920 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9d84428, th=0xa0016e8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:370
#6  0xb4c46c34 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x99b2e38, th=0xa0016e8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:77
#7  0xb4c43864 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9d84428, th=0xa0016e8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:361
#8  0xb4c46d2a in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2e38, th=0xa0016e8, previous=0xf565778) at ../../../threadweaver/Weaver/WorkingHardState.cpp:68
#9  0xb4c426c8 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9d84428, th=0xa0016e8, previous=0xf565778) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#10 0xb4c454dd in ThreadWeaver::Thread::run (this=0xa0016e8) at ../../../threadweaver/Weaver/Thread.cpp:98
#11 0xb58884c3 in QThreadPrivate::start (arg=0xa0016e8) at thread/qthread_unix.cpp:349
#12 0xb5340f16 in start_thread (arg=0x9e63eb40) at pthread_create.c:309
#13 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 21 (Thread 0x9de3db40 (LWP 10354)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5344cac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb567599c in __pthread_cond_wait (cond=0x9d84508, mutex=0x9d844f0) at forward.c:149
#3  0xb5888a2b in wait (time=164695376, this=0x9d844f0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x9d84440, mutex=0x9d10d50, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb4c43920 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9d84428, th=0xa023840) at ../../../threadweaver/Weaver/WeaverImpl.cpp:370
#6  0xb4c46c34 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x99b2e38, th=0xa023840) at ../../../threadweaver/Weaver/WorkingHardState.cpp:77
#7  0xb4c43864 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9d84428, th=0xa023840) at ../../../threadweaver/Weaver/WeaverImpl.cpp:361
#8  0xb4c46d2a in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2e38, th=0xa023840, previous=0x0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:68
#9  0xb4c426c8 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9d84428, th=0xa023840, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#10 0xb4c46d3e in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2e38, th=0xa023840, previous=0xda8e3d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#11 0xb4c426c8 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9d84428, th=0xa023840, previous=0xda8e3d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#12 0xb4c454dd in ThreadWeaver::Thread::run (this=0xa023840) at ../../../threadweaver/Weaver/Thread.cpp:98
#13 0xb58884c3 in QThreadPrivate::start (arg=0xa023840) at thread/qthread_unix.cpp:349
#14 0xb5340f16 in start_thread (arg=0x9de3db40) at pthread_create.c:309
#15 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 20 (Thread 0x9359ab40 (LWP 10355)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5676442 in __GI___clock_gettime (clock_id=1, tp=0x93599f58) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb58e12f9 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0xb59c9e23 in updateCurrentTime (this=0xa6801874) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0xa6801874, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0xb59c8661 in timerSourcePrepareHelper (src=<optimized out>, timeout=0x9359a048) at kernel/qeventdispatcher_glib.cpp:143
#7  0xb59c8705 in timerSourcePrepare (source=0xa6801840, timeout=0x9359a048) at kernel/qeventdispatcher_glib.cpp:176
#8  0xb408435b in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb4084dc4 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb4084ff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb59c8f5c in QEventDispatcherGlib::processEvents (this=0xa6803440, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#12 0xb59976c3 in QEventLoop::processEvents (this=0x9359a1d8, flags=...) at kernel/qeventloop.cpp:149
#13 0xb59979fe in QEventLoop::exec (this=0x9359a1d8, flags=...) at kernel/qeventloop.cpp:204
#14 0xb5885a00 in QThread::exec (this=0xa45c3d8) at thread/qthread.cpp:538
#15 0xb597831b in QInotifyFileSystemWatcherEngine::run (this=0xa45c3d8) at io/qfilesystemwatcher_inotify.cpp:265
#16 0xb58884c3 in QThreadPrivate::start (arg=0xa45c3d8) at thread/qthread_unix.cpp:349
#17 0xb5340f16 in start_thread (arg=0x9359ab40) at pthread_create.c:309
#18 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 19 (Thread 0x92d99b40 (LWP 10357)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5344cac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb567599c in __pthread_cond_wait (cond=0xb3c92cb0, mutex=0xb3c92c98) at forward.c:149
#3  0xb341a9ac in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#4  0xb341a9ff in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#5  0xb5340f16 in start_thread (arg=0x92d99b40) at pthread_create.c:309
#6  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 18 (Thread 0x922ffb40 (LWP 10359)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5660cf1 in select () at ../sysdeps/unix/syscall-template.S:81
#2  0xb5974761 in QProcessManager::run (this=0xb5b19e4c <processManager()::processManager>) at io/qprocess_unix.cpp:270
#3  0xb58884c3 in QThreadPrivate::start (arg=0xb5b19e4c <processManager()::processManager>) at thread/qthread_unix.cpp:349
#4  0xb5340f16 in start_thread (arg=0x922ffb40) at pthread_create.c:309
#5  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 17 (Thread 0x91afeb40 (LWP 10362)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5676442 in __GI___clock_gettime (clock_id=1, tp=0x91afdfb8) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb58e12f9 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0xb59c9a81 in QTimerInfoList::updateCurrentTime (this=0xa372ab6c) at kernel/qeventdispatcher_unix.cpp:354
#5  0xb59c887e in timerSourceCheckHelper (src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:157
#6  0xb4084836 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb4084e4a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb4084ff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb59c8f5c in QEventDispatcherGlib::processEvents (this=0xa3722208, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#10 0xb59976c3 in QEventLoop::processEvents (this=0x91afe208, flags=...) at kernel/qeventloop.cpp:149
#11 0xb59979fe in QEventLoop::exec (this=0x91afe208, flags=...) at kernel/qeventloop.cpp:204
#12 0xb5885a00 in QThread::exec (this=0xa4ae280) at thread/qthread.cpp:538
#13 0xb5885bd8 in QThread::run (this=0xa4ae280) at thread/qthread.cpp:605
#14 0xb58884c3 in QThreadPrivate::start (arg=0xa4ae280) at thread/qthread_unix.cpp:349
#15 0xb5340f16 in start_thread (arg=0x91afeb40) at pthread_create.c:309
#16 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 16 (Thread 0x90f9cb40 (LWP 10364)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5344cac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb567599c in __pthread_cond_wait (cond=0xb46a58f0, mutex=0xb46a58d8) at forward.c:149
#3  0xb45895ff in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#4  0xb458963c in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#5  0xb5340f16 in start_thread (arg=0x90f9cb40) at pthread_create.c:309
#6  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 15 (Thread 0x952fcb40 (LWP 10424)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xa26dca0a in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#4  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#6  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#7  0xa26e9ef4 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#8  0xa26ea50f in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#9  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#10 0xa26db919 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#11 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#12 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#13 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#14 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#15 0xb5340f16 in start_thread (arg=0x952fcb40) at pthread_create.c:309
#16 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 14 (Thread 0x94afbb40 (LWP 10425)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb0f4fbec in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#4  0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb5340f16 in start_thread (arg=0x94afbb40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 13 (Thread 0x847eab40 (LWP 10438)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5344cac in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb567599c in __pthread_cond_wait (cond=0x9252f7dc, mutex=0x9252f7c4) at forward.c:149
#3  0xb34499f3 in WTF::ThreadCondition::wait(WTF::Mutex&) () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#4  0xb3125574 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#5  0xb34307c6 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#6  0xb3449369 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#7  0xb5340f16 in start_thread (arg=0x847eab40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 12 (Thread 0x84febb40 (LWP 11587)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5345076 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:245
#2  0xb56759f4 in __pthread_cond_timedwait (cond=0x98f0368, mutex=0x98f0350, abstime=0x84fea108) at forward.c:162
#3  0xb5888a08 in wait (time=160406160, this=0x98f0350) at thread/qwaitcondition_unix.cpp:84
#4  QWaitCondition::wait (this=this@entry=0x98f9a94, mutex=0x98f9a90, time=318298) at thread/qwaitcondition_unix.cpp:158
#5  0xab12dfc2 in Phonon::Gstreamer::MediaObject::handleAboutToFinish (this=this@entry=0x98f99e0) at ../../gstreamer/mediaobject.cpp:968
#6  0xab12e8e0 in Phonon::Gstreamer::MediaObject::qt_static_metacall (_o=0x98f99e0, _id=31, _a=0x84fea258, _c=<optimized out>) at ./moc_mediaobject.cpp:143
#7  0xb59ae1e8 in QMetaObject::activate (sender=sender@entry=0x98ea430, m=m@entry=0xab157378 <Phonon::Gstreamer::Pipeline::staticMetaObject>, local_signal_index=local_signal_index@entry=15, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#8  0xab133cd5 in aboutToFinish (this=0x98ea430) at ./moc_pipeline.cpp:254
#9  Phonon::Gstreamer::Pipeline::cb_aboutToFinish (appSrc=0x9ccb030, data=0x98ea430) at ../../gstreamer/pipeline.cpp:905
#10 0xb3f144e7 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#11 0xb3f12a5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0xb3f2c6d5 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0xb3f2cfa5 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0xa265e5dd in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstplayback.so
#15 0xb3f144e7 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#16 0xb3f12a5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#17 0xb3f2c6d5 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#18 0xb3f2cfa5 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#19 0xa26526dd in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstplayback.so
#20 0xb3f144e7 in g_cclosure_marshal_VOID__VOIDv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#21 0xb3f12a5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#22 0xb3f2c6d5 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#23 0xb3f2cfa5 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#24 0xa264bd76 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstplayback.so
#25 0xa264e0ef in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstplayback.so
#26 0xb0f200a0 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#27 0xb40752e7 in g_hook_list_marshal () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb0f1ea44 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#29 0xb0f21139 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#30 0xb0f216c9 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#31 0xb0f1f749 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#32 0xb0f29c3b in gst_pad_push_event () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#33 0xb0f29e53 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#34 0xb0f26e3e in gst_pad_forward () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#35 0xb0f26fa8 in gst_pad_event_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#36 0xb0f20a0d in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#37 0xb0f21281 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#38 0xb0f216c9 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#39 0xb0f1f749 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#40 0xb0f29c3b in gst_pad_push_event () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#41 0xb1075f2c in ?? () from /usr/lib/i386-linux-gnu/libgstaudio-1.0.so.0
#42 0xb107be0e in ?? () from /usr/lib/i386-linux-gnu/libgstaudio-1.0.so.0
#43 0xb10749b6 in ?? () from /usr/lib/i386-linux-gnu/libgstaudio-1.0.so.0
#44 0xb0f20a0d in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#45 0xb0f21281 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#46 0xb0f216c9 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#47 0xb0f1f749 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#48 0xb0f29c3b in gst_pad_push_event () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#49 0xb100616c in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#50 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#51 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#52 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#53 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#54 0xb5340f16 in start_thread (arg=0x84febb40) at pthread_create.c:309
#55 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 11 (Thread 0x83ae9b40 (LWP 11588)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb0f4fbec in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#4  0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb5340f16 in start_thread (arg=0x83ae9b40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 10 (Thread 0x82f33b40 (LWP 11589)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb0f4fbec in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#4  0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb5340f16 in start_thread (arg=0x82f33b40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 9 (Thread 0x96affb40 (LWP 13116)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xa26dca0a in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#4  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#6  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#7  0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#8  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#9  0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#10 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#11 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#12 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#13 0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#14 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#15 0xa26db919 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#16 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#17 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#18 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#19 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0xb5340f16 in start_thread (arg=0x96affb40) at pthread_create.c:309
#21 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 8 (Thread 0x95afdb40 (LWP 13117)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xa26dca0a in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#4  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#6  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#7  0xa26e9ef4 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#8  0xa26ea50f in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#9  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#10 0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#11 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#12 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#13 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#14 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#15 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#16 0xa26db919 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#17 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#18 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#19 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#21 0xb5340f16 in start_thread (arg=0x95afdb40) at pthread_create.c:309
#22 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 7 (Thread 0x962feb40 (LWP 13118)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb0f4fbec in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#4  0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb5340f16 in start_thread (arg=0x962feb40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 6 (Thread 0x857ecb40 (LWP 13119)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xa26dca0a in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#4  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#6  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#7  0xa26e9ef4 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#8  0xa26ea50f in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#9  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#10 0xb0f128fc in gst_proxy_pad_chain_default () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#11 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#12 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#13 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#14 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#15 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#16 0xa26db919 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#17 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#18 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#19 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#21 0xb5340f16 in start_thread (arg=0x857ecb40) at pthread_create.c:309
#22 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 5 (Thread 0x942fab40 (LWP 13120)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb565827b in write () at ../sysdeps/unix/syscall-template.S:81
#2  0xb40c9e8e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb40858d9 in g_main_context_wakeup () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb59c9168 in QEventDispatcherGlib::wakeUp (this=0x98ffc28) at kernel/qeventdispatcher_glib.cpp:591
#5  0xb599cf78 in QCoreApplication::postEvent (receiver=0x98f99e0, event=0xd1c87e8, priority=0) at kernel/qcoreapplication.cpp:1399
#6  0xb599d05e in QCoreApplication::postEvent (receiver=0x98f99e0, event=0xd1c87e8) at kernel/qcoreapplication.cpp:1311
#7  0xb59ae495 in queued_activate (argv=0xd1cd240, c=<optimized out>, signal=-1808815296, sender=0xab157378 <Phonon::Gstreamer::Pipeline::staticMetaObject>) at kernel/qobject.cpp:3447
#8  QMetaObject::activate (sender=sender@entry=0x98ea430, m=m@entry=0xab157378 <Phonon::Gstreamer::Pipeline::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x942f8e34) at kernel/qobject.cpp:3523
#9  0xab13500d in Phonon::Gstreamer::Pipeline::errorMessage (this=0x98ea430, _t1=..., _t2=_t2@entry=Phonon::FatalError) at ./moc_pipeline.cpp:220
#10 0xab138d4a in Phonon::Gstreamer::Pipeline::cb_error (bus=0x9c8f928, gstMessage=0xd1cbe48, data=0x98ea430) at ../../gstreamer/pipeline.cpp:509
#11 0xb3f1547e in g_cclosure_marshal_VOID__BOXEDv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0xb3f12a5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0xb3f2c6d5 in g_signal_emit_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0xb3f2cfa5 in g_signal_emit () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#15 0xb0ef676d in gst_bus_sync_signal_handler () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#16 0xb0ef6992 in gst_bus_post () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#17 0xb0f09373 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#18 0xb0eeaf5e in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#19 0xb0f0bf65 in gst_element_post_message () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#20 0xb0eeb2b3 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#21 0xb0f2c008 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#22 0xa2659bc6 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstplayback.so
#23 0xb0ee7a49 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#24 0xb0ef6992 in gst_bus_post () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#25 0xb0f09373 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#26 0xb0eeaf5e in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#27 0xb0f0bf65 in gst_element_post_message () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#28 0xb0eeb2b3 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#29 0xa26626bc in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstplayback.so
#30 0xb0ee7a49 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#31 0xb0ef6992 in gst_bus_post () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#32 0xb0f09373 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#33 0xb0eeaf5e in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#34 0xb0f0bf65 in gst_element_post_message () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#35 0xb0eeb2b3 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#36 0xb0ee7a49 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#37 0xb0ef6992 in gst_bus_post () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#38 0xb0f09373 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#39 0xb0eeaf5e in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#40 0xb0f0bf65 in gst_element_post_message () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#41 0xb0eeb2b3 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#42 0xb0ee7a49 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#43 0xb0ef6992 in gst_bus_post () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#44 0xb0f09373 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#45 0xb0eeaf5e in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#46 0xb0f0bf65 in gst_element_post_message () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#47 0xb0eeb2b3 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#48 0xb0ee7a49 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#49 0xb0ef6992 in gst_bus_post () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#50 0xb0f09373 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#51 0xb0f0bf65 in gst_element_post_message () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#52 0xb0f0c28f in gst_element_message_full () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#53 0xab578fe7 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstpulse.so
#54 0xab57912e in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstpulse.so
#55 0xb106f86d in ?? () from /usr/lib/i386-linux-gnu/libgstaudio-1.0.so.0
#56 0xb0eff8e1 in gst_clock_get_internal_time () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#57 0xb0effabc in gst_clock_get_time () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#58 0xb0f4963f in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#59 0xb0efed7c in gst_clock_id_wait () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#60 0xb1012fa7 in gst_base_sink_wait_clock () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#61 0xb1014096 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#62 0xb101507b in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#63 0xb1016d97 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#64 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#65 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#66 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#67 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#68 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#69 0xa26db919 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#70 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#71 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#72 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#73 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#74 0xb5340f16 in start_thread (arg=0x942fab40) at pthread_create.c:309
#75 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 4 (Thread 0x867eeb40 (LWP 13121)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb101316b in gst_base_sink_wait_preroll () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#4  0xb1086d6f in ?? () from /usr/lib/i386-linux-gnu/libgstaudio-1.0.so.0
#5  0xb101567b in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#6  0xb1016d97 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#7  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#8  0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#9  0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#10 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#11 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#12 0xb1025250 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#13 0xb0f221ef in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#14 0xa26db919 in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#15 0xb0f4f9c4 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#16 0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#17 0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#18 0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#19 0xb5340f16 in start_thread (arg=0x867eeb40) at pthread_create.c:309
#20 0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 3 (Thread 0xa7105b40 (LWP 14332)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb565ddbb in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb3cd2c33 in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0
#3  0xb3cc3b02 in pa_mainloop_poll () from /usr/lib/i386-linux-gnu/libpulse.so.0
#4  0xb3cc41ef in pa_mainloop_iterate () from /usr/lib/i386-linux-gnu/libpulse.so.0
#5  0xb3cc42ac in pa_mainloop_run () from /usr/lib/i386-linux-gnu/libpulse.so.0
#6  0xb3cd2bd5 in ?? () from /usr/lib/i386-linux-gnu/libpulse.so.0
#7  0xb122018c in ?? () from /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-4.0.so
#8  0xb5340f16 in start_thread (arg=0xa7105b40) at pthread_create.c:309
#9  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 2 (Thread 0x7fb7ab40 (LWP 14611)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5663fe7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2  0xb40cb47b in g_cond_wait () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb0f4fbec in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#4  0xb0f508f7 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#5  0xb40acb34 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb40ac0ba in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb5340f16 in start_thread (arg=0x7fb7ab40) at pthread_create.c:309
#8  0xb56689fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xae32e7c0 (LWP 10345)):
#0  0xb774fc7c in __kernel_vsyscall ()
#1  0xb5660cf1 in select () at ../sysdeps/unix/syscall-template.S:81
#2  0xb59c6126 in qt_safe_select (nfds=15, fdread=0xbfb72b90, fdwrite=0xbfb72c10, fdexcept=0x0, orig_timeout=0x0) at kernel/qcore_unix.cpp:79
#3  0xb5970bae in select_msecs (nfds=15, fdread=0xbfb72b90, fdwrite=0xbfb72c10, timeout=-1) at io/qprocess_unix.cpp:1046
#4  0xb59726ec in QProcessPrivate::waitForFinished (this=0xeb09d80, msecs=-1) at io/qprocess_unix.cpp:1262
#5  0xb5924227 in QProcess::waitForFinished (this=0xbfb72d08, msecs=-1) at io/qprocess.cpp:1780
#6  0xb592ab0d in QProcess::execute (program=..., arguments=...) at io/qprocess.cpp:2180
#7  0xb750e58e in KToolInvocation::startKdeinit () at ../../kdecore/kernel/ktoolinvocation.cpp:391
#8  0xb750e790 in KToolInvocation::klauncher () at ../../kdecore/kernel/ktoolinvocation.cpp:62
#9  0xb4ed5dc1 in KIO::Slave::createSlave (protocol=..., url=..., error=@0xbfb72ecc: -1249147337, error_text=...) at ../../kio/kio/slave.cpp:428
#10 0xb4ecb1db in KIO::ProtoQueue::createSlave (this=0xd7fe800, protocol=..., job=0xc14ac60, url=...) at ../../kio/kio/scheduler.cpp:537
#11 0xb4ece29d in KIO::ProtoQueue::startAJob (this=0xfffffdfe) at ../../kio/kio/scheduler.cpp:624
#12 0xb59ae1e8 in QMetaObject::activate (sender=0xd7fe834, m=0xb5b184b8 <QTimer::staticMetaObject>, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3567
#13 0xb59fdfc2 in QTimer::timeout (this=0xd7fe834) at .moc/release-shared/moc_qtimer.cpp:147
#14 0xb59b7aff in QTimer::timerEvent (this=0xd7fe834, e=0xbfb73300) at kernel/qtimer.cpp:280
#15 0xb59b27ae in QObject::event (this=0xd7fe834, e=0xbfb73300) at kernel/qobject.cpp:1253
#16 0xb5c53c2a in QApplicationPrivate::notify_helper (this=0x99a8528, receiver=0xd7fe834, e=0xbfb73300) at kernel/qapplication.cpp:4570
#17 0xb5c5a673 in QApplication::notify (this=0xbfb742f4, receiver=0xd7fe834, e=0xbfb73300) at kernel/qapplication.cpp:4356
#18 0xb70c1f7c in KApplication::notify (this=0xbfb742f4, receiver=0xd7fe834, event=0xbfb73300) at ../../kdeui/kernel/kapplication.cpp:311
#19 0xb5998c2c in QCoreApplication::notifyInternal (this=0xbfb742f4, receiver=0xd7fe834, event=0xbfb73300) at kernel/qcoreapplication.cpp:953
#20 0xb59cb72e in sendEvent (event=0xbfb73300, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#21 QTimerInfoList::activateTimers (this=0x999e11c) at kernel/qeventdispatcher_unix.cpp:621
#22 0xb59c85b9 in timerSourceDispatch (source=0x999e0e8) at kernel/qeventdispatcher_glib.cpp:193
#23 0xb4084c04 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0xb4084f29 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0xb4084ff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#26 0xb59c8f3b in QEventDispatcherGlib::processEvents (this=0x98ffc28, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#27 0xb5d05019 in QGuiEventDispatcherGlib::processEvents (this=0x98ffc28, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#28 0xb59976c3 in QEventLoop::processEvents (this=0xbfb73534, flags=...) at kernel/qeventloop.cpp:149
#29 0xb59979fe in QEventLoop::exec (this=0xbfb73534, flags=...) at kernel/qeventloop.cpp:204
#30 0xb4eb574f in KIO::NetAccess::enter_loop (this=0xbfb735c0) at ../../kio/kio/netaccess.cpp:509
#31 0xb4eb5e05 in KIO::NetAccess::statInternal (this=0xbfb735c0, url=..., details=2, side=KIO::NetAccess::SourceSide, window=0x0) at ../../kio/kio/netaccess.cpp:362
#32 0xb4eb6006 in KIO::NetAccess::stat (url=..., entry=..., window=0x0) at ../../kio/kio/netaccess.cpp:228
#33 0xa66ef582 in Collections::AudioCdCollection::trackLength (this=0xa9f5270, i=1046) at /home/robert/devel/amarok/src/core-impl/collections/audiocd/AudioCdCollection.cpp:354
#34 0xa66f0218 in Collections::AudioCdCollection::noInfoAvailable (this=0xa9f5270) at /home/robert/devel/amarok/src/core-impl/collections/audiocd/AudioCdCollection.cpp:496
#35 0xa66edeeb in Collections::AudioCdCollection::infoFetchComplete (this=0xa9f5270, job=0xdbf8770) at /home/robert/devel/amarok/src/core-impl/collections/audiocd/AudioCdCollection.cpp:173
#36 0xa66eca14 in Collections::AudioCdCollection::qt_static_metacall (_o=0xa9f5270, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfb738a4) at /home/robert/devel/build/amarok/src/core-impl/collections/audiocd/moc_AudioCdCollection.cpp:121
#37 0xb59ae1e8 in QMetaObject::activate (sender=0xdbf8770, m=0xb7713f8c <KJob::staticMetaObject>, local_signal_index=3, argv=0xbfb738a4) at kernel/qobject.cpp:3567
#38 0xb74e1e59 in KJob::result (this=0xdbf8770, _t1=0xdbf8770) at ./kjob.moc:207
#39 0xb74e1ec1 in KJob::emitResult (this=0xdbf8770) at ../../kdecore/jobs/kjob.cpp:318
#40 0xb4e3110f in KIO::SimpleJob::slotFinished (this=0xdbf8770) at ../../kio/kio/job.cpp:496
#41 0xb4e325b9 in KIO::TransferJob::slotFinished (this=0xdbf8770) at ../../kio/kio/job.cpp:1110
#42 0xb4e331a1 in KIO::TransferJob::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=0xbfb73a88, _c=<optimized out>) at ./jobclasses.moc:387
#43 0xb59ae1e8 in QMetaObject::activate (sender=0xd969358, m=0xb508d6c0 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3567
#44 0xb4ee38f2 in KIO::SlaveInterface::finished (this=0xd969358) at ./slaveinterface.moc:184
#45 0xb4ee59c3 in KIO::SlaveInterface::dispatch (this=0xd969358, _cmd=188355548, rawdata=...) at ../../kio/kio/slaveinterface.cpp:176
#46 0xb4ee279e in KIO::SlaveInterface::dispatch (this=0xd969358) at ../../kio/kio/slaveinterface.cpp:92
#47 0xb4ed49b2 in KIO::Slave::gotInput (this=0xd969358) at ../../kio/kio/slave.cpp:344
#48 0xb4ed5624 in KIO::Slave::qt_static_metacall (_o=0xd969358, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfb73ca8) at ./slave.moc:56
#49 0xb59ae1e8 in QMetaObject::activate (sender=0xd3c19e8, m=0xb508a468 <KIO::Connection::staticMetaObject>, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3567
#50 0xb4df4042 in KIO::Connection::readyRead (this=0xd3c19e8) at ./connection.moc:105
#51 0xb4df4664 in KIO::ConnectionPrivate::dequeue (this=0x9e13a20) at ../../kio/kio/connection.cpp:82
#52 0xb59aa76a in QMetaCallEvent::placeMetaCall (this=0xbd2d6d0, object=0xd3c19e8) at kernel/qobject.cpp:524
#53 0xb59b28c9 in QObject::event (this=0xd3c19e8, e=0xbd2d6d0) at kernel/qobject.cpp:1222
#54 0xb5c53c2a in QApplicationPrivate::notify_helper (this=0x99a8528, receiver=0xd3c19e8, e=0xbd2d6d0) at kernel/qapplication.cpp:4570
#55 0xb5c5a673 in QApplication::notify (this=0xbfb742f4, receiver=0xd3c19e8, e=0xbd2d6d0) at kernel/qapplication.cpp:4356
#56 0xb70c1f7c in KApplication::notify (this=0xbfb742f4, receiver=0xd3c19e8, event=0xbd2d6d0) at ../../kdeui/kernel/kapplication.cpp:311
#57 0xb5998c2c in QCoreApplication::notifyInternal (this=0xbfb742f4, receiver=0xd3c19e8, event=0xbd2d6d0) at kernel/qcoreapplication.cpp:953
#58 0xb599c65c in sendEvent (event=0xbd2d6d0, receiver=0xd3c19e8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#59 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x98fee68) at kernel/qcoreapplication.cpp:1577
#60 0xb599cba5 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1470
#61 0xb59c8de3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#62 postEventSourceDispatch (s=0x999aea8) at kernel/qeventdispatcher_glib.cpp:287
#63 0xb4084c04 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#64 0xb4084f29 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#65 0xb4084ff6 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#66 0xb59c8f3b in QEventDispatcherGlib::processEvents (this=0x98ffc28, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#67 0xb5d05019 in QGuiEventDispatcherGlib::processEvents (this=0x98ffc28, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#68 0xb59976c3 in QEventLoop::processEvents (this=0xbfb74248, flags=...) at kernel/qeventloop.cpp:149
#69 0xb59979fe in QEventLoop::exec (this=0xbfb74248, flags=...) at kernel/qeventloop.cpp:204
#70 0xb599d89b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#71 0xb5c51c04 in QApplication::exec () at kernel/qapplication.cpp:3828
#72 0x0804f3a6 in main (argc=2, argv=0xbfb743e4) at /home/robert/devel/amarok/src/main.cpp:329
Comment 14 Myriam Schweingruber 2014-12-01 13:52:40 UTC
Thank you for the feedback, now we have an indication where the problem lies.
Comment 15 Ralf Engels 2015-02-01 21:25:38 UTC
The crash should be fixed with a previous commit: ca2a2f854ef84ec2d4e4c5ee8615e9caace8e618
The original issue (endless loop with audio CD) unrelated and probably not fixed.

It would be good if somebody with a debugger, some skills and such a strange cd could try to find the root issue.
Comment 16 robert marshall 2015-04-03 10:13:21 UTC
I've just produced this problem (loop rather than crash) with a 2 track audio cd I burnt this morning.  Will take a look. 
[Amarok doesn't crash but it's so busy popping up reading track notifications that I couldn't get it to respond to the mouse so I ended up killing it]
Comment 17 Myriam Schweingruber 2015-05-25 09:40:56 UTC
I don't have a crash, but Amarok gets stalled forever, the endless loop is fully reproducible with git v2.8.0-470-g1cd2ffa
This is with a newly bought commercial CD
Comment 18 Stephen Crocker 2015-06-10 06:19:57 UTC
Debian Jessie
OS Version: Linux 3.16.0-4-amd64
KDE SC Version: 4.14.2
Amarok Build Date: Sep 3 2014

Think I have this issue on commerical cd's as well.

Amarok will freeze, the side menu bar displays the Audio CD marks it's state as "Counting".  This causes Amarok to consume up to 90% of a single CPU core (based on results of 'top'). If I force kill the Amarok process, kuiserver will then start to consume upto 30% of a CPU and plasma-desktop will consume up to 90% of a CPU, until I run the 'killall plasma-desktop' command.

This happens consistantly for the following commerical CD's (UK Releases)

P!nk - Funhouse (2008)
Eminem - 8-Mile (2002)
Red Hot Chilli Peppers - By The Way
Genesis - Turn It On Again (1999)
Athlete - Tourist (2005)
Comment 19 Myriam Schweingruber 2015-06-21 13:37:06 UTC
*** Bug 349407 has been marked as a duplicate of this bug. ***
Comment 20 jan 2015-06-29 20:50:38 UTC
Ubuntu 15.04 3.19.0-21-generic
Qt: 4.8.6
KDE Development Platform: 4.14.6
Amarok: 2.8.0

Happens both for some commercial as well as some home made audio cd.

Anything else I can help you troubleshoot this issue with?

Thanks!
Comment 21 clubmajo 2015-07-26 00:45:17 UTC
I traced the bug and I found that the loop where it got stuck is AudioCdCollection.cpp:467

Amarok generates a new path for the next track but that track is invalid. It generates something like "audiocd:/Track XX.wav" when the correct form would be "audiocd:/Track XX.wav?device=/dev/srX".

I didn't debugged kio_audiocd but I think that it calls AudioCDProtocol::stat which will call AudioCDProtocol::initRequest and this one will call AudioCDProtocol::parseURLArgs.

AudioCDProtocol::parseURLArgs will see that url hasn't a query part so will leave d->device = NULL and AudioCDProtocol::initRequest will return NULL

AudoCDProtocol::stat will start checking if client is requesting root folder that represents the list of different avaiable cd drives. It will check it using:

struct cdrom_drive * drive = initRequest(url);
if (!drive && d->device.isEmpty()) {
   // This is top level directory with CDROM devices
   ...

As drive is NULL and device is NULL because parseURLArgs didn't set it, it will believe that you're trying stat the root of "audiocd:/" and will return always a valid stat even if the path doesn't exist

I saw that there is a more recent implementation of AudioCDCollection but it's in another branch yet
Comment 22 Myriam Schweingruber 2015-12-04 16:14:13 UTC
*** Bug 355986 has been marked as a duplicate of this bug. ***
Comment 23 David Roth 2016-01-28 10:11:31 UTC
Does someone know why Tatjana's branch was never merged? was it simply forgotten? Maybe this issue doesn't turn up with it, granted it still works. I might take a stab at merging it on  master and test a bit. Will just be hard to dig up an audio CD to expose/verify the issue :P
Comment 24 Myriam Schweingruber 2016-01-28 11:38:07 UTC
(In reply to David Roth from comment #23)
> Does someone know why Tatjana's branch was never merged? was it simply
> forgotten? Maybe this issue doesn't turn up with it, granted it still works.
> I might take a stab at merging it on  master and test a bit. Will just be
> hard to dig up an audio CD to expose/verify the issue :P

Not forgotten, but sadly Tania left without committing it, and her mentor never found time to do so. Would be really great if you could test it. In lack of an Audio CD: burn one :-)
Comment 25 Stefano Pettini 2016-03-22 21:51:33 UTC
The bug that triggers the unexpected behavior in AudioCDProtocol is located in AudioCdCollection::noInfoAvailable(), that is invoked in case the CD doesn't have any CDTEXT/CDDB information attached.

I was able to reliably reproduce it and fix it, a relative small patch is sent to the review board.

Anyway the code of this module needs a refactoring, I'll try to test and merge Tatjana's GSoC work to see what she improved.
Comment 26 David Roth 2016-03-22 22:05:30 UTC
Tatjana's branch has the "same" bug, an uncaught null pointer at the end of AudioCdCollection.cpp while trying to read the encoding without any CDDB/CDTEXT, that's also a relatively small patch, however e.g. copy to collection seems to be broken as well and I had intended to take a closer look didn't get to it though
Comment 27 Stefano Pettini 2016-03-23 20:26:08 UTC
I think the null pointer that you're talking about was solved one year ago in commit ca2a2f854ef84ec2d4e4c5ee8615e9caace8e618 (as Ralf Engel said). By the way we should remove [@ Dynamic::TrackSet::subtract] from the bug name because the actual bug that made amarok fall into the endless loop was not at that place.

Copy to collection was not working as you said, so I uploaded a second patch to the review board that fixes also this. I'm confident now that this bug can be closed once this is merged.

The architecture of this cdaudio collection is quite messy, there's a lot of confusion between base name, file name, track name, base urls, and so on. Look at the patch, that tries to bring a little bit of clarity without major changes.

I hope Tatjana improved this feature in her branch.
I think I'll have a look at it.
Comment 28 David Roth 2016-03-24 13:05:43 UTC
I am talking about Tatjana's branch, I've rebased it on master and tested a bit, it has a completely rewritten version of AudioCdCollection.cpp, and is imo much easier to follow and read, but still a few rough edges. With the null pointer fixed, most of the basic functionality works, except the copy dialog, and a freeze if you eject the disk via hardware button during playback. But I didn't know enough about Qt signals/slots and Solid to immediately find a usable solution. I might be able to take a look over Easter, but would be nice if you can check it out as well
Comment 29 Stefano Pettini 2016-03-24 13:07:55 UTC
Ok, but let's separate Tatjana's work from this bug, that I hope it's now solved.

(In reply to David Roth from comment #28)
> I am talking about Tatjana's branch, I've rebased it on master and tested a
> bit, it has a completely rewritten version of AudioCdCollection.cpp, and is
> imo much easier to follow and read, but still a few rough edges. With the
> null pointer fixed, most of the basic functionality works, except the copy
> dialog, and a freeze if you eject the disk via hardware button during
> playback. But I didn't know enough about Qt signals/slots and Solid to
> immediately find a usable solution. I might be able to take a look over
> Easter, but would be nice if you can check it out as well
Comment 30 Stefano Pettini 2016-03-29 14:30:54 UTC
About Tatjana's work: it requires cdio libraries, as I think it bypasses KIO audiocd to manage tracks and decode CDTEXT. This is good, but it looks like the corresponding ubuntu -dev package doesn't contain the C++ header files needed (directory include/cdio++) is missing. It's difficult for me work on that now.

I suggest to postpone the merging of this branch and concentrate on releasing 2.9 with no additional new features.
Comment 31 Heiko Becker 2016-04-07 12:23:06 UTC
Git commit aaff3348862a1999069feff93d9e1e4d995b7225 by Heiko Becker, on behalf of Stefano Pettini.
Committed on 07/04/2016 at 12:20.
Pushed by heikobecker into branch 'master'.

Fix for the infinite loop in case a home-burned or old audio CD is inserted

Home-burned or old audio CDs usually don't have CDTEXT, that is what
was triggering the bug. The bug was releted to poor management of
track names, that are generated using the pattern "Track%1.wav". The
audiocd:/ KIO protocol requires that a device is also added to the
URL, and this was not done everywhere. Lack of device was triggering
an unexpected/strange behaviour in some KDE function making Amarok
enter an infinite loop.

REVIEW: 127468

M  +37   -12   src/core-impl/collections/audiocd/AudioCdCollection.cpp
M  +7    -0    src/core-impl/collections/audiocd/AudioCdCollection.h

http://commits.kde.org/amarok/aaff3348862a1999069feff93d9e1e4d995b7225