Bug 248652 - Amarok crashes when changing the phonon backend instead of giving a warning.
Summary: Amarok crashes when changing the phonon backend instead of giving a warning.
Status: RESOLVED WORKSFORME
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.3-GIT
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: 2.4.0
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-22 03:27 UTC by Valorie Zimmerman
Modified: 2013-04-09 13:26 UTC (History)
0 users

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 Valorie Zimmerman 2010-08-22 03:27:41 UTC
Application: amarok (2.3-GIT)
KDE Platform Version: 4.4.92 (KDE 4.4.92 (KDE 4.5 RC2))
Qt Version: 4.7.0
Operating System: Linux 2.6.32-24-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed: changing backends from VLC to Xine. Clicked a track in playlist, and Amarok went nuts, rapidly skipping through tracks until it crashed. I was unable to get a menu to let me quit cleanly.

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

Thread 15 (Thread 0x7f78c4564710 (LWP 5782)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f78f6d4d8b2 in Thread () from /usr/lib/libvlccore.so.4
#2  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f78b96c2710 (LWP 5802)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f790c829d7b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x8b4f7c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x8b4f7c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f78c37d7b83 in XmlParseJob::run (this=0x8b4f780) at /home/valorie/kde/src/amarok/src/core-impl/collections/sqlcollection/ScanManager.cpp:717
#4  0x00007f79087091e1 in ThreadWeaver::JobRunHelper::runTheJob (this=0x7f78b96c1d50, th=0x3876860, job=0x8b4f780) at ../../../threadweaver/Weaver/Job.cpp:106
#5  0x00007f79087094de in ThreadWeaver::Job::execute (this=0x8b4f780, th=0x3876860) at ../../../threadweaver/Weaver/Job.cpp:135
#6  0x00007f79087084cf in ThreadWeaver::ThreadRunHelper::run (this=0x7f78b96c1de0, parent=0x38762d0, th=0x3876860) at ../../../threadweaver/Weaver/Thread.cpp:95
#7  0x00007f7908708a58 in ThreadWeaver::Thread::run (this=0x3876860) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007f790c8291be in QThreadPrivate::start (arg=0x3876860) at thread/qthread_unix.cpp:266
#9  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f78b8ec1710 (LWP 5803)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f790c829d7b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x38bb770, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x38bb770, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f7908706d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x38762d0, th=0x3871ee0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f7908709f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x33a89b0, th=0x3871ee0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f79087084ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f78b8ec0de0, parent=0x38762d0, th=0x3871ee0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f7908708a58 in ThreadWeaver::Thread::run (this=0x3871ee0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f790c8291be in QThreadPrivate::start (arg=0x3871ee0) at thread/qthread_unix.cpp:266
#8  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f78b86c0710 (LWP 5804)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f790c829d7b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x38bb770, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x38bb770, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f7908706d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x38762d0, th=0x38c93c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f7908709f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x33a89b0, th=0x38c93c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f79087084ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f78b86bfde0, parent=0x38762d0, th=0x38c93c0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f7908708a58 in ThreadWeaver::Thread::run (this=0x38c93c0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f790c8291be in QThreadPrivate::start (arg=0x38c93c0) at thread/qthread_unix.cpp:266
#8  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f78b0d68710 (LWP 5805)):
#0  0x00007f7909ac43f5 in __pthread_mutex_lock (mutex=0x396d7d8) at pthread_mutex_lock.c:61
#1  0x00007f79048faee3 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x00007f79048fb318 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f79048fb8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f790c947bd6 in QEventDispatcherGlib::processEvents (this=0x39677a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007f790c91a7b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f790c91ab9c in QEventLoop::exec (this=0x7f78b0d67d90, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f790c82623d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007f790c8fa6d8 in QInotifyFileSystemWatcherEngine::run (this=0x3a7f8d0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f790c8291be in QThreadPrivate::start (arg=0x3a7f8d0) at thread/qthread_unix.cpp:266
#10 0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f78b724f710 (LWP 5806)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f79073bafde in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f79073bb0f9 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f78b541b710 (LWP 5807)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f790c829d7b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x38bb770, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x38bb770, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f7908706d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x38762d0, th=0x423b750) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f7908709f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x33a89b0, th=0x423b750) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f79087084ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f78b541ade0, parent=0x38762d0, th=0x423b750) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f7908708a58 in ThreadWeaver::Thread::run (this=0x423b750) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f790c8291be in QThreadPrivate::start (arg=0x423b750) at thread/qthread_unix.cpp:266
#8  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f78b4419710 (LWP 5813)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f7907f470c4 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f7908251140) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f7907f470f9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f790825f214) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f789a872710 (LWP 12647)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f790c829d7b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7484898, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7484898, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f790d81404e in QFileInfoGatherer::run (this=<value optimized out>) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007f790c8291be in QThreadPrivate::start (arg=0x7484888) at thread/qthread_unix.cpp:266
#5  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f789f801710 (LWP 12648)):
#0  0x00007f790bfd9fb3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f79048fb4a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f79048fb8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f790c947bd6 in QEventDispatcherGlib::processEvents (this=0x7c9b450, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f790c91a7b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f790c91ab9c in QEventLoop::exec (this=0x7f789f800d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f790c82623d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f790c8fa6d8 in QInotifyFileSystemWatcherEngine::run (this=0x755c6d0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f790c8291be in QThreadPrivate::start (arg=0x755c6d0) at thread/qthread_unix.cpp:266
#9  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f789bf98710 (LWP 12663)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f789caf9081 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f789b797710 (LWP 12664)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f789b796a50 in ?? ()
#2  0x00007fff65ed7852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 0x7f789687d710 (LWP 12670)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f789cb09e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f789607c710 (LWP 12671)):
#0  0x00007f790bfdf013 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f789cb222c5 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007f789cb06c99 in ?? () from /usr/lib/libxine.so.1
#3  0x00007f7909ac19ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f790bfe672d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f790f294780 (LWP 5776)):
[KCrash Handler]
#6  0x00007f790a7cc58d in QHttpNetworkConnectionChannel::resetUploadData (this=0x5eaf308) at access/qhttpnetworkconnectionchannel.cpp:804
#7  0x00007f790a7c9f34 in QHttpNetworkConnectionPrivate::_q_startNextRequest (this=0x8c90250) at access/qhttpnetworkconnection.cpp:736
#8  0x00007f790a7ca83b in QHttpNetworkConnectionPrivate::queueRequest (this=0x8c90250, request=...) at access/qhttpnetworkconnection.cpp:437
#9  0x00007f790a7e5a59 in QNetworkAccessHttpBackend::postRequest (this=0x747b880) at access/qnetworkaccesshttpbackend.cpp:588
#10 0x00007f790a7e6afc in QNetworkAccessHttpBackend::open (this=<value optimized out>) at access/qnetworkaccesshttpbackend.cpp:678
#11 0x00007f790a7dd516 in QNetworkAccessBackend::start (this=0x7cf9c00) at access/qnetworkaccessbackend.cpp:364
#12 0x00007f790a7f7878 in QNetworkReplyImplPrivate::_q_startOperation (this=0x7e64de0) at access/qnetworkreplyimpl.cpp:88
#13 0x00007f790a7f98ca in QNetworkReplyImpl::qt_metacall (this=0x59e6090, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x84ceb70)
    at .moc/release-shared/moc_qnetworkreplyimpl_p.cpp:92
#14 0x00007f790c92d87e in QObject::event (this=0x59e6090, e=0x7cf9c00) at kernel/qobject.cpp:1219
#15 0x00007f790d2e9cdc in QApplicationPrivate::notify_helper (this=0x26656f0, receiver=0x59e6090, e=0x976ed20) at kernel/qapplication.cpp:4389
#16 0x00007f790d2ef7cd in QApplication::notify (this=0x7fff65e73540, receiver=0x59e6090, e=0x976ed20) at kernel/qapplication.cpp:4270
#17 0x00007f790eca7926 in KApplication::notify (this=0x7fff65e73540, receiver=0x59e6090, event=0x976ed20) at ../../kdeui/kernel/kapplication.cpp:309
#18 0x00007f790c91ba8c in QCoreApplication::notifyInternal (this=0x7fff65e73540, receiver=0x59e6090, event=0x976ed20) at kernel/qcoreapplication.cpp:732
#19 0x00007f790c91e9b2 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2507530) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2507530) at kernel/qcoreapplication.cpp:1373
#21 0x00007f790c948043 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#22 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#23 0x00007f79048f78c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#24 0x00007f79048fb748 in ?? () from /lib/libglib-2.0.so.0
#25 0x00007f79048fb8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#26 0x00007f790c947b83 in QEventDispatcherGlib::processEvents (this=0x2507030, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#27 0x00007f790d39b7ee in QGuiEventDispatcherGlib::processEvents (this=0x7cf9c00, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#28 0x00007f790c91a7b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#29 0x00007f790c91ab9c in QEventLoop::exec (this=0x7fff65e734e0, flags=) at kernel/qeventloop.cpp:201
#30 0x00007f790c91ec4b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#31 0x000000000040b026 in main (argc=3, argv=0x7fff65e75498) at /home/valorie/kde/src/amarok/src/main.cpp:237

Reported using DrKonqi
Comment 1 Valorie Zimmerman 2010-08-22 04:45:55 UTC
I have debug nofork output if needed, saved in a file.
Comment 2 Myriam Schweingruber 2010-08-22 09:38:44 UTC
Not really, as there is no evidence this is Amarok or Phonon related. If you change the backend while Amarok is running, it is important to restart it, else it will try to continue to use the previous backend and invariably crash :(

I change the title accordingly, as this is as wish for a message asking to restart, instead of a crash
Comment 3 Valorie Zimmerman 2010-08-22 09:55:08 UTC
That makes sense. I meant to quit, but clicked the next song automatically. A warning might have stayed my hand.
Comment 4 Myriam Schweingruber 2013-04-09 13:26:43 UTC
This is solved since ages, since changing the backend has no effect until Amarok is restarted.