Bug 291245

Summary: Amarok crashes on exit after modifying the Phonon configuration
Product: [Frameworks and Libraries] Phonon Reporter: maestroiut-kde
Component: Xine backendAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: martin.sandsmark, myriam
Priority: NOR    
Version: 4.4.4 (KDE 4.6.x)   
Target Milestone: 4.6.1   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description maestroiut-kde 2012-01-11 07:16:40 UTC
Application: amarok (2.5.0)
KDE Platform Version: 4.6.5 (4.6.5)
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1-amd64 x86_64
Distribution: Debian GNU/Linux 6.0-updates (squeeze)

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

After an upgrade of my Debian unstable distribution, no sound was coming out of Amarok so I opened the Configure Phonom dialog and tried various sound configuration.
At one point on the Speaker Setup tab, the drop downs were all empty. I then decided to restart Amarok and since then Amarok is crashing upon exit. Now the Speaker Setup tab is again having values I can select and I can get sound output when I use the Speaker Placement and Testing. The tracks playback is still not outputting any sound. The backend is Phonon Xine backend.

The crash can be reproduced every time.

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

Thread 11 (Thread 0x7f82aa352700 (LWP 18764)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82b22fc80b in ?? () from /usr/lib/libxine.so.1
#2  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#3  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f82a2ec0700 (LWP 18767)):
#0  0x00007f82cf6b14cf in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f82cf6b1a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f82d64f5e96 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#3  0x00007f82d64ca492 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f82d64ca68f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f82d63e230f in QThread::exec() () from /usr/lib/libQtCore.so.4
#6  0x00007f82d64ad35f in QInotifyFileSystemWatcherEngine::run() () from /usr/lib/libQtCore.so.4
#7  0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#8  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#9  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f829f0ed700 (LWP 18770)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82d63e518b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f82d3964a94 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x14a84f0, th=0x14a8da0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007f82d396703b in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x14a8da0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x14a8da0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x14a8da0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x14a8da0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x14a8da0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007f82d3965eff in ThreadWeaver::ThreadRunHelper::run (this=0x7f829f0ece20, parent=0x14a84f0, th=0x14a8da0) at ../../../threadweaver/Weaver/Thread.cpp:87
#9  0x00007f82d3965f8b in ThreadWeaver::Thread::run (this=0x14a8da0) at ../../../threadweaver/Weaver/Thread.cpp:142
#10 0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#11 0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#12 0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f829da3e700 (LWP 18771)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82d63e518b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f82d3964a94 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x14a84f0, th=0x16d0200) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007f82d396703b in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x16d0200) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x16d0200) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x16d0200) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f82d3967054 in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x16d0200) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f82d3965eff in ThreadWeaver::ThreadRunHelper::run (this=0x7f829da3de20, parent=0x14a84f0, th=0x16d0200) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007f82d3965f8b in ThreadWeaver::Thread::run (this=0x16d0200) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#10 0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#11 0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f829d23d700 (LWP 18772)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82d63e518b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f82d3964a94 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x14a84f0, th=0x7f8298000eb0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007f82d396703b in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x7f8298000eb0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007f82d3965eff in ThreadWeaver::ThreadRunHelper::run (this=0x7f829d23ce20, parent=0x14a84f0, th=0x7f8298000eb0) at ../../../threadweaver/Weaver/Thread.cpp:87
#5  0x00007f82d3965f8b in ThreadWeaver::Thread::run (this=0x7f8298000eb0) at ../../../threadweaver/Weaver/Thread.cpp:142
#6  0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#7  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#8  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f829ca3c700 (LWP 18773)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82d63e518b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f82d3964a94 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x14a84f0, th=0x18109e0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007f82d396703b in ThreadWeaver::WorkingHardState::applyForWork (this=0x14a89d0, th=0x18109e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007f82d3965eff in ThreadWeaver::ThreadRunHelper::run (this=0x7f829ca3be20, parent=0x14a84f0, th=0x18109e0) at ../../../threadweaver/Weaver/Thread.cpp:87
#5  0x00007f82d3965f8b in ThreadWeaver::Thread::run (this=0x18109e0) at ../../../threadweaver/Weaver/Thread.cpp:142
#6  0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#7  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#8  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f8297bd8700 (LWP 18774)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82cbba4f2c in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f82cbba5059 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#4  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f8290fde700 (LWP 18777)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82d299b4b2 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f82d299b4e9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#4  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f8280e67700 (LWP 18788)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f82d63e518b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f82d7397d34 in QFileInfoGatherer::run() () from /usr/lib/libQtGui.so.4
#3  0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#4  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#5  0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8280457700 (LWP 18789)):
#0  0x00007f82d5b96863 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f82cf6b15d8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f82cf6b1a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f82d64f5e96 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f82d64ca492 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f82d64ca68f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f82d63e230f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f82d64ad35f in QInotifyFileSystemWatcherEngine::run() () from /usr/lib/libQtCore.so.4
#8  0x00007f82d63e4cf5 in QThreadPrivate::start(void*) () from /usr/lib/libQtCore.so.4
#9  0x00007f82d23bfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#10 0x00007f82d5ba14ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f82d9246780 (LWP 18761)):
[KCrash Handler]
#6  malloc_consolidate (av=0x7f82a4000020) at malloc.c:5155
#7  0x00007f82d5b3ff88 in _int_free (av=0x7f82a4000020, p=0x7f82a40033a0) at malloc.c:5034
#8  0x00007f82d5b4338c in *__GI___libc_free (mem=<optimized out>) at malloc.c:3738
#9  0x00007f82d90a0aa7 in _dl_deallocate_tls () from /lib64/ld-linux-x86-64.so.2
#10 0x00007f82d23bf92d in __free_stacks (limit=41943040) at allocatestack.c:278
#11 0x00007f82d23bfa39 in queue_stack (stack=<optimized out>) at allocatestack.c:306
#12 __deallocate_stack (pd=0x7f82a450f2f0) at allocatestack.c:758
#13 0x00007f82d23c0e3d in pthread_join (threadid=140199196976896, thread_return=0x0) at pthread_join.c:110
#14 0x00007f82b22ea7af in ?? () from /usr/lib/libxine.so.1
#15 0x00007f82b22e75fd in xine_exit () from /usr/lib/libxine.so.1
#16 0x00007f82b2572538 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#17 0x00007f82b25725f9 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#18 0x00007f82d31ea31f in ?? () from /usr/lib/libphonon.so.4
#19 0x00007f82d31ea4b9 in ?? () from /usr/lib/libphonon.so.4
#20 0x00007f82d64cdc78 in qt_call_post_routines() () from /usr/lib/libQtCore.so.4
#21 0x00007f82d6eb7368 in QApplication::~QApplication() () from /usr/lib/libQtGui.so.4
#22 0x00007f82d822050b in App::~App (this=0x7fffe1b51590, __in_chrg=<optimized out>) at ../../src/App.cpp:188
#23 0x000000000040909d in main (argc=1, argv=0x7fffe1b53a18) at ../../src/main.cpp:301

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2012-01-11 09:53:48 UTC
Please do not use the Phonon-backend-xine anymore, it is deprecated and unmaintained: http://lists.kde.org/?l=kde-announce&m=130744384419151

Also if you report backtraces, please check the star ratings in Dr. Konqi, if it is not labeled as 3 stars it is of not much use for us. In this particular case you don't have the debugging symbols installed for Phonon.
Comment 2 maestroiut-kde 2012-01-11 10:20:55 UTC
Indeed switching to gstreamer has fixed the issue: no more crash on exit and now I get sound. Thank you very much for the speedy reaction. I will also pay more attention to the back-trace quality as you suggested.