Version: 1.0-beta8 (using KDE 3.3.90 (alpha1, CVS >= 20041206), Gentoo) Compiler: gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6) OS: Linux (i686) release 2.6.9-gentoo-r6y This happened several times after I launched aKregator Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 21014)] [KCrash handler] #5 0x702f7301 in ?? () #6 0x40039f79 in RSS::FileRetriever::slotTimeout() () from /usr/kde/cvs/lib/libakregatorprivate.so.0 #7 0x4003b8fa in RSS::FileRetriever::qt_invoke(int, QUObject*) () from /usr/kde/cvs/lib/libakregatorprivate.so.0 #8 0x416fcdac in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/qt/3/lib/libqt-mt.so.3 #9 0x41a3b60a in QSignal::signal(QVariant const&) () from /usr/qt/3/lib/libqt-mt.so.3 #10 0x41716f5d in QSignal::activate() () from /usr/qt/3/lib/libqt-mt.so.3 #11 0x4171e713 in QSingleShotTimer::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3 #12 0x416a097f in QApplication::internalNotify(QObject*, QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3 #13 0x4169fce5 in QApplication::notify(QObject*, QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3 #14 0x4122d78c in KApplication::notify(QObject*, QEvent*) () from /usr/kde/cvs/lib/libkdecore.so.4 #15 0x4168ffe5 in QEventLoop::activateTimers() () from /usr/qt/3/lib/libqt-mt.so.3 #16 0x4164a8ab in QEventLoop::processEvents(unsigned) () from /usr/qt/3/lib/libqt-mt.so.3 #17 0x416b2b48 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3 #18 0x416b29f8 in QEventLoop::exec() () from /usr/qt/3/lib/libqt-mt.so.3 #19 0x416a0bd1 in QApplication::exec() () from /usr/qt/3/lib/libqt-mt.so.3 #20 0x080517a1 in ?? () #21 0xbffff420 in ?? () #22 0xbffff3d0 in ?? () #23 0x080549c7 in _IO_stdin_used ()
Could this happen because abort() deletes 'this' and thus d is also removed? Frank, please take a look at this, as you know your code better :)
CVS commit by osterfeld: Don't crash on timeout. BUG: 95838 M +1 -1 loader.cpp 1.18 --- kdepim/akregator/src/librss/loader.cpp #1.17:1.18 @@ -132,5 +132,4 @@ void FileRetriever::abort() d->job = NULL; } - delete this; } @@ -273,4 +272,5 @@ void Loader::abort() { d->retriever->abort(); + delete d->retriever; d->retriever=NULL; }