Application: amarok (2.3.0) KDE Platform Version: 4.4.1 (KDE 4.4.1) Qt Version: 4.6.2 Operating System: Linux 2.6.32-3-amd64 x86_64 Distribution: Debian GNU/Linux testing (squeeze) -- Information about the crash: amark was downloading podcasts and sometime later it crashed -- Backtrace: Application: Amarok (amarok), signal: Segmentation fault The current source language is "auto; currently c". [Current thread is 1 (Thread 0x7fd163ba9810 (LWP 29887))] Thread 15 (Thread 0x7fd1418cc910 (LWP 29889)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220 #1 0x00007fd147558f41 in metronom_sync_loop (this=0x239b020) at metronom.c:870 #2 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #3 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #4 0x0000000000000000 in ?? () Thread 14 (Thread 0x7fd1410cb910 (LWP 29890)): #0 0x00007fd160a6d743 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007fd1599b30ac in g_main_context_poll (context=0x22a62a0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:2904 #2 g_main_context_iterate (context=0x22a62a0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:2586 #3 0x00007fd1599b33f0 in IA__g_main_context_iteration (context=0x22a62a0, may_block=1) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:2654 #4 0x00007fd1620ad286 in QEventDispatcherGlib::processEvents (this=0x231b770, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #5 0x00007fd162082702 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #6 0x00007fd162082adc in QEventLoop::exec (this=0x7fd1410caf30, flags=) at kernel/qeventloop.cpp:201 #7 0x00007fd161f8cbd9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #8 0x00007fd1477b43ce in Phonon::Xine::XineThread::run (this=0x2318c80) at ../../xine/xinethread.cpp:143 #9 0x00007fd161f8f5d5 in QThreadPrivate::start (arg=0x2318c80) at thread/qthread_unix.cpp:248 #10 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #11 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #12 0x0000000000000000 in ?? () The current source language is "auto; currently asm". Thread 13 (Thread 0x7fd1406c6910 (LWP 29891)): #0 0x00007fd160a6d743 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007fd157f90d0d in poll_func (ufds=0x231b190, nfds=2, timeout=-1, userdata=0x231a7e0) at pulse/thread-mainloop.c:75 #2 0x00007fd157f80cc3 in pa_mainloop_poll (m=0x231a6e0) at pulse/mainloop.c:879 #3 0x00007fd157f82088 in pa_mainloop_iterate (m=0x231a6e0, block=<value optimized out>, retval=0x0) at pulse/mainloop.c:961 #4 0x00007fd157f82140 in pa_mainloop_run (m=0x231a6e0, retval=0x0) at pulse/mainloop.c:979 #5 0x00007fd157f90b1d in thread (userdata=0x239c5e0) at pulse/thread-mainloop.c:94 #6 0x00007fd154e56a00 in internal_thread_func (userdata=0x231a890) at pulsecore/thread-posix.c:72 #7 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #8 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #9 0x0000000000000000 in ?? () The current source language is "auto; currently c". Thread 12 (Thread 0x7fd13bec4910 (LWP 29892)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd147569a3b in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348 #2 fifo_peek (this_gen=<value optimized out>) at audio_out.c:388 #3 ao_loop (this_gen=<value optimized out>) at audio_out.c:1015 #4 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #5 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #6 0x0000000000000000 in ?? () Thread 11 (Thread 0x7fd13b2ba910 (LWP 29893)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd147569a3b in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348 #2 fifo_peek (this_gen=<value optimized out>) at audio_out.c:388 #3 ao_loop (this_gen=<value optimized out>) at audio_out.c:1015 #4 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #5 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #6 0x0000000000000000 in ?? () The current source language is "auto; currently asm". Thread 10 (Thread 0x7fd13aab9910 (LWP 29894)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd147569a3b in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348 #2 fifo_peek (this_gen=<value optimized out>) at audio_out.c:388 #3 ao_loop (this_gen=<value optimized out>) at audio_out.c:1015 #4 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #5 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #6 0x0000000000000000 in ?? () Thread 9 (Thread 0x7fd13a2b8910 (LWP 29895)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd147569a3b in fifo_peek_int (this_gen=<value optimized out>) at audio_out.c:348 #2 fifo_peek (this_gen=<value optimized out>) at audio_out.c:388 #3 ao_loop (this_gen=<value optimized out>) at audio_out.c:1015 #4 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #5 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #6 0x0000000000000000 in ?? () Thread 8 (Thread 0x7fd12e528910 (LWP 29902)): #0 0x00007fd160a71f82 in select () from /lib/libc.so.6 #1 0x00007fd147581a15 in xine_usec_sleep (usec=<value optimized out>) at utils.c:481 #2 0x00007fd1475668e9 in video_out_loop (this_gen=<value optimized out>) at video_out.c:1246 #3 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #4 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 7 (Thread 0x7fd12d901910 (LWP 29903)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd15c2694e6 in ?? () from /usr/lib/libQtWebKit.so.4 #2 0x00007fd15c269529 in ?? () from /usr/lib/libQtWebKit.so.4 #3 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #4 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () The current source language is "auto; currently c". Thread 6 (Thread 0x7fd12c152910 (LWP 29904)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd161f9059b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007fd15dd5cfe6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3df2fe0, th=0x3df4260) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007fd15dd5f66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df4260) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df4260) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #6 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df4260) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #7 0x00007fd15dd5dbbf in ThreadWeaver::ThreadRunHelper::run (this=0x7fd12c151f90, parent=0x3df2fe0, th=0x3df4260) at ../../../threadweaver/Weaver/Thread.cpp:87 #8 0x00007fd15dd5e128 in ThreadWeaver::Thread::run (this=0x3df4260) at ../../../threadweaver/Weaver/Thread.cpp:142 #9 0x00007fd161f8f5d5 in QThreadPrivate::start (arg=0x3df4260) at thread/qthread_unix.cpp:248 #10 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #11 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #12 0x0000000000000000 in ?? () The current source language is "auto; currently asm". Thread 5 (Thread 0x7fd12b951910 (LWP 29905)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd161f9059b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007fd15dd5cfe6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3df2fe0, th=0x3df5a20) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007fd15dd5f66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df5a20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df5a20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #6 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df5a20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #7 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df5a20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #8 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3df5a20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #9 0x00007fd15dd5dbbf in ThreadWeaver::ThreadRunHelper::run (this=0x7fd12b950f90, parent=0x3df2fe0, th=0x3df5a20) at ../../../threadweaver/Weaver/Thread.cpp:87 #10 0x00007fd15dd5e128 in ThreadWeaver::Thread::run (this=0x3df5a20) at ../../../threadweaver/Weaver/Thread.cpp:142 #11 0x00007fd161f8f5d5 in QThreadPrivate::start (arg=0x3df5a20) at thread/qthread_unix.cpp:248 #12 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #13 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #14 0x0000000000000000 in ?? () Thread 4 (Thread 0x7fd12b150910 (LWP 29906)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd161f9059b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007fd15dd5cfe6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3df2fe0, th=0x3e79420) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007fd15dd5f66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3e79420) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007fd15dd5dbbf in ThreadWeaver::ThreadRunHelper::run (this=0x7fd12b14ff90, parent=0x3df2fe0, th=0x3e79420) at ../../../threadweaver/Weaver/Thread.cpp:87 #6 0x00007fd15dd5e128 in ThreadWeaver::Thread::run (this=0x3e79420) at ../../../threadweaver/Weaver/Thread.cpp:142 #7 0x00007fd161f8f5d5 in QThreadPrivate::start (arg=0x3e79420) at thread/qthread_unix.cpp:248 #8 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #9 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 3 (Thread 0x7fd12a94f910 (LWP 29907)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd161f9059b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x3df3d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007fd15dd5cfe6 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x3df2fe0, th=0x3e81730) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007fd15dd5f66b in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3e81730) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007fd15dd5f684 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3df2c90, th=0x3e81730) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #6 0x00007fd15dd5dbbf in ThreadWeaver::ThreadRunHelper::run (this=0x7fd12a94ef90, parent=0x3df2fe0, th=0x3e81730) at ../../../threadweaver/Weaver/Thread.cpp:87 #7 0x00007fd15dd5e128 in ThreadWeaver::Thread::run (this=0x3e81730) at ../../../threadweaver/Weaver/Thread.cpp:142 #8 0x00007fd161f8f5d5 in QThreadPrivate::start (arg=0x3e81730) at thread/qthread_unix.cpp:248 #9 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #10 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 2 (Thread 0x7fd1254a2910 (LWP 29933)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007fd15d5c1686 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fd15d89f2c0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304 #2 0x00007fd15d5c16c9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fd15d8ad38c) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438 #3 0x00007fd15b94173a in start_thread (arg=<value optimized out>) at pthread_create.c:300 #4 0x00007fd160a7869d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fd163ba9810 (LWP 29887)): [KCrash Handler] #5 0x0000000000000033 in ?? () #6 0x00007fd162b82f82 in SqlPodcastProvider::checkEnclosureLocallyAvailable (this=0x2c36130, job=0x47a1c00) at ../../src/podcasts/sql/SqlPodcastProvider.cpp:1090 #7 0x00007fd162b83e13 in SqlPodcastProvider::addData (this=0x2c36130, job=0x47a1c00, data=...) at ../../src/podcasts/sql/SqlPodcastProvider.cpp:1126 #8 0x00007fd162b8e068 in SqlPodcastProvider::qt_metacall (this=0x2c36130, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff6bf20100) at ./SqlPodcastProvider.moc:125 #9 0x00007fd162096b1f in QMetaObject::activate (sender=0x47a1c00, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x47a1c00) at kernel/qobject.cpp:3293 #10 0x00007fd15aeced54 in KIO::TransferJob::data (this=0x7fff6bf1fe40, _t1=0x47a1c00, _t2=<value optimized out>) at ./jobclasses.moc:388 #11 0x00007fd15aed1570 in KIO::TransferJob::slotData (this=0x47a1c00, _data=...) at ../../kio/kio/job.cpp:953 #12 0x00007fd15aed4c36 in KIO::TransferJob::qt_metacall (this=0x47a1c00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff6bf202e0) at ./jobclasses.moc:368 #13 0x00007fd162096b1f in QMetaObject::activate (sender=0x41fafc0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x47a1c00) at kernel/qobject.cpp:3293 #14 0x00007fd15af94bc2 in KIO::SlaveInterface::data (this=0x7fff6bf1fe40, _t1=<value optimized out>) at ./slaveinterface.moc:146 #15 0x00007fd15af97bb0 in KIO::SlaveInterface::dispatch (this=0x41fafc0, _cmd=100, rawdata=...) at ../../kio/kio/slaveinterface.cpp:163 #16 0x00007fd15af94e73 in KIO::SlaveInterface::dispatch (this=0x41fafc0) at ../../kio/kio/slaveinterface.cpp:91 #17 0x00007fd15af892e6 in KIO::Slave::gotInput (this=0x41fafc0) at ../../kio/kio/slave.cpp:324 #18 0x00007fd15af894cc in KIO::Slave::qt_metacall (this=0x41fafc0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff6bf206d0) at ./slave.moc:82 #19 0x00007fd162096b1f in QMetaObject::activate (sender=0x33e87c0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x47a1c00) at kernel/qobject.cpp:3293 #20 0x00007fd15aea5b37 in KIO::ConnectionPrivate::dequeue (this=0x2fa31f0) at ../../kio/kio/connection.cpp:82 #21 0x00007fd15aea5c5d in KIO::Connection::qt_metacall (this=0x33e87c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x48453e0) at ./connection.moc:79 #22 0x00007fd162093a29 in QObject::event (this=0x33e87c0, e=0x306f1f0) at kernel/qobject.cpp:1248 #23 0x00007fd1614228fc in QApplicationPrivate::notify_helper (this=0x2131af0, receiver=0x33e87c0, e=0x306f1f0) at kernel/qapplication.cpp:4300 #24 0x00007fd161428ddb in QApplication::notify (this=0x7fff6bf21260, receiver=0x33e87c0, e=0x306f1f0) at kernel/qapplication.cpp:4183 #25 0x00007fd162ddab1a in App::notify (this=0x7fff6bf1fe40, receiver=0x4aff5c0, event=0x1) at ../../src/App.cpp:917 #26 0x00007fd162083ddc in QCoreApplication::notifyInternal (this=0x7fff6bf21260, receiver=0x33e87c0, event=0x306f1f0) at kernel/qcoreapplication.cpp:704 #27 0x00007fd162086557 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1fea640) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #28 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1fea640) at kernel/qcoreapplication.cpp:1345 #29 0x00007fd1620ad6f3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #30 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276 #31 0x00007fd1599af90e in g_main_dispatch (context=0x2145880) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:1960 #32 IA__g_main_context_dispatch (context=0x2145880) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:2513 #33 0x00007fd1599b32c8 in g_main_context_iterate (context=0x2145880, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:2591 #34 0x00007fd1599b33f0 in IA__g_main_context_iteration (context=0x2145880, may_block=1) at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c:2654 #35 0x00007fd1620ad233 in QEventDispatcherGlib::processEvents (this=0x1fea240, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #36 0x00007fd1614d232e in QGuiEventDispatcherGlib::processEvents (this=0x7fff6bf1fe40, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #37 0x00007fd162082702 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #38 0x00007fd162082adc in QEventLoop::exec (this=0x7fff6bf211f0, flags=) at kernel/qeventloop.cpp:201 #39 0x00007fd16208681b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #40 0x000000000040a3c4 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../src/main.cpp:237 The current source language is "auto; currently c". Reported using DrKonqi
*** Bug 231016 has been marked as a duplicate of this bug. ***
Confirmed by duplicate
commit c654f9ebeea978fdac50240711a3e927ac050fa4 Author: Bart Cerneels <bart.cerneels@kde.org> Date: Wed Mar 17 20:27:28 2010 +0100 Use of ksharedptr prevents dangling pointers. BUG:230932 diff --git a/src/podcasts/sql/SqlPodcastProvider.cpp b/src/podcasts/sql/SqlPodcastProvider.cpp index 2f37c57..9181183 100644 --- a/src/podcasts/sql/SqlPodcastProvider.cpp +++ b/src/podcasts/sql/SqlPodcastProvider.cpp @@ -968,7 +968,7 @@ SqlPodcastProvider::downloadEpisode( Meta::SqlPodcastEpisodePtr sqlEpisode ) return; } - if( m_downloadJobMap.values().contains( sqlEpisode.data() ) ) + if( m_downloadJobMap.values().contains( sqlEpisode ) ) { debug() << "already downloading " << sqlEpisode->uidUrl(); return; @@ -988,7 +988,7 @@ SqlPodcastProvider::downloadEpisode( Meta::SqlPodcastEpisodePtr sqlEpisode ) KIO::TransferJob *transferJob = KIO::get( sqlEpisode->uidUrl(), KIO::Reload, KIO::HideProgressInfo ); - m_downloadJobMap[transferJob] = sqlEpisode.data(); + m_downloadJobMap[transferJob] = sqlEpisode; m_fileNameMap[transferJob] = KUrl( sqlEpisode->uidUrl() ).fileName(); debug() << "starting download for " << sqlEpisode->title() @@ -1041,15 +1041,15 @@ SqlPodcastProvider::createTmpFile( KJob *job ) { DEBUG_BLOCK - Meta::SqlPodcastEpisode *sqlEpisode = m_downloadJobMap.value( job ); - if( sqlEpisode == 0 ) + Meta::SqlPodcastEpisodePtr sqlEpisode = m_downloadJobMap.value( job ); + if( sqlEpisode.isNull() ) { error() << "sqlEpisodePtr is NULL after download"; return 0; } Meta::SqlPodcastChannelPtr sqlChannel = Meta::SqlPodcastChannelPtr::dynamicCast( sqlEpisode->channel() ); - if( !sqlChannel ) + if( sqlChannel.isNull() ) { error() << "sqlChannelPtr is NULL after download"; return 0; @@ -1080,15 +1080,15 @@ SqlPodcastProvider::createTmpFile( KJob *job ) bool SqlPodcastProvider::checkEnclosureLocallyAvailable( KIO::Job *job ) { - Meta::SqlPodcastEpisode *sqlEpisode = m_downloadJobMap.value( job ); - if( sqlEpisode == 0 ) + Meta::SqlPodcastEpisodePtr sqlEpisode = m_downloadJobMap.value( job ); + if( sqlEpisode.isNull() ) { error() << "sqlEpisodePtr is NULL after download"; return false; } Meta::SqlPodcastChannelPtr sqlChannel = Meta::SqlPodcastChannelPtr::dynamicCast( sqlEpisode->channel() ); - if( !sqlChannel ) + if( sqlChannel.isNull() ) { error() << "sqlChannelPtr is NULL after download"; return false; @@ -1098,14 +1098,12 @@ SqlPodcastProvider::checkEnclosureLocallyAvailable( KIO::Job *job ) fileName += m_fileNameMap.value( job ); debug() << "checking " << fileName; QFileInfo fileInfo( fileName ); - if ( !fileInfo.exists() ) - { + if( !fileInfo.exists() ) return false; - } debug() << fileName << " already exists, no need to redownload"; // NOTE: we need to emit because the KJobProgressBar relies on it to clean up - job->kill(KJob::EmitResult); + job->kill( KJob::EmitResult ); sqlEpisode->setLocalUrl( fileName ); emit( updated() ); // repaint icons return true; @@ -1185,8 +1183,8 @@ SqlPodcastProvider::downloadResult( KJob *job ) } else { - Meta::SqlPodcastEpisode *sqlEpisode = m_downloadJobMap.value( job ); - if( sqlEpisode == 0 ) + Meta::SqlPodcastEpisodePtr sqlEpisode = m_downloadJobMap.value( job ); + if( sqlEpisode.isNull() ) { error() << "sqlEpisodePtr is NULL after download"; cleanupDownload( job, true ); @@ -1194,7 +1192,7 @@ SqlPodcastProvider::downloadResult( KJob *job ) } Meta::SqlPodcastChannelPtr sqlChannel = Meta::SqlPodcastChannelPtr::dynamicCast( sqlEpisode->channel() ); - if( !sqlChannel ) + if( sqlChannel.isNull() ) { error() << "sqlChannelPtr is NULL after download"; cleanupDownload( job, true ); diff --git a/src/podcasts/sql/SqlPodcastProvider.h b/src/podcasts/sql/SqlPodcastProvider.h index 1b25c32..2bf7b0e 100644 --- a/src/podcasts/sql/SqlPodcastProvider.h +++ b/src/podcasts/sql/SqlPodcastProvider.h @@ -144,7 +144,7 @@ class SqlPodcastProvider : public PodcastProvider Meta::PodcastChannelList m_updateQueue; QList<KUrl> m_subscribeQueue; - QHash<KJob *, Meta::SqlPodcastEpisode *> m_downloadJobMap; + QHash<KJob *, Meta::SqlPodcastEpisodePtr> m_downloadJobMap; QHash<KJob *, QString> m_fileNameMap; QHash<KJob *, QFile*> m_tmpFileMap;
*** Bug 233151 has been marked as a duplicate of this bug. ***
*** Bug 235397 has been marked as a duplicate of this bug. ***
*** Bug 238613 has been marked as a duplicate of this bug. ***
*** Bug 240406 has been marked as a duplicate of this bug. ***
*** Bug 242219 has been marked as a duplicate of this bug. ***
*** Bug 245983 has been marked as a duplicate of this bug. ***
*** Bug 248944 has been marked as a duplicate of this bug. ***
*** Bug 251231 has been marked as a duplicate of this bug. ***
*** Bug 252011 has been marked as a duplicate of this bug. ***
*** Bug 268776 has been marked as a duplicate of this bug. ***