Bug 128131 - Crash seemingly due to progress bars
Summary: Crash seemingly due to progress bars
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 133454 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-05-27 13:37 UTC by Laurence Withers
Modified: 2007-09-14 12:17 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Laurence Withers 2006-05-27 13:37:37 UTC
Version:            (using KDE KDE 3.5.2)
Installed from:    Compiled From Sources
Compiler:          gcc 4.1.0 
OS:                Linux

KMail crashes a few seconds after starting up. I have one (online) IMAP account, and it seems to connect to this and check what mail is in the folder; then it seems to crash, possibly during/after retrieval of the current email.

I've attached a backtrace, hopefully this will help track the problem down.

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 47934232739456 (LWP 12616)]
[New Thread 1107310928 (LWP 12620)]
[New Thread 1098918224 (LWP 12619)]
[New Thread 1090525520 (LWP 12618)]
[New Thread 1082132816 (LWP 12617)]
[KCrash handler]
#5  0x00002b98895ab3d8 in QMap<KPIM::ProgressItem*, bool>::remove (
    this=0xa4b7e8, k=@0x7fff22fac068) at qmap.h:441
#6  0x00002b98895aa5d7 in KPIM::ProgressItem::removeChild (this=0xa4b770, 
    kiddo=0x9fb3b0) at progressmanager.cpp:74
#7  0x00002b98895aa63e in KPIM::ProgressItem::setComplete (this=0x9fb3b0)
    at progressmanager.cpp:60
#8  0x00002b9887f74274 in KMail::ImapAccountBase::removeJob (this=0x766910, 
    it=@0x30) at imapaccountbase.cpp:1174
#9  0x00002b9887ec601c in KMail::ListJob::slotListResult (this=0x9fb4c0, 
    job=0x91b230) at listjob.cpp:180
#10 0x00002b9887ec6e06 in KMail::ListJob::qt_invoke (this=0x9fb4c0, _id=2, 
    _o=0x7fff22fac190) at listjob.moc:128
#11 0x00002b988c64c222 in QObject::activate_signal (this=0x91b230, 
    clist=<value optimized out>, o=0x7fff22fac190) at kernel/qobject.cpp:2356
#12 0x00002b988adfb082 in KIO::Job::result (this=0x91b230, t0=0x91b230)
    at jobclasses.moc:162
#13 0x00002b988ae03223 in KIO::Job::emitResult (this=0x91b230) at job.cpp:226
#14 0x00002b988ae0490c in KIO::SimpleJob::slotFinished (this=0x91b230)
    at job.cpp:574
#15 0x00002b988ae0686f in KIO::ListJob::slotFinished (this=0x91b230)
    at job.cpp:2095
#16 0x00002b988ae0c9bd in KIO::ListJob::qt_invoke (this=0x91b230, _id=16, 
    _o=0x7fff22fac580) at jobclasses.moc:1734
#17 0x00002b988c64c222 in QObject::activate_signal (this=0x9f3bd0, 
    clist=<value optimized out>, o=0x7fff22fac580) at kernel/qobject.cpp:2356
#18 0x00002b988c64c6af in QObject::activate_signal (this=0x2b988ee97980, 
    signal=<value optimized out>) at kernel/qobject.cpp:2325
#19 0x00002b988adee98a in KIO::SlaveInterface::dispatch (this=0x9f3bd0, 
    _cmd=104, rawdata=@0x7fff22fac850) at slaveinterface.cpp:243
#20 0x00002b988adeda2c in KIO::SlaveInterface::dispatch (this=0x9f3bd0)
    at slaveinterface.cpp:173
#21 0x00002b988adea467 in KIO::Slave::gotInput (this=0x2b988ee97980)
    at slave.cpp:300
#22 0x00002b988adeaafa in KIO::Slave::qt_invoke (this=0x9f3bd0, _id=4, 
    _o=0x7fff22fac980) at slave.moc:113
#23 0x00002b988c64c222 in QObject::activate_signal (this=0x954470, 
    clist=<value optimized out>, o=0x7fff22fac980) at kernel/qobject.cpp:2356
#24 0x00002b988c64c5ea in QObject::activate_signal (this=0x954470, 
    signal=<value optimized out>, param=<value optimized out>)
    at kernel/qobject.cpp:2449
#25 0x00002b988c665497 in QSocketNotifier::event (this=0x954470, 
    e=0x7fff22facc70) at kernel/qsocketnotifier.cpp:258
#26 0x00002b988c5efb9b in QApplication::internalNotify (
    this=<value optimized out>, receiver=0x954470, e=0x7fff22facc70)
    at kernel/qapplication.cpp:2635
#27 0x00002b988c5f0732 in QApplication::notify (this=0x7fff22faced0, 
    receiver=0x954470, e=0x7fff22facc70) at kernel/qapplication.cpp:2358
#28 0x00002b988b94b318 in KApplication::notify (this=0x7fff22faced0, 
    receiver=0x954470, event=0x7fff22facc70) at kapplication.cpp:550
#29 0x00002b988c5e5ee5 in QEventLoop::activateSocketNotifiers (this=0x5b55e0)
    at qapplication.h:496
#30 0x00002b988c59d8d0 in QEventLoop::processEvents (this=0x5b55e0, 
    flags=<value optimized out>) at kernel/qeventloop_x11.cpp:383
#31 0x00002b988c605a43 in QEventLoop::enterLoop (this=0x2b988ee97980)
    at kernel/qeventloop.cpp:198
#32 0x00002b988c60592a in QEventLoop::exec (this=0x2b988ee97980)
    at kernel/qeventloop.cpp:145
#33 0x0000000000402cab in main (argc=<value optimized out>, 
    argv=<value optimized out>) at main.cpp:110

Compiler is gcc-4.1.0, for x86_64 architecture. Let me know if there is anything I can do to get more info.
Comment 1 Andreas Kling 2006-09-02 21:19:49 UTC
*** Bug 133454 has been marked as a duplicate of this bug. ***
Comment 2 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:
     /**