Summary: | Amarok crashes when trying to fetch podcasts | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Børre Gaup <albbas> |
Component: | Podcast | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bart.cerneels, janne |
Priority: | NOR | ||
Version: | 2.0.90 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Børre Gaup
2009-05-09 18:44:39 UTC
I also started amarok, and went to Playlist->Podcasts and pressed the refresh button. It resulted in the following backtrace: Program: Amarok (amarok), signal SIGABRT [Current thread is 0 (LWP 5342)] Thread 8 (Thread 0xb117fb90 (LWP 5343)): #0 0xb7ffd430 in __kernel_vsyscall () #1 0xb77b9412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb1ffdae3 in ?? () from /usr/lib/libxine.so.1 Thread 7 (Thread 0xb08f4b90 (LWP 5344)): #0 0xb436e0ac in clock_gettime () from /lib/tls/i686/cmov/librt.so.1 #1 0xb6a1be2b in QTimerInfoList::getTime (this=0x8e334a4, t=@0x8e334c8) at kernel/qeventdispatcher_unix.cpp:339 #2 0xb6a1c001 in QTimerInfoList::updateCurrentTime (this=0x8e334a4) at kernel/qeventdispatcher_unix.cpp:297 #3 0xb6a1dbec in QTimerInfoList::timerWait (this=0x8e334a4, tm=@0xb08f4114) at kernel/qeventdispatcher_unix.cpp:420 #4 0xb6a1a3ba in timerSourcePrepare (source=0xb4371ff4, timeout=0xb08f4168) at kernel/qeventdispatcher_glib.cpp:140 #5 0xb440a9c0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #6 0xb440adda in ?? () from /usr/lib/libglib-2.0.so.0 #7 0xb440b268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #8 0xb6a1a1f7 in QEventDispatcherGlib::processEvents (this=0x8d4ec90, flags={i = -1332788648}) at kernel/qeventdispatcher_glib.cpp:326 #9 0xb69ecdda in QEventLoop::processEvents (this=0xb08f42d0, flags={i = -1332788584}) at kernel/qeventloop.cpp:149 #10 0xb69ed21a in QEventLoop::exec (this=0xb08f42d0, flags={i = -1332788520}) at kernel/qeventloop.cpp:200 #11 0xb68f7239 in QThread::exec (this=0x8ea0be0) at thread/qthread.cpp:487 #12 0xb204b20a in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #13 0xb68fa56e in QThreadPrivate::start (arg=0x8ea0be0) at thread/qthread_unix.cpp:189 #14 0xb77b54ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #15 0xb670849e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 6 (Thread 0xafeffb90 (LWP 5345)): #0 0xb7ffd430 in __kernel_vsyscall () #1 0xb77b90e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb200ed8e in ?? () from /usr/lib/libxine.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 5 (Thread 0xaf4ffb90 (LWP 5346)): #0 0xb7ffd430 in __kernel_vsyscall () #1 0xb77b90e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb200ed8e in ?? () from /usr/lib/libxine.so.1 #3 0x00000001 in ?? () Thread 4 (Thread 0xaec7ab90 (LWP 5351)): #0 0xb7ffd430 in __kernel_vsyscall () #1 0xb77b90e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb68fb5b2 in QWaitCondition::wait (this=0x927f710, mutex=0x95aeda0, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #3 0xb5d62148 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x927f6f8, th=0x96792e0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:365 #4 0xb5d64eec in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x932e018, th=0x96792e0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WorkingHardState.cpp:80 #5 0xb5d60d2b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x927f6f8, th=0x96792e0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:356 #6 0xb5d64fea in ThreadWeaver::WorkingHardState::applyForWork (this=0x932e018, th=0x96792e0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WorkingHardState.cpp:71 #7 0xb5d626d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x927f6f8, th=0x96792e0, previous=0x96c90b8) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:351 #8 0xb5d62fbe in ThreadWeaver::ThreadRunHelper::run (this=0xaec7a320, parent=0x927f6f8, th=0x96792e0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/Thread.cpp:87 #9 0xb5d635fb in ThreadWeaver::Thread::run (this=0x96792e0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/Thread.cpp:142 #10 0xb68fa56e in QThreadPrivate::start (arg=0x96792e0) at thread/qthread_unix.cpp:189 #11 0xb77b54ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #12 0xb670849e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 3 (Thread 0xad1fdb90 (LWP 5352)): #0 0xb7ffd430 in __kernel_vsyscall () #1 0xb77b90e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb68fb5b2 in QWaitCondition::wait (this=0x927f710, mutex=0x95aeda0, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #3 0xb5d62148 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x927f6f8, th=0x9666760) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:365 #4 0xb5d64eec in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x932e018, th=0x9666760) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WorkingHardState.cpp:80 #5 0xb5d60d2b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x927f6f8, th=0x9666760) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:356 #6 0xb5d64fea in ThreadWeaver::WorkingHardState::applyForWork (this=0x932e018, th=0x9666760) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WorkingHardState.cpp:71 #7 0xb5d626d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x927f6f8, th=0x9666760, previous=0x0) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:351 #8 0xb5d62fbe in ThreadWeaver::ThreadRunHelper::run (this=0xad1fd320, parent=0x927f6f8, th=0x9666760) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/Thread.cpp:87 #9 0xb5d635fb in ThreadWeaver::Thread::run (this=0x9666760) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/Thread.cpp:142 #10 0xb68fa56e in QThreadPrivate::start (arg=0x9666760) at thread/qthread_unix.cpp:189 #11 0xb77b54ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #12 0xb670849e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 2 (Thread 0xac9fcb90 (LWP 5353)): #0 0xb7ffd430 in __kernel_vsyscall () #1 0xb77b90e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb68fb5b2 in QWaitCondition::wait (this=0x927f710, mutex=0x95aeda0, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #3 0xb5d62148 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x927f6f8, th=0x95f7428) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:365 #4 0xb5d64eec in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x932e018, th=0x95f7428) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WorkingHardState.cpp:80 #5 0xb5d60d2b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x927f6f8, th=0x95f7428) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:356 #6 0xb5d64fea in ThreadWeaver::WorkingHardState::applyForWork (this=0x932e018, th=0x95f7428) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WorkingHardState.cpp:71 #7 0xb5d626d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x927f6f8, th=0x95f7428, previous=0x965ace8) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/WeaverImpl.cpp:351 #8 0xb5d62fbe in ThreadWeaver::ThreadRunHelper::run (this=0xac9fc320, parent=0x927f6f8, th=0x95f7428) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/Thread.cpp:87 #9 0xb5d635fb in ThreadWeaver::Thread::run (this=0x95f7428) at /build/buildd/kde4libs-4.2.3/threadweaver/Weaver/Thread.cpp:142 #10 0xb68fa56e in QThreadPrivate::start (arg=0x95f7428) at thread/qthread_unix.cpp:189 #11 0xb77b54ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #12 0xb670849e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread 0xb3eca710 (LWP 5342)): [KCrash Handler] #6 0xb7ffd430 in __kernel_vsyscall () #7 0xb664f6d0 in raise () from /lib/tls/i686/cmov/libc.so.6 #8 0xb6651098 in abort () from /lib/tls/i686/cmov/libc.so.6 #9 0xb68f21e5 in qt_message_output (msgType=QtFatalMsg, buf=0x952b460 "ASSERT: \"!isEmpty()\" in file /usr/include/qt4/QtCore/qlist.h, line 252") at global/qglobal.cpp:2017 #10 0xb68f22d1 in qFatal (msg=0xb6a410d8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2216 #11 0xb68f23c5 in qt_assert (assertion=0xb7c1eb19 "!isEmpty()", file=0xb7c1d01c "/usr/include/qt4/QtCore/qlist.h", line=252) at global/qglobal.cpp:1786 #12 0xb799de60 in SqlPodcastProvider::update (this=0x9099e88, channel={d = 0xbff18970}) at /usr/include/qt4/QtCore/qlist.h:252 #13 0xb7a8e563 in PlaylistBrowserNS::PodcastModel::refreshPodcast (this=0x95e95e0, channel={d = 0xbff189bc}) at /build/buildd/amarok-2.0.90mysql5.1.30/amarok-2.0.90/src/browsers/playlistbrowser/PodcastModel.cpp:519 #14 0xb7a8e686 in PlaylistBrowserNS::PodcastModel::refreshPodcasts (this=0x95e95e0) at /build/buildd/amarok-2.0.90mysql5.1.30/amarok-2.0.90/src/browsers/playlistbrowser/PodcastModel.cpp:506 #15 0xb7a8ee88 in PlaylistBrowserNS::PodcastModel::qt_metacall (this=0x95e95e0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbff18adc) at /build/buildd/amarok-2.0.90mysql5.1.30/amarok-2.0.90/build/src/PodcastModel.moc:77 #16 0xb6a04a58 in QMetaObject::activate (sender=0x95ebf28, from_signal_index=5, to_signal_index=6, argv=0xbff18adc) at kernel/qobject.cpp:3120 #17 0xb6a04e90 in QMetaObject::activate (sender=0x95ebf28, m=0xb7731f08, from_local_signal_index=1, to_local_signal_index=2, argv=0xbff18adc) at kernel/qobject.cpp:3214 #18 0xb6e98551 in QAction::triggered (this=0x95ebf28, _t1=false) at .moc/release-shared/moc_qaction.cpp:236 #19 0xb6e99acf in QAction::activate (this=0x95ebf28, event=QAction::Trigger) at kernel/qaction.cpp:1160 #20 0xb736cd12 in QToolButton::nextCheckState (this=0x6) at ../../include/QtGui/../../src/gui/kernel/qaction.h:203 #21 0xb7285573 in QAbstractButtonPrivate::click (this=0x95ec988) at widgets/qabstractbutton.cpp:525 #22 0xb7285846 in QAbstractButton::mouseReleaseEvent (this=0x95ebec0, e=0xbff190e8) at widgets/qabstractbutton.cpp:1115 #23 0xb736d20c in QToolButton::mouseReleaseEvent (this=0x95ebec0, e=0xbff190e8) at widgets/qtoolbutton.cpp:709 #24 0xb6ef58c3 in QWidget::event (this=0x95ebec0, event=0xbff190e8) at kernel/qwidget.cpp:7521 #25 0xb728381e in QAbstractButton::event (this=0x95ebec0, e=0xbff190e8) at widgets/qabstractbutton.cpp:1077 #26 0xb736fc3a in QToolButton::event (this=0x95ebec0, event=0xbff190e8) at widgets/qtoolbutton.cpp:1151 #27 0xb6e9ebcc in QApplicationPrivate::notify_helper (this=0x8d570d0, receiver=0x95ebec0, e=0xbff190e8) at kernel/qapplication.cpp:4057 #28 0xb6ea7851 in QApplication::notify (this=0xbff1aa44, receiver=0x95ebec0, e=0xbff190e8) at kernel/qapplication.cpp:3759 #29 0xb7e4ae5d in KApplication::notify (this=0xbff1aa44, receiver=0x95ebec0, event=0xbff190e8) at /build/buildd/kde4libs-4.2.3/kdeui/kernel/kapplication.cpp:307 #30 0xb69ee7ab in QCoreApplication::notifyInternal (this=0xbff1aa44, receiver=0x95ebec0, event=0xbff190e8) at kernel/qcoreapplication.cpp:610 #31 0xb6ea68be in QApplicationPrivate::sendMouseEvent (receiver=0x95ebec0, event=0xbff190e8, alienWidget=0x95ebec0, nativeWidget=0x8e9db80, buttonDown=0xb774aaa0, lastMouseReceiver=@0xb774aaa4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216 #32 0xb6f16aee in QETWidget::translateMouseEvent (this=0x8e9db80, event=0xbff1a77c) at kernel/qapplication_x11.cpp:4448 #33 0xb6f15ead in QApplication::x11ProcessEvent (this=0xbff1aa44, event=0xbff1a77c) at kernel/qapplication_x11.cpp:3444 #34 0xb6f4106a in x11EventSourceDispatch (s=0x8d54588, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #35 0xb4407b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #36 0xb440b0eb in ?? () from /usr/lib/libglib-2.0.so.0 #37 0xb440b268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #38 0xb6a1a1d8 in QEventDispatcherGlib::processEvents (this=0x8d37680, flags={i = -1074681544}) at kernel/qeventdispatcher_glib.cpp:324 #39 0xb6f40765 in QGuiEventDispatcherGlib::processEvents (this=0x8d37680, flags={i = -1074681496}) at kernel/qguieventdispatcher_glib.cpp:202 #40 0xb69ecdda in QEventLoop::processEvents (this=0xbff1a9e0, flags={i = -1074681432}) at kernel/qeventloop.cpp:149 #41 0xb69ed21a in QEventLoop::exec (this=0xbff1a9e0, flags={i = -1074681368}) at kernel/qeventloop.cpp:200 #42 0xb69ef6c9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #43 0xb6e9ea47 in QApplication::exec () at kernel/qapplication.cpp:3526 #44 0x0814c3e8 in main (argc=2, argv=0xbff1af34) at /build/buildd/amarok-2.0.90mysql5.1.30/amarok-2.0.90/src/main.cpp:128 *** Bug 192758 has been marked as a duplicate of this bug. *** SVN commit 969704 by shanachie: Because urls and guid's can contain %-signs followed by numbers QString::arg() is no good. This cause INSERTs to fail and probably was responable for crashes later on. This might also fix bug 192152 because that feed has percent signs as well. I could not reproduce the crash though. BUG:189104 BUG:192152 M +2 -1 ChangeLog M +55 -27 src/podcasts/sql/SqlPodcastMeta.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=969704 |