Bug 117475

Summary: Crash relating to progress indication, possibly to do with IMAP
Product: [Unmaintained] kmail Reporter: Craig Bradney <cbradney>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 1.9   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Craig Bradney 2005-12-02 00:26:16 UTC
Version:           1.9 (using KDE KDE 3.5.0)
Installed from:    Gentoo Packages
Compiler:          gcc 3.4.4-r1 
OS:                Linux

no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 7123)]
[KCrash handler]
#5  0xb65ecf9d in QObject::receivers () from /usr/qt/3/lib/libqt-mt.so.3
#6  0xb7eb17ee in KPIM::ProgressItem::progressItemProgress (this=0x937c4f8, 
    t0=0x0, t1=5) at progressmanager.moc:137
#7  0xb7eb18ca in KPIM::ProgressItem::setProgress (this=0x0, v=3)
    at progressmanager.cpp:105
#8  0xb56b7d09 in KPIM::ProgressItem::updateProgress (this=0x1)
    at progressmanager.h:134
#9  0xb5626eb5 in KMAcctImap::postProcessNewMail (this=0x899e570, 
    folder=0x869a7b8) at kmacctimap.cpp:384
#10 0xb56272b6 in KMAcctImap::postProcessNewMail (this=0x899e570, 
    folder=0x869a958) at kmacctimap.cpp:374
#11 0xb56580a3 in KMAcctImap::qt_invoke (this=0x899e570, _id=1, _o=0xbfca93c0)
    at kmacctimap.moc:116
#12 0xb65efdfd in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#13 0xb5461632 in KMFolderImap::folderComplete (this=0x869a958, t0=0x0, 
    t1=true) at kmfolderimap.moc:270
#14 0xb548c103 in KMFolderImap::finishMailCheck (this=0x869a958, 
    state=KMFolderImap::imapFinished) at kmfolderimap.cpp:2264
#15 0xb55fb8bb in KMFolderImap::getMessagesResult (this=0x869a958, 
    job=0x8fe4ba0, lastSet=true) at kmfolderimap.cpp:1581
#16 0xb55fb98b in KMFolderImap::slotGetLastMessagesResult (this=0x0, job=0x0)
    at kmfolderimap.cpp:1590
#17 0xb568e302 in KMFolderImap::qt_invoke (this=0x869a958, _id=30, 
    _o=0xbfca95e0) at kmfolderimap.moc:323
#18 0xb65efe74 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb7271076 in KIO::Job::result (this=0x8fe4ba0, t0=0x0)
    at jobclasses.moc:162
#20 0xb729a0a2 in KIO::Job::emitResult (this=0x8fe4ba0) at job.cpp:222
#21 0xb72b7f78 in KIO::SimpleJob::slotFinished (this=0x8fe4ba0) at job.cpp:570
#22 0xb72b859a in KIO::TransferJob::slotFinished (this=0x8fe4ba0)
    at job.cpp:940
#23 0xb7299aae in KIO::TransferJob::qt_invoke (this=0x8fe4ba0, _id=17, 
    _o=0xbfca9980) at jobclasses.moc:1071
#24 0xb65efe74 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#25 0xb65f0592 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#26 0xb726ed1f in KIO::SlaveInterface::finished (this=0x0)
    at slaveinterface.moc:226
#27 0xb72afcf0 in KIO::SlaveInterface::dispatch (this=0x8a668f8, _cmd=104, 
    rawdata=@0xbfca9980) at slaveinterface.cpp:243
#28 0xb7297d2f in KIO::SlaveInterface::dispatch (this=0x8a668f8)
    at slaveinterface.cpp:173
#29 0xb7290675 in KIO::Slave::gotInput (this=0x8a668f8) at slave.cpp:300
#30 0xb729691c in KIO::Slave::qt_invoke (this=0x8a668f8, _id=4, _o=0xbfca9d30)
    at slave.moc:113
#31 0xb65efe74 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#32 0xb65f043a in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#33 0xb6943200 in QSocketNotifier::activated ()
   from /usr/qt/3/lib/libqt-mt.so.3
#34 0xb660c9ff in QSocketNotifier::event () from /usr/qt/3/lib/libqt-mt.so.3
#35 0xb658d22f in QApplication::internalNotify ()
   from /usr/qt/3/lib/libqt-mt.so.3
#36 0xb658d3cc in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#37 0xb6d1036b in KApplication::notify (this=0xbfcaa3b0, receiver=0x8a661e0, 
    event=0xbfcaa140) at kapplication.cpp:550
#38 0xb6580b23 in QEventLoop::activateSocketNotifiers ()
   from /usr/qt/3/lib/libqt-mt.so.3
#39 0xb6539b21 in QEventLoop::processEvents ()
   from /usr/qt/3/lib/libqt-mt.so.3
#40 0xb65a3930 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#41 0xb65a3886 in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#42 0xb658c3df in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#43 0x0806179f in ?? ()
#44 0xbfcaa3b0 in ?? ()
#45 0x0806b58e in typeinfo name for QPtrList<KParts::Part> ()
#46 0x00000000 in ?? ()
#47 0x00000000 in ?? ()
#48 0x00000000 in ?? ()
#49 0x00000001 in ?? ()
#50 0x0806be64 in typeinfo name for QPtrList<KParts::Part> ()
#51 0x00000000 in ?? ()
#52 0x0806ad88 in typeinfo name for QPtrList<KParts::Part> ()
#53 0x0806b3e2 in typeinfo name for QPtrList<KParts::Part> ()
#54 0xbfcaa3b8 in ?? ()
#55 0xb5eabcb1 in malloc () from /lib/libc.so.6
#56 0xb5e5c3b3 in __libc_start_main () from /lib/libc.so.6
#57 0x08059851 in ?? ()

All I know it that it was updating status from IMAP folders.
Comment 1 Andreas Kling 2006-09-17 19:50:49 UTC
SVN commit 585670 by kling:

Use a QGuardedPtr for the KPIM::ProgressItem in KMAccount.
Fixes a bazillion crashes when dereferencing deleted items.

BUG: 105701
BUG: 114953
BUG: 114197
BUG: 117475
BUG: 118083
BUG: 128131
BUG: 129007
BUG: 133023
BUG: 133745


 M  +1 -1      kmaccount.h  


--- branches/KDE/3.5/kdepim/kmail/kmaccount.h #585669:585670
@@ -309,7 +309,7 @@
   QValueList<KMMessage*> mReceipts;
   QPtrList<FolderJob>  mJobList;
   bool mHasInbox : 1;
-  ProgressItem *mMailCheckProgressItem;
+  QGuardedPtr<ProgressItem> mMailCheckProgressItem;
 
 private:
     /**