Bug 114953 - Crash after receiving new messages (backtrace inside)
Summary: Crash after receiving new messages (backtrace inside)
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-23 19:57 UTC by Daniel Hahler
Modified: 2007-09-14 12:17 UTC (History)
0 users

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 Daniel Hahler 2005-10-23 19:57:44 UTC
Version:            (using KDE KDE 3.4.92)
Installed from:    Ubuntu Packages

I had KMail (through Kontact) running in the background and a "New mail arrived" hint box popped up, immediately followed by the KDE Crash Handler.

I'm using kubuntu.org as source for the beta .deb packages.

Backtrace:
(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1241470752 (LWP 11243)]
[KCrash handler]
#7  0xb7e15f54 in KPIM::ProgressItem::setComplete ()
   from /usr/lib/libkdepim.so.1
#8  0xb5566c8d in KMail::ImapAccountBase::removeJob ()
   from /usr/lib/libkmailprivate.so
#9  0xb556c0fb in KMFolderImap::getMessagesResult ()
   from /usr/lib/libkmailprivate.so
#10 0xb556c202 in KMFolderImap::slotGetLastMessagesResult ()
   from /usr/lib/libkmailprivate.so
#11 0xb5620ee4 in KMFolderImap::qt_invoke () from /usr/lib/libkmailprivate.so
#12 0xb67ff929 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#13 0xb73989fa in KIO::Job::result (this=0x89a6c30, t0=0x89a6c30)
    at jobclasses.moc:162
#14 0xb73e96da in KIO::Job::emitResult (this=0x89a6c30) at job.cpp:222
#15 0xb73e984b in KIO::SimpleJob::slotFinished (this=0x89a6c30) at job.cpp:570
#16 0xb73e9f10 in KIO::TransferJob::slotFinished (this=0x89a6c30)
    at job.cpp:938
#17 0xb73eb482 in KIO::TransferJob::qt_invoke (this=0x89a6c30, _id=17, 
    _o=0xbfe0835c) at jobclasses.moc:1071
#18 0xb67ff929 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#19 0xb68003c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#20 0xb7393d59 in KIO::SlaveInterface::finished (this=0x87ba0e8)
    at slaveinterface.moc:226
#21 0xb7402644 in KIO::SlaveInterface::dispatch (this=0x87ba0e8, _cmd=104, 
    rawdata=@0xbfe08520) at slaveinterface.cpp:243
#22 0xb73aa720 in KIO::SlaveInterface::dispatch (this=0x87ba0e8)
    at slaveinterface.cpp:173
#23 0xb73af0f4 in KIO::Slave::gotInput (this=0x87ba0e8) at slave.cpp:300
#24 0xb73af289 in KIO::Slave::qt_invoke (this=0x87ba0e8, _id=4, _o=0xbfe08658)
    at slave.moc:113
#25 0xb67ff929 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#26 0xb6800238 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#27 0xb6b5fc67 in QSocketNotifier::activated () from /usr/lib/libqt-mt.so.3
#28 0xb681ffaa in QSocketNotifier::event () from /usr/lib/libqt-mt.so.3
#29 0xb6796f80 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#30 0xb6797172 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#31 0xb6ee1eec in KApplication::notify (this=0xbfe08c20, receiver=0x87b93f0, 
    event=0xbfe089a0) at kapplication.cpp:550
#32 0xb6727db7 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#33 0xb6788acb in QEventLoop::activateSocketNotifiers ()
   from /usr/lib/libqt-mt.so.3
#34 0xb673ba60 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#35 0xb67aecfb in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#36 0xb67aec1e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#37 0xb6795c13 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#38 0x0805ac7d in ?? ()
#39 0xbfe08c20 in ?? ()
#40 0x00000001 in ?? ()
#41 0x00000001 in ?? ()
#42 0x00000000 in ?? ()
#43 0x00000015 in ?? ()
#44 0x0804ea9b in ?? ()
#45 0x00000008 in ?? ()
#46 0x00000004 in ?? ()
#47 0xb6271cd0 in ?? () from /usr/lib/libstdc++.so.6
#48 0xb6164908 in __malloc_initialize_hook ()
   from /lib/tls/i686/cmov/libc.so.6
#49 0x00000002 in ?? ()
#50 0x00000015 in ?? ()
#51 0x08065468 in vtable for QGList ()
#52 0xb7ef4160 in ?? ()
#53 0x080c3e28 in ?? ()
#54 0x00000000 in ?? ()
#55 0x080c3b80 in ?? ()
#56 0x08177430 in ?? ()
#57 0x08176d10 in ?? ()
#58 0x0817d430 in ?? ()
#59 0x00000000 in ?? ()
#60 0x00000000 in ?? ()
#61 0x00000001 in ?? ()
#62 0x08079810 in ?? ()
#63 0x00000000 in ?? ()
#64 0x00000000 in ?? ()
#65 0x0819d7a0 in ?? ()
#66 0x080c0780 in ?? ()
#67 0x081610b8 in ?? ()
#68 0x08058a00 in ?? ()
#69 0x080654ec in vtable for QGList ()
#70 0x08162160 in ?? ()
#71 0x08161fc0 in ?? ()
#72 0x08181188 in ?? ()
#73 0xb6c924e0 in vtable for QCString () from /usr/lib/libqt-mt.so.3
#74 0x08078590 in ?? ()
#75 0xbfe08d04 in ?? ()
#76 0x08161a90 in ?? ()
#77 0x0807a240 in ?? ()
#78 0x00000126 in ?? ()
#79 0x000001ff in ?? ()
#80 0xb6569ecc in ?? () from /usr/lib/libqt-mt.so.3
#81 0x00000000 in ?? ()
#82 0x0806cf98 in ?? ()
#83 0x08058a01 in ?? ()
#84 0x081a05b0 in ?? ()
#85 0x08183d28 in ?? ()
#86 0xb60449fc in ?? () from /lib/tls/i686/cmov/libc.so.6
#87 0xb603c32c in ?? () from /lib/tls/i686/cmov/libc.so.6
#88 0x080772c8 in ?? ()
#89 0x00000049 in ?? ()
#90 0xb6c75460 in ?? () from /usr/lib/libqt-mt.so.3
#91 0x00000000 in ?? ()
#92 0xb7f0aca0 in _rtld_global () from /lib/ld-linux.so.2
#93 0xbfe08ce8 in ?? ()
#94 0xb67efc5f in QAsciiDict<void>::insert () from /usr/lib/libqt-mt.so.3
#95 0xb604dea2 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#96 0x08058791 in ?? ()
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:
     /**