Summary: | Crash while imap search (with BT) | ||
---|---|---|---|
Product: | [Unmaintained] kmail | Reporter: | Rolf Offermanns <rolf.offermanns> |
Component: | IMAP | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | hentyw, kavol, kde-bugzilla, kde, Mark.Martinec, symbiont |
Priority: | NOR | ||
Version: | 1.8.92 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Backtrace with full debug enabled |
Description
Rolf Offermanns
2005-10-05 12:34:37 UTC
Created attachment 12861 [details]
Backtrace with full debug enabled
*** Bug 114313 has been marked as a duplicate of this bug. *** *** Bug 131285 has been marked as a duplicate of this bug. *** *** Bug 132672 has been marked as a duplicate of this bug. *** Pasting the backtrace: #6 0xb55561a2 in KMFolderSearch::addSerNum (this=0x8e73770, serNum=0) at /home/rolf/kdesvn/kdepim/kmail/kmfoldersearch.cpp:432 #7 0xb555852f in KMFolderSearch::qt_invoke (this=0x8e73770, _id=17, _o=0xbf8d1968) at kmfoldersearch.moc:293 #8 0xb6521037 in QObject::activate_signal (this=0x8dd34a8, clist=0x9264958, o=0xbf8d1968) at kernel/qobject.cpp:2356 #9 0xb5553599 in KMSearch::found (this=0x8dd34a8, t0=0) at kmfoldersearch.moc:114 #10 0xb555783f in KMSearch::slotSearchFolderResult (this=0x8dd34a8, folder=0x84404a0, serNums=@0xbf8d1a28, pattern=0x93f7e18, complete=true) at /home/rolf/kdesvn/kdepim/kmail/kmfoldersearch.cpp:273 #11 0xb5557a79 in KMSearch::qt_invoke (this=0x8dd34a8, _id=4, _o=0xbf8d1aac) at kmfoldersearch.moc:128 #12 0xb6521037 in QObject::activate_signal (this=0x84405a8, clist=0x938deb0, o=0xbf8d1aac) at kernel/qobject.cpp:2356 #13 0xb53e642e in FolderStorage::searchResult (this=0x84405a8, t0=0x84404a0, t1=@0xbf8d1b4c, t2=0x93f7e18, t3=true) at folderstorage.moc:431 #14 0xb54769c9 in KMFolderImap::slotSearchDone (this=0x84405a8, serNums=@0xbf8d1be8, pattern=0x93f7e18, complete=true) at /home/rolf/kdesvn/kdepim/kmail/kmfolderimap.cpp:2196 #15 0xb547eab3 in KMFolderImap::qt_invoke (this=0x84405a8, _id=19, _o=0xbf8d1c70) at kmfolderimap.moc:312 #16 0xb6521037 in QObject::activate_signal (this=0x935e648, clist=0x946e180, o=0xbf8d1c70) at kernel/qobject.cpp:2356 #17 0xb55e3025 in KMail::SearchJob::searchDone (this=0x935e648, t0=@0xbf8d1d1c, t1=0x93f7e18, t2=true) at searchjob.moc:137 #18 0xb55e4ffa in KMail::SearchJob::slotSearchFolder (this=0x935e648) at /home/rolf/kdesvn/kdepim/kmail/searchjob.cpp:225 #19 0xb55e5708 in KMail::SearchJob::qt_invoke (this=0x935e648, _id=2, _o=0xbf8d1e14) at searchjob.moc:158 #20 0xb6521173 in QObject::activate_signal (this=0x84405a8, clist=0x84408e0, o=0xbf8d1e14) at kernel/qobject.cpp:2380 *** Bug 127370 has been marked as a duplicate of this bug. *** I'd call this bug confirmed by now. :-) so do I :-) Yep, reproducible here. kmail: serNumForUID: unknown uid 103547 kmail: serNumForUID: unknown uid 103555 kmail: serNumForUID: unknown uid 103589 kmail: serNumForUID: unknown uid 103590 kmail: serNumForUID: unknown uid 103592 kmail: serNumForUID: unknown uid 103593 kmail: serNumForUID: unknown uid 103601 kmail: serNumForUID: unknown uid 103603 kmail: serNumForUID: unknown uid 103634 kmail: serNumForUID: unknown uid 103637 kmail: serNumForUID: unknown uid 103650 kmail: [void KMSearch::slotSearchFolderResult(KMFolder*, QValueList<unsigned int>, const KMSearchPattern*, bool)] autobuild found 58 kmail: /suse/coolo/prod/kdesvn/kdepim/kmail/kmfoldersearch.cpp:436: void KMFolderSearch::addSerNum(Q_UINT32): Zusicherung »aFolder && (idx != -1)« nicht erfüllt. SVN commit 645363 by wstephens: The check for unmatched UIDs also needs to be carried out after all the folders have been fetched, to exclude the possiblity that the local folder contents changed while the imap search was working. This weeds out unmatched UIDs before passing the search results upwards. BUG: 113885 M +6 -1 searchjob.cpp --- branches/KDE/3.5/kdepim/kmail/searchjob.cpp #645362:645363 @@ -222,7 +222,12 @@ for ( QStringList::Iterator it = mImapSearchHits.begin(); it != mImapSearchHits.end(); ++it ) { - serNums.append( mFolder->serNumForUID( (*it).toULong() ) ); + ulong serNum = mFolder->serNumForUID( (*it).toULong() ); + // we need to check that the local folder does contain a message for this UID. + // scenario: server responds with a list of UIDs. While the search was running, filtering or bad juju moved a message locally + // serNumForUID will happily return 0 for the missing message, and KMFolderSearch::addSerNum() will fail its assertion. + if ( serNum != 0 ) + serNums.append( serNum ); } emit searchDone( serNums, mSearchPattern, true ); } else { *** Bug 115810 has been marked as a duplicate of this bug. *** *** Bug 124321 has been marked as a duplicate of this bug. *** |