Bug 315759 - Crash after switching song and after restart [@ Dynamic::AlbumPlayBias::matchingTracks]
Summary: Crash after switching song and after restart [@ Dynamic::AlbumPlayBias::match...
Status: RESOLVED NOT A BUG
Alias: None
Product: amarok
Classification: Applications
Component: Playlists/Dynamic Playlists (other bugs)
Version First Reported In: 2.8.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 2.8
Assignee: Amarok Bugs
URL:
Keywords:
: 322171 327871 333103 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-02-25 17:41 UTC by artur.glavic
Modified: 2015-08-05 21:59 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description artur.glavic 2013-02-25 17:41:49 UTC
Application: amarok (2.7.0)
KDE Platform Version: 4.10.00
Qt Version: 4.8.2
Operating System: Linux 3.2.0-38-generic x86_64
Distribution: Ubuntu 12.04.2 LTS

-- Information about the crash:
- What I was doing when the application crashed:

Amarok crashed a few seconds after a song was changed. Subsequent restarts lead to crashes again (first times after switching to the same song again, later directly on restart).

The crash can be reproduced some of the time.

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

Thread 11 (Thread 0x7f7273ac1700 (LWP 6595)):
#0  0x00007f729141d303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f728988335f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007f728987476c in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007f7289874dd9 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f7289874e90 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f728988330f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f7284cd3d18 in ?? () from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so
#7  0x00007f728db2ce9a in start_thread (arg=0x7f7273ac1700) at pthread_create.c:308
#8  0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f72711cc700 (LWP 6597)):
#0  0x00007f728db2ef69 in __pthread_mutex_lock (mutex=0x7f7260000aa0) at pthread_mutex_lock.c:92
#1  0x00007f728c05f5a1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f728c02401b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f728c024164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f7291db4926 in QEventDispatcherGlib::processEvents (this=0x7f7260000900, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f7291d83e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f7291d840b7 in QEventLoop::exec (this=0x7f72711cbd90, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f7291c83077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f7291d63b6f in QInotifyFileSystemWatcherEngine::run (this=0x1242860) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f7291c8609b in QThreadPrivate::start (arg=0x1242860) at thread/qthread_unix.cpp:307
#10 0x00007f728db2ce9a in start_thread (arg=0x7f72711cc700) at pthread_create.c:308
#11 0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f72708c4700 (LWP 6598)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f7291c865ab in wait (time=18446744073709551615, this=0x12ef160) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x12efe90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f728f0cb0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x12ef010, th=0x12faf70) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f728f0cd9db in ThreadWeaver::WorkingHardState::applyForWork (this=0x12e6a70, th=0x12faf70) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f728f0cc84f in ThreadWeaver::ThreadRunHelper::run (this=0x7f72708c3de0, parent=0x12ef010, th=0x12faf70) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f728f0cc8db in ThreadWeaver::Thread::run (this=0x12faf70) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f7291c8609b in QThreadPrivate::start (arg=0x12faf70) at thread/qthread_unix.cpp:307
#8  0x00007f728db2ce9a in start_thread (arg=0x7f72708c4700) at pthread_create.c:308
#9  0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f7266ffd700 (LWP 6599)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f7291c865ab in wait (time=18446744073709551615, this=0x12ef160) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x12efe90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f728f0cb0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x12ef010, th=0x12ef1d0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f728f0cd9db in ThreadWeaver::WorkingHardState::applyForWork (this=0x12e6a70, th=0x12ef1d0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f728f0cc84f in ThreadWeaver::ThreadRunHelper::run (this=0x7f7266ffcde0, parent=0x12ef010, th=0x12ef1d0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f728f0cc8db in ThreadWeaver::Thread::run (this=0x12ef1d0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f7291c8609b in QThreadPrivate::start (arg=0x12ef1d0) at thread/qthread_unix.cpp:307
#8  0x00007f728db2ce9a in start_thread (arg=0x7f7266ffd700) at pthread_create.c:308
#9  0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f72667fc700 (LWP 6600)):
[KCrash Handler]
#6  0x00007f72939534ec in KSharedPtr (o=..., this=0x7f72667fb520) at /usr/include/KDE/../ksharedptr.h:84
#7  Dynamic::AlbumPlayBias::matchingTracks (this=0x12fc660, position=<optimized out>, playlist=..., contextCount=<optimized out>, universe=...) at ../../src/dynamic/biases/AlbumPlayBias.cpp:158
#8  0x00007f729395f3cc in Dynamic::PartBias::matchingTracks (this=0x12e2730, position=6, playlist=..., contextCount=6, universe=...) at ../../src/dynamic/biases/PartBias.cpp:448
#9  0x00007f7293950029 in Dynamic::AndBias::matchingTracks (this=0x12e08d0, position=6, playlist=..., contextCount=6, universe=...) at ../../src/dynamic/Bias.cpp:274
#10 0x00007f72939399e2 in Dynamic::BiasSolver::matchingTracks (this=0x149a710, position=<optimized out>, playlist=...) at ../../src/dynamic/BiasSolver.cpp:625
#11 0x00007f729393b528 in Dynamic::BiasSolver::simpleOptimize (this=0x149a710, list=0x7f72667fb9f0) at ../../src/dynamic/BiasSolver.cpp:240
#12 0x00007f729393eba3 in Dynamic::BiasSolver::run (this=0x149a710) at ../../src/dynamic/BiasSolver.cpp:209
#13 0x00007f728f0cd05b in ThreadWeaver::JobRunHelper::runTheJob (this=0x7f72667fbd60, th=0x148b100, job=0x149a710) at ../../../threadweaver/Weaver/Job.cpp:106
#14 0x00007f728f0cd1cc in ThreadWeaver::Job::execute (this=0x149a710, th=0x148b100) at ../../../threadweaver/Weaver/Job.cpp:135
#15 0x00007f728f0cc81f in ThreadWeaver::ThreadRunHelper::run (this=0x7f72667fbde0, parent=0x12ef010, th=0x148b100) at ../../../threadweaver/Weaver/Thread.cpp:95
#16 0x00007f728f0cc8db in ThreadWeaver::Thread::run (this=0x148b100) at ../../../threadweaver/Weaver/Thread.cpp:142
#17 0x00007f7291c8609b in QThreadPrivate::start (arg=0x148b100) at thread/qthread_unix.cpp:307
#18 0x00007f728db2ce9a in start_thread (arg=0x7f72667fc700) at pthread_create.c:308
#19 0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#20 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f7265ffb700 (LWP 6601)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f7291c865ab in wait (time=18446744073709551615, this=0x12ef160) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x12efe90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f728f0cb0eb in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x12ef010, th=0x148c480) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f728f0cd9db in ThreadWeaver::WorkingHardState::applyForWork (this=0x12e6a70, th=0x148c480) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f728f0cd9f4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x12e6a70, th=0x148c480) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f728f0cc84f in ThreadWeaver::ThreadRunHelper::run (this=0x7f7265ffade0, parent=0x12ef010, th=0x148c480) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007f728f0cc8db in ThreadWeaver::Thread::run (this=0x148c480) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007f7291c8609b in QThreadPrivate::start (arg=0x148c480) at thread/qthread_unix.cpp:307
#9  0x00007f728db2ce9a in start_thread (arg=0x7f7265ffb700) at pthread_create.c:308
#10 0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f7264e3c700 (LWP 6602)):
#0  0x00007f729141d303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f728c024036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f728c024164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f7291db4926 in QEventDispatcherGlib::processEvents (this=0x7f72480008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f7291d83e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f7291d840b7 in QEventLoop::exec (this=0x7f7264e3bd90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f7291c83077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f7291d63b6f in QInotifyFileSystemWatcherEngine::run (this=0x1729b10) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f7291c8609b in QThreadPrivate::start (arg=0x1729b10) at thread/qthread_unix.cpp:307
#9  0x00007f728db2ce9a in start_thread (arg=0x7f7264e3c700) at pthread_create.c:308
#10 0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f724fbc7700 (LWP 6603)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f7288c61dec in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f7288c61f19 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f728db2ce9a in start_thread (arg=0x7f724fbc7700) at pthread_create.c:308
#4  0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f724f2c6700 (LWP 6604)):
#0  __pthread_mutex_lock (mutex=0x7f7244000a60) at pthread_mutex_lock.c:87
#1  0x00007f728c05f5a1 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f728c023f35 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f728c024164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f7291db4926 in QEventDispatcherGlib::processEvents (this=0x7f72440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f7291d83e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f7291d840b7 in QEventLoop::exec (this=0x7f724f2c5dc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f7291c83077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f7291c8609b in QThreadPrivate::start (arg=0x18116d0) at thread/qthread_unix.cpp:307
#9  0x00007f728db2ce9a in start_thread (arg=0x7f724f2c6700) at pthread_create.c:308
#10 0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f724d3fc700 (LWP 6607)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f728e106222 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f728e106259 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f728db2ce9a in start_thread (arg=0x7f724d3fc700) at pthread_create.c:308
#4  0x00007f7291428cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f7294a967c0 (LWP 6592)):
#0  0x00007f729141b8bd in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f728c05e8cf in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f728c023ba4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f728c023fd6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f728c024164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f7291db48bf in QEventDispatcherGlib::processEvents (this=0x8b0ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007f7292828cde in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#7  0x00007f7291d83e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007f7291d840b7 in QEventLoop::exec (this=0x7fffd9c47680, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007f7291d89407 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#10 0x0000000000409201 in main (argc=1, argv=0x7fffd9c49c78) at ../../src/main.cpp:329

Reported using DrKonqi
Comment 1 artur.glavic 2013-02-25 17:47:48 UTC
Crash seems to be connected to the dynamic playlist. Deleting current.xspf made a restart, without crash possible.
Comment 2 Ralf Engels 2013-02-26 15:38:59 UTC
Checked the code and have no idea where this might come from.
I can only say, let's observe this further and hope that with my changes for 2.8 it disappeared.
Comment 3 Myriam Schweingruber 2013-07-10 07:19:11 UTC
*** Bug 322171 has been marked as a duplicate of this bug. ***
Comment 4 Myriam Schweingruber 2013-07-10 07:19:48 UTC
(In reply to comment #2)
> Checked the code and have no idea where this might come from.
> I can only say, let's observe this further and hope that with my changes for
> 2.8 it disappeared.

Sadly not.
Comment 5 Myriam Schweingruber 2013-11-20 20:31:07 UTC
*** Bug 327871 has been marked as a duplicate of this bug. ***
Comment 6 Jekyll Wu 2014-04-06 06:43:06 UTC
*** Bug 333103 has been marked as a duplicate of this bug. ***
Comment 7 Ralf Engels 2014-11-01 23:53:18 UTC
If someone sees this error again: I could use a new stacktrace and maybe the last lines of the debug output if possible.
Comment 8 Myriam Schweingruber 2015-04-18 15:49:36 UTC
Setting to WAITINGFORINFO
Comment 9 Myriam Schweingruber 2015-08-05 21:59:25 UTC
Closing for lack of information, Please feel free to reopen if you can provide a recent backtrace.