Summary: | Crash ~1sec after playing an audio file | ||
---|---|---|---|
Product: | [Frameworks and Libraries] kio | Reporter: | Pascal Stumpf <Pascal.Stumpf> |
Component: | general | Assignee: | David Faure <faure> |
Status: | RESOLVED DOWNSTREAM | ||
Severity: | crash | CC: | Pascal.Stumpf, rakuco, savsem |
Priority: | NOR | ||
Version: | 4.5 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | FreeBSD | ||
Latest Commit: | Version Fixed In: |
Description
Pascal Stumpf
2010-10-01 00:29:35 UTC
Ok, just tested it with lyrics plugin disabled. Doesn’t crash, so it’s definitely related to fetching new lyrics for a song. Sorry, but your backtrace is not useful, as you are lacking debugging symbols. If you can reproduce this bug, please check here on how to get a valid backtrace: http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports There is no evidence the crash is in Amarok, looks more like a problem with a kio slave, but maybe it's just missing debug symbols. Ok, I’ve recompiled with debug symbols: Application: Amarok (amarok), signal: Segmentation fault: 11 [Switching to Thread 81acf7680 (LWP 100438)] [Current thread is 1 (Thread 81acf7680 (LWP 100438))] Thread 17 (Thread 80d0041c0 (LWP 100452)): [KCrash Handler] #7 0x0000000819afa0a1 in SSL_clear () from /usr/local/lib/libssl.so.7 #8 0x00000008278d60ea in SSL_new () from /usr/lib/libssl.so #9 0x000000080474795b in QSslSocketPrivate::resetDefaultCiphers () from /usr/local/lib/qt4/libQtNetwork.so.4 #10 0x0000000804747cd5 in QSslSocketPrivate::ensureInitialized () from /usr/local/lib/qt4/libQtNetwork.so.4 #11 0x000000080474565e in QSslSocketPrivate::supportedCiphers () from /usr/local/lib/qt4/libQtNetwork.so.4 #12 0x0000000804745709 in QSslSocket::supportedCiphers () from /usr/local/lib/qt4/libQtNetwork.so.4 #13 0x000000080473ce0d in QSslCipher::QSslCipher () from /usr/local/lib/qt4/libQtNetwork.so.4 #14 0x00000008094ccb18 in KIO::Integration::sslConfigFromMetaData () from /usr/local/kde4/lib/libkio.so.7 #15 0x00000008094d2c8d in KIO::AccessManager::createRequest () from /usr/local/kde4/lib/libkio.so.7 #16 0x00000008094d35d9 in KIO::AccessManager::createRequest () from /usr/local/kde4/lib/libkio.so.7 #17 0x00000008094d4f2f in KIO::AccessManager::createRequest () from /usr/local/kde4/lib/libkio.so.7 #18 0x00000008030ad108 in QMetaObject::activate () from /usr/local/lib/qt4/libQtCore.so.4 #19 0x0000000809526254 in KIO::TransferJob::data () from /usr/local/kde4/lib/libkio.so.7 #20 0x0000000809530560 in KIO::TransferJob::slotData () from /usr/local/kde4/lib/libkio.so.7 #21 0x000000080953d736 in KIO::TransferJob::qt_metacall () from /usr/local/kde4/lib/libkio.so.7 #22 0x00000008030ad108 in QMetaObject::activate () from /usr/local/lib/qt4/libQtCore.so.4 #23 0x0000000809616472 in KIO::SlaveInterface::data () from /usr/local/kde4/lib/libkio.so.7 #24 0x000000080961ac1a in KIO::SlaveInterface::dispatch () from /usr/local/kde4/lib/libkio.so.7 #25 0x0000000809616783 in KIO::SlaveInterface::dispatch () from /usr/local/kde4/lib/libkio.so.7 #26 0x0000000809605d9f in KIO::Slave::gotInput () from /usr/local/kde4/lib/libkio.so.7 #27 0x0000000809606d16 in KIO::Slave::qt_metacall () from /usr/local/kde4/lib/libkio.so.7 #28 0x00000008030ad108 in QMetaObject::activate () from /usr/local/lib/qt4/libQtCore.so.4 #29 0x00000008094e003e in KIO::Connection::send () from /usr/local/kde4/lib/libkio.so.7 #30 0x00000008094e00fd in KIO::Connection::qt_metacall () from /usr/local/kde4/lib/libkio.so.7 #31 0x00000008030ab61f in QObject::event () from /usr/local/lib/qt4/libQtCore.so.4 #32 0x0000000801ef459f in QApplicationPrivate::notify_helper () from /usr/local/lib/qt4/libQtGui.so.4 #33 0x0000000801efb5de in QApplication::notify () from /usr/local/lib/qt4/libQtGui.so.4 #34 0x00000008008cfd3f in KApplication::notify () from /usr/local/kde4/lib/libkdeui.so.7 #35 0x000000080309a954 in QCoreApplication::notifyInternal () from /usr/local/lib/qt4/libQtCore.so.4 #36 0x000000080309bcd8 in QCoreApplicationPrivate::sendPostedEvents () from /usr/local/lib/qt4/libQtCore.so.4 #37 0x00000008030c5af3 in postEventSourceDispatch () from /usr/local/lib/qt4/libQtCore.so.4 #38 0x0000000809ec38e3 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0 #39 0x0000000809ec70e2 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0 #40 0x0000000809ec76fb in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0 #41 0x00000008030c5d4c in QEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtCore.so.4 #42 0x0000000801fa309f in QGuiEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtGui.so.4 #43 0x0000000803099afd in QEventLoop::processEvents () from /usr/local/lib/qt4/libQtCore.so.4 #44 0x0000000803099e36 in QEventLoop::exec () from /usr/local/lib/qt4/libQtCore.so.4 #45 0x000000080309bfde in QCoreApplication::exec () from /usr/local/lib/qt4/libQtCore.so.4 #46 0x000000000040b2d7 in main (argc=1, argv=0x7fffffffe2d8) at /usr/ports/audio/amarok-kde4/work/amarok-2.3.2/src/main.cpp:237 Thread 16 (Thread 80d5ada80 (LWP 100289)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d7d603 in metronom_sync_loop () from /usr/local/lib/libxine.so #3 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #4 0x0000000000000000 in ?? () Thread 15 (Thread 80d5ad700 (LWP 100318)): #0 0x00000008038e2b6c in clock_gettime () from /lib/libc.so.7 #1 0x00000008030c2773 in qt_gettime () from /usr/local/lib/qt4/libQtCore.so.4 #2 0x00000008030c70cd in QTimerInfoList::updateCurrentTime () from /usr/local/lib/qt4/libQtCore.so.4 #3 0x00000008030c5842 in timerSourceCheckHelper () from /usr/local/lib/qt4/libQtCore.so.4 #4 0x0000000809ec6b00 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0 #5 0x0000000809ec6fc6 in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0 #6 0x0000000809ec76fb in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0 #7 0x00000008030c5d64 in QEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtCore.so.4 #8 0x0000000803099afd in QEventLoop::processEvents () from /usr/local/lib/qt4/libQtCore.so.4 #9 0x0000000803099e36 in QEventLoop::exec () from /usr/local/lib/qt4/libQtCore.so.4 #10 0x0000000802fa1812 in QThread::exec () from /usr/local/lib/qt4/libQtCore.so.4 #11 0x0000000811bf50de in Phonon::Xine::XineThread::run () from /usr/local/kde4/lib/kde4/plugins/phonon_backend/phonon_xine.so #12 0x0000000802fa4619 in QThreadPrivate::start () from /usr/local/lib/qt4/libQtCore.so.4 #13 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #14 0x0000000000000000 in ?? () Thread 14 (Thread 80d5ad1c0 (LWP 100323)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d8aab0 in fifo_peek_int () from /usr/local/lib/libxine.so #3 0x0000000811d8b829 in ao_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 13 (Thread 80d00ae40 (LWP 100341)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d8aab0 in fifo_peek_int () from /usr/local/lib/libxine.so #3 0x0000000811d8b829 in ao_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 12 (Thread 816a0ac80 (LWP 100347)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d8aab0 in fifo_peek_int () from /usr/local/lib/libxine.so #3 0x0000000811d8b829 in ao_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 11 (Thread 816a0aac0 (LWP 100352)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d8aab0 in fifo_peek_int () from /usr/local/lib/libxine.so #3 0x0000000811d8b829 in ao_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 10 (Thread 81a945c80 (LWP 100353)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000802fa5065 in QWaitCondition::wait () from /usr/local/lib/qt4/libQtCore.so.4 #3 0x000000080630e78d in ThreadWeaver::Weaver::instance () from /usr/local/kde4/lib/libthreadweaver.so.5 #4 0x0000000806310b1b in ThreadWeaver::State::State () from /usr/local/kde4/lib/libthreadweaver.so.5 #5 0x000000080630edb6 in ThreadWeaver::Thread::id () from /usr/local/kde4/lib/libthreadweaver.so.5 #6 0x000000080630f228 in ThreadWeaver::Thread::run () from /usr/local/kde4/lib/libthreadweaver.so.5 #7 0x0000000802fa4619 in QThreadPrivate::start () from /usr/local/lib/qt4/libQtCore.so.4 #8 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #9 0x0000000000000000 in ?? () Thread 9 (Thread 81acfb040 (LWP 100361)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000802fa5065 in QWaitCondition::wait () from /usr/local/lib/qt4/libQtCore.so.4 #3 0x000000080630e78d in ThreadWeaver::Weaver::instance () from /usr/local/kde4/lib/libthreadweaver.so.5 #4 0x0000000806310b1b in ThreadWeaver::State::State () from /usr/local/kde4/lib/libthreadweaver.so.5 #5 0x000000080630edb6 in ThreadWeaver::Thread::id () from /usr/local/kde4/lib/libthreadweaver.so.5 #6 0x000000080630f228 in ThreadWeaver::Thread::run () from /usr/local/kde4/lib/libthreadweaver.so.5 #7 0x0000000802fa4619 in QThreadPrivate::start () from /usr/local/lib/qt4/libQtCore.so.4 #8 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #9 0x0000000000000000 in ?? () Thread 8 (Thread 81acfa940 (LWP 100369)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x00000008065acd7e in QTWTF::TCMalloc_PageHeap::scavengerThread () from /usr/local/lib/qt4/libQtScript.so.4 #3 0x00000008065acdd9 in QTWTF::TCMalloc_PageHeap::runScavengerThread () from /usr/local/lib/qt4/libQtScript.so.4 #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 7 (Thread 81acf9ec0 (LWP 100403)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000802fa5065 in QWaitCondition::wait () from /usr/local/lib/qt4/libQtCore.so.4 #3 0x000000080630e78d in ThreadWeaver::Weaver::instance () from /usr/local/kde4/lib/libthreadweaver.so.5 #4 0x0000000806310b1b in ThreadWeaver::State::State () from /usr/local/kde4/lib/libthreadweaver.so.5 #5 0x0000000806310b34 in ThreadWeaver::State::State () from /usr/local/kde4/lib/libthreadweaver.so.5 #6 0x000000080630edb6 in ThreadWeaver::Thread::id () from /usr/local/kde4/lib/libthreadweaver.so.5 #7 0x000000080630f228 in ThreadWeaver::Thread::run () from /usr/local/kde4/lib/libthreadweaver.so.5 #8 0x0000000802fa4619 in QThreadPrivate::start () from /usr/local/lib/qt4/libQtCore.so.4 #9 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #10 0x0000000000000000 in ?? () Thread 6 (Thread 81acfa080 (LWP 100406)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000802fa5065 in QWaitCondition::wait () from /usr/local/lib/qt4/libQtCore.so.4 #3 0x000000080630e78d in ThreadWeaver::Weaver::instance () from /usr/local/kde4/lib/libthreadweaver.so.5 #4 0x0000000806310b1b in ThreadWeaver::State::State () from /usr/local/kde4/lib/libthreadweaver.so.5 #5 0x000000080630edb6 in ThreadWeaver::Thread::id () from /usr/local/kde4/lib/libthreadweaver.so.5 #6 0x000000080630f228 in ThreadWeaver::Thread::run () from /usr/local/kde4/lib/libthreadweaver.so.5 #7 0x0000000802fa4619 in QThreadPrivate::start () from /usr/local/lib/qt4/libQtCore.so.4 #8 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #9 0x0000000000000000 in ?? () Thread 5 (Thread 816a0a900 (LWP 100407)): #0 0x00000008038fd90c in select () from /lib/libc.so.7 #1 0x00000008036fa574 in select () from /lib/libthr.so.3 #2 0x0000000811d9f11c in xine_usec_sleep () from /usr/local/lib/libxine.so #3 0x0000000811d89650 in video_out_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 4 (Thread 816a0a740 (LWP 100411)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d804f2 in fifo_buffer_get () from /usr/local/lib/libxine.so #3 0x0000000811d85b7b in video_decoder_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 3 (Thread 816a0a580 (LWP 100424)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d804f2 in fifo_buffer_get () from /usr/local/lib/libxine.so #3 0x0000000811d86b1b in audio_decoder_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 2 (Thread 816a0a3c0 (LWP 100437)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000811d8e73b in xine_event_wait () from /usr/local/lib/libxine.so #3 0x0000000811d8e7b5 in listener_loop () from /usr/local/lib/libxine.so #4 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #5 0x0000000000000000 in ?? () Thread 1 (Thread 81acf7680 (LWP 100438)): #0 0x00000008037022ac in __error () from /lib/libthr.so.3 #1 0x00000008037003a5 in pthread_cond_signal () from /lib/libthr.so.3 #2 0x0000000802fa5047 in QWaitCondition::wait () from /usr/local/lib/qt4/libQtCore.so.4 #3 0x0000000802f9a482 in QThreadPoolThread::run () from /usr/local/lib/qt4/libQtCore.so.4 #4 0x0000000802fa4619 in QThreadPrivate::start () from /usr/local/lib/qt4/libQtCore.so.4 #5 0x00000008036f8511 in pthread_getprio () from /lib/libthr.so.3 #6 0x0000000000000000 in ?? () It also seems that this occurs on any form of network activity, including fetching album covers etc. Thank you for the feedback, the crash is in libkio, reassigning. This looks like a bug in either libssl or QtSsl libraries. Since I have never seen this on Linux platform, I assume it is FreeBSD specific. I’ve investigated this a bit further. As you can see from the backtrace, I’ve got two different versions of libssl.so installed: One from the FreeBSD base system (/usr/lib/libssl.so, version 0.9.8n) and one from ports (/usr/local/lib/libssl.so, version 1.0.0). This is necessary due to some applications requiring functionality which has been disabled in the base system OpenSSL (renegotiation used by Tor, but in a safe way). After deinstalling the OpenSSL port, the crash is gone. So this seems to be a problem of KIO libs using functions from different SSL libraries. I can’t think of a way to easily fix this in the ports system (i.e., by doing some magic at link-time), since the infrastructure doesn’t support that yet. The most viable way to resolve this is probably by re-enabling renegotiation in every supported version of FreeBSD, rendering the dependency of security/tor on ports OpenSSL obsolete. I’ll file a FreeBSD PR on this. :) Does 'ldd /usr/local/lib/qt4/libQtNetwork.so.4' mention libssl from ports? It is really weird that a function from base's openssl is calling another function from the ports version. Well, after talking about this on #kde-freebsd, ports people have told me that having openssl from both base and ports installed is generally a bad idea, and there's a knob for the ports version which lets you override the base version. 00:03 (fluffykhv:rakuco: aha. mixing of openssl libs isn't so good. anyone, who wants use openssl from ports, should purge it from the base.) 00:08 (@rakuco) fluffykhv: why? I thought the linker would choose either one or the other consistently instead of mixing both versions 00:10 (@fluffykhv) look: some lib compiled with base' openssl, but it lib required by software, which also required ports' openssl. race condition catched. 00:12 (@fluffykhv) openssl ports have knob to override base version to avoid such situations 00:14 (@fluffykhv) footshooting in process :) Anyway, this is a FreeBSD issue, so the issue should be tracked downstream. *** Bug 261520 has been marked as a duplicate of this bug. *** |