rendered paste bodythe patch:
--> svn diff
Index: kmfoldersearch.cpp
===================================================================
--- kmfoldersearch.cpp (revision 641737)
+++ kmfoldersearch.cpp (working copy)
@@ -433,7 +433,12 @@
int idx = -1;
KMFolder *aFolder = 0;
KMMsgDict::instance()->getLocation(serNum, &aFolder, &idx);
- assert(aFolder && (idx != -1));
+ if ( (!aFolder) || (idx == -1)) {
+ kdDebug(5006) << "addSerNum: serNum: [" << serNum
+ << "], aFolder: [" << aFolder << "], idx: [" << idx
+ << "]. invalid data. returning." << endl;
+ return;
+ }
if(mFolders.findIndex(aFolder) == -1) {
aFolder->open();
// Exceptional case, for when folder has invalid ids
--------------------
the problem that prompted the patch:
System configuration startup check disabled.
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1241671984 (LWP 2795)]
[New Thread -1289077872 (LWP 2800)]
[New Thread -1280685168 (LWP 2799)]
[New Thread -1272292464 (LWP 2798)]
[New Thread -1263899760 (LWP 2797)]
[KCrash handler]
#9 0xb7f98410 in ?? ()
#10 0xbfba9a98 in ?? ()
#11 0x00000006 in ?? ()
#12 0x00000aeb in ?? ()
#13 0xb6006060 in raise () from /lib/libc.so.6
#14 0xb6007801 in abort () from /lib/libc.so.6
#15 0xb5fff7bb in __assert_fail () from /lib/libc.so.6
#16 0xb505dbf2 in KMFolderSearch::addSerNum (this=0x8451e18, serNum=0)
at kmfoldersearch.cpp:436
#17 0xb5061871 in KMFolderSearch::qt_invoke (this=0x8451e18, _id=17,
_o=0xbfba9d18) at kmfoldersearch.moc:293
#18 0xb672b3cd in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0xb505c31e in KMSearch::found (this=0x86e7d18, t0=0)
at kmfoldersearch.moc:114
#20 0xb505eea3 in KMSearch::slotSearchFolderResult (this=0x86e7d18,
folder=0x84f65c0, serNums=@0xbfba9dd8, pattern=0x87f3ec0, complete=true)
at kmfoldersearch.cpp:276
#21 0xb505f0ff in KMSearch::qt_invoke (this=0x86e7d18, _id=4, _o=0xbfba9e5c)
at kmfoldersearch.moc:128
#22 0xb672b3cd in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0xb4ef5fc3 in FolderStorage::searchResult (this=0x84f7658, t0=0x84f65c0,
t1=@0xbfba9efc, t2=0x87f3ec0, t3=true) at folderstorage.moc:431
#24 0xb4f83a69 in KMFolderImap::slotSearchDone (this=0x84f7658,
serNums=@0xbfba9f98, pattern=0x87f3ec0, complete=true)
at kmfolderimap.cpp:2281
#25 0xb4f8e6f5 in KMFolderImap::qt_invoke (this=0x84f7658, _id=19,
_o=0xbfbaa020) at kmfolderimap.moc:332
#26 0xb672b3cd in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0xb50da034 in KMail::SearchJob::searchDone (this=0x85fab08,
t0=@0xbfbaa0d4, t1=0x87f3ec0, t2=true) at searchjob.moc:137
#28 0xb50dacf4 in KMail::SearchJob::slotSearchFolder (this=0x85fab08)
at searchjob.cpp:227
#29 0xb50db44e in KMail::SearchJob::qt_invoke (this=0x85fab08, _id=2,
_o=0xbfbaa1d4) at searchjob.moc:158
#30 0xb672b331 in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#31 0xb4f8340a in KMFolderImap::folderComplete (this=0x84f7658, t0=0x84f7658,
t1=true) at kmfolderimap.moc:276
#32 0xb4f83616 in KMFolderImap::finishMailCheck (this=0x84f7658,
state=KMFolderImap::imapFinished) at kmfolderimap.cpp:2349
#33 0xb4f883f5 in KMFolderImap::slotListFolderResult (this=0x84f7658,
job=0x87e6a20) at kmfolderimap.cpp:1322
#34 0xb4f8e990 in KMFolderImap::qt_invoke (this=0x84f7658, _id=27,
_o=0xbfbaa4a4) at kmfolderimap.moc:340
#35 0xb672b3cd in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#36 0xb72e733e in KIO::Job::result () from /opt/kde3/lib/libkio.so.4
#37 0xb7330ced in KIO::Job::emitResult () from /opt/kde3/lib/libkio.so.4
#38 0xb73481ae in KIO::SimpleJob::slotFinished ()
from /opt/kde3/lib/libkio.so.4
#39 0xb734853d in KIO::ListJob::slotFinished () from /opt/kde3/lib/libkio.so.4
#40 0xb73503be in KIO::ListJob::qt_invoke () from /opt/kde3/lib/libkio.so.4
#41 0xb672b3cd in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#42 0xb672c00d in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#43 0xb72e23bc in KIO::SlaveInterface::finished ()
from /opt/kde3/lib/libkio.so.4
#44 0xb7346ff0 in KIO::SlaveInterface::dispatch ()
from /opt/kde3/lib/libkio.so.4
#45 0xb735831a in KIO::SlaveInterface::dispatch ()
from /opt/kde3/lib/libkio.so.4
#46 0xb72f6bcc in KIO::Slave::gotInput () from /opt/kde3/lib/libkio.so.4
#47 0xb7336580 in KIO::Slave::qt_invoke () from /opt/kde3/lib/libkio.so.4
#48 0xb672b3cd in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#49 0xb672bf12 in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#50 0xb6a65ea0 in QSocketNotifier::activated ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#51 0xb67495f0 in QSocketNotifier::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#52 0xb66cc647 in QApplication::internalNotify ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#53 0xb66cd4f9 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#54 0xb6e161f2 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#55 0xb66c0e01 in QEventLoop::activateSocketNotifiers ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#56 0xb667bb04 in QEventLoop::processEvents ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#57 0xb66e30e0 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#58 0xb66e2f76 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#59 0xb66cc00f in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#60 0x0805af46 in main (argc=1, argv=0xbfbab0a4) at main.cpp:163
...
kmail: serNumForUID: unknown uid 4
kmail: KMFolderImap::checkValidity of: /INBOX/Mein/General/
kmail: serNumForUID: unknown uid 1
kmail: KMFolderImap::checkValidity of: /INBOX/Mein/Java Stuff/
kmail: serNumForUID: unknown uid 10
kmail: KMFolderImap::checkValidity of: /INBOX/Mein/NBM/
kmail: [void KMSearch::slotSearchFolderResult(KMFolder*, QValueList<unsigned int>, const KMSearchPattern*, bool)] Pro Devel found 0
kmail: serNumForUID: unknown uid 10
kmail: KMFolderImap::checkValidity of: /INBOX/Mein/Relo/
kmail: [void KMSearch::slotSearchFolderResult(KMFolder*, QValueList<unsigned int>, const KMSearchPattern*, bool)] Subversion found 0
kmail: serNumForUID: unknown uid 4
kmail: KMFolderImap::checkValidity of: /INBOX/Mein/Support/
kmail: [void KMSearch::slotSearchFolderResult(KMFolder*, QValueList<unsigned int>, const KMSearchPattern*, bool)] Tech Office found 0
kmail: [void KMSearch::slotSearchFolderResult(KMFolder*, QValueList<unsigned int>, const KMSearchPattern*, bool)] Swing found 0
kmail: inbox: serNum 143209 matches?false
kmail: inbox: serNum 143209 matches?false
kmail: KMFolderImap::slotCheckValidityResult of: General
kmail: KMFolderImap::slotCheckValidityResult of: Java%20Stuff
kmail: KMFolderImap::slotCheckValidityResult of: NBM
kmail: KMFolderImap::slotCheckValidityResult of: Relo
kmail: KMFolderImap::slotCheckValidityResult of: Support
kmail: serNumForUID: unknown uid 4
kmail: serNumForUID: unknown uid 5
kmail: serNumForUID: unknown uid 10
kmail: serNumForUID: unknown uid 49
kmail: serNumForUID: unknown uid 50
kmail: [void KMSearch::slotSearchFolderResult(KMFolder*, QValueList<unsigned int>, const KMSearchPattern*, bool)] General found 5
KDE: kmfoldersearch.cpp:436: void KMFolderSearch::addSerNum(Q_UINT32): Assertion `aFolder && (idx != -1)' failed.
*** KMail got signal 6 (Crashing)
KCrash: Application 'kontact' crashing...