Bug 230932 - crash during podcast download [@ SqlPodcastProvider::checkEnclosureLocallyAvailable]
Summary: crash during podcast download [@ SqlPodcastProvider::checkEnclosureLocallyAva...
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Podcast (show other bugs)
Version: 2.3.0
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 231016 233151 235397 238613 240406 242219 245983 248944 251231 252011 268776 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-03-16 08:57 UTC by Ritesh Raj Sarraf
Modified: 2011-03-19 12:57 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.3.1
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ritesh Raj Sarraf 2010-03-16 08:57:51 UTC
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
Comment 1 Myriam Schweingruber 2010-03-16 20:44:57 UTC
*** Bug 231016 has been marked as a duplicate of this bug. ***
Comment 2 Myriam Schweingruber 2010-03-16 20:45:24 UTC
Confirmed by duplicate
Comment 3 Bart Cerneels 2010-03-17 20:29:11 UTC
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;
Comment 4 Mikko C. 2010-04-03 12:14:21 UTC
*** Bug 233151 has been marked as a duplicate of this bug. ***
Comment 5 Sven Krohlas 2010-04-25 22:56:32 UTC
*** Bug 235397 has been marked as a duplicate of this bug. ***
Comment 6 Sven Krohlas 2010-05-24 14:37:15 UTC
*** Bug 238613 has been marked as a duplicate of this bug. ***
Comment 7 Mikko C. 2010-06-02 07:48:37 UTC
*** Bug 240406 has been marked as a duplicate of this bug. ***
Comment 8 Myriam Schweingruber 2010-06-21 01:32:50 UTC
*** Bug 242219 has been marked as a duplicate of this bug. ***
Comment 9 Myriam Schweingruber 2010-07-28 09:58:07 UTC
*** Bug 245983 has been marked as a duplicate of this bug. ***
Comment 10 Myriam Schweingruber 2010-08-25 01:12:44 UTC
*** Bug 248944 has been marked as a duplicate of this bug. ***
Comment 11 Myriam Schweingruber 2010-09-15 08:46:10 UTC
*** Bug 251231 has been marked as a duplicate of this bug. ***
Comment 12 Myriam Schweingruber 2010-09-22 14:05:48 UTC
*** Bug 252011 has been marked as a duplicate of this bug. ***
Comment 13 Myriam Schweingruber 2011-03-19 12:57:01 UTC
*** Bug 268776 has been marked as a duplicate of this bug. ***