Bug 208307

Summary: Big memory leak when running in background
Product: [Applications] kmail Reporter: Greg Martyn <greg.martyn>
Component: IMAPAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: bjoern, crglasoe, kollix
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description Greg Martyn 2009-09-23 16:54:54 UTC
Application that crashed: kmail
Version of the application: 1.12.1
KDE Version: 4.3.1 (KDE 4.3.1)
Qt Version: 4.5.2
Operating System: Linux 2.6.30.5-43.fc11.x86_64 x86_64

What I was doing when the application crashed:
KMail was open overnight with no problems. I went through my mail, then closed it. (it remained open in the system tray) My system became sluggish and I noticed that kmail was using gigs of ram. Sent a sigterm (signal 15) then saw the crash dialog.

 -- Backtrace:
Application: KMail (kmail), signal: Aborted
[KCrash Handler]
#26 0x000000389880e6cb in open64 () from /lib64/libpthread.so.0
#27 0x0000003d8a0efaf4 in open (__oflag=<value optimized out>, __path=<value optimized out>) at /usr/include/bits/fcntl2.h:54
#28 _gettemp (__oflag=<value optimized out>, __path=<value optimized out>) at io/qtemporaryfile.cpp:211
#29 qt_mkstemps (__oflag=<value optimized out>, __path=<value optimized out>) at io/qtemporaryfile.cpp:285
#30 QTemporaryFileEngine::open (__oflag=<value optimized out>, __path=<value optimized out>) at io/qtemporaryfile.cpp:355
#31 0x0000003d8a0d6d4b in QFile::open (this=0x7fff2325f150, mode={i = 3}) at io/qfile.cpp:996
#32 0x0000003d8a0ef7cc in QTemporaryFile::open (this=0x7fff2325f150, flags={i = 3}) at io/qtemporaryfile.cpp:762
#33 0x0000003d8b4070b6 in QTemporaryFile::open (this=<value optimized out>) at /usr/include/QtCore/qtemporaryfile.h:82
#34 lockFile (this=<value optimized out>) at /usr/src/debug/kdelibs-4.3.1/kdecore/io/klockfile_unix.cpp:138
#35 KLockFile::lock (this=<value optimized out>) at /usr/src/debug/kdelibs-4.3.1/kdecore/io/klockfile_unix.cpp:264
#36 0x0000003d8c68ca09 in KPCLockFile (filename=<value optimized out>, this=<value optimized out>) at /usr/src/debug/kdelibs-4.3.1/kdeui/util/kpixmapcache.cpp:79
#37 KPixmapCache::find (filename=<value optimized out>, this=<value optimized out>) at /usr/src/debug/kdelibs-4.3.1/kdeui/util/kpixmapcache.cpp:1300
#38 0x0000003d8c5ee12a in KIconCache::find (this=0x1426b40, key=@0x7fff2325f9c0, pix=@0x7fff2325f7b0, path=0x0) at /usr/src/debug/kdelibs-4.3.1/kdeui/icons/kiconcache.cpp:277
#39 0x0000003d8c5e12f2 in KIconLoader::loadIcon (this=0x133e5d0, _name=@0x203b800, group=<value optimized out>, size=16, state=<value optimized out>, overlays=@0x203b808, path_store=0x0, 
    canReturnNull=false) at /usr/src/debug/kdelibs-4.3.1/kdeui/icons/kiconloader.cpp:1139
#40 0x0000003d8c5d8cec in KIconEngine::actualSize (this=<value optimized out>, size=<value optimized out>, mode=<value optimized out>, state=<value optimized out>)
    at /usr/src/debug/kdelibs-4.3.1/kdeui/icons/kiconengine.cpp:80
#41 0x0000003d8ba23fdc in QIcon::actualSize (this=<value optimized out>, size=@0x800c2, mode=384, state=4294967295) at image/qicon.cpp:744
#42 0x0000003d8bf05397 in QStyledItemDelegate::initStyleOption (this=<value optimized out>, option=0x7fff2325fe10, index=@0x7fff23260310) at itemviews/qstyleditemdelegate.cpp:353
#43 0x00007fc751954195 in KPIM::FolderTreeWidgetItemLabelColumnDelegate::paint (this=0x1f777a0, painter=0x7fff23260770, option=<value optimized out>, index=@0x7fff23260310)
    at /usr/src/debug/kdepim-4.3.1/libkdepim/foldertreewidget.cpp:75
#44 0x0000003d8be97789 in QTreeView::drawRow (this=<value optimized out>, painter=<value optimized out>, option=<value optimized out>, index=<value optimized out>) at itemviews/qtreeview.cpp:1640
#45 0x0000003d8be9f32d in QTreeView::drawTree (this=0x1faab40, painter=<value optimized out>, region=<value optimized out>) at itemviews/qtreeview.cpp:1403
#46 0x0000003d8be9fdc3 in QTreeView::paintEvent (this=0x1faab40, event=0x7fff23261350) at itemviews/qtreeview.cpp:1281
#47 0x00007fc751d34a4d in KMail::FolderView::paintEvent (this=0x491b370, e=0x800c2) at /usr/src/debug/kdepim-4.3.1/kmail/folderview.cpp:2136
#48 0x0000003d8b9ddb68 in QWidget::event (this=0x1faab40, event=0x7fff23261350) at kernel/qwidget.cpp:7687
#49 0x0000003d8bd35916 in QFrame::event (this=0x1faab40, e=0x7fff23261350) at widgets/qframe.cpp:559
#50 0x0000003d8be674eb in QAbstractItemView::viewportEvent (this=0x1faab40, event=0x7fff23261350) at itemviews/qabstractitemview.cpp:1476
#51 0x0000003d8be9e490 in QTreeView::viewportEvent (this=0x1faab40, event=0x7fff23261350) at itemviews/qtreeview.cpp:1266
#52 0x0000003d8a13e8e7 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x1ecea90, event=0x7fff23261350) at kernel/qcoreapplication.cpp:726
#53 0x0000003d8b98f66c in QApplicationPrivate::notify_helper (this=0x133ec20, receiver=0x1ecea90, e=0x7fff23261350) at kernel/qapplication.cpp:4052
#54 0x0000003d8b9968fe in QApplication::notify (this=0x7fff232623e0, receiver=0x1ecea90, e=0x7fff23261350) at kernel/qapplication.cpp:4021
#55 0x0000003d8c611b56 in KApplication::notify (this=0x7fff232623e0, receiver=0x1ecea90, event=0x7fff23261350) at /usr/src/debug/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#56 0x0000003d8a13f59c in QCoreApplication::notifyInternal (this=0x7fff232623e0, receiver=0x1ecea90, event=0x7fff23261350) at kernel/qcoreapplication.cpp:610
#57 0x0000003d8b9e4ec3 in QCoreApplication::sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:216
#58 QWidgetPrivate::drawWidget (event=<value optimized out>, receiver=<value optimized out>) at kernel/qwidget.cpp:5079
#59 0x0000003d8bb54c9e in QWidgetBackingStore::sync (this=0x137ae20) at painting/qbackingstore.cpp:1261
#60 0x0000003d8b9d7470 in QWidgetPrivate::syncBackingStore (this=0x16414b0) at kernel/qwidget.cpp:1603
#61 0x0000003d8b9dd981 in QWidget::event (this=0x164bc40, event=0x4913470) at kernel/qwidget.cpp:7827
#62 0x0000003d8bd4ff6b in QMainWindow::event (this=0x164bc40, event=0x4913470) at widgets/qmainwindow.cpp:1399
#63 0x0000003d8c71c803 in KXmlGuiWindow::event (this=0x491b370, ev=0x800c2) at /usr/src/debug/kdelibs-4.3.1/kdeui/xmlgui/kxmlguiwindow.cpp:131
#64 0x0000003d8b98f69c in QApplicationPrivate::notify_helper (this=0x133ec20, receiver=0x164bc40, e=0x4913470) at kernel/qapplication.cpp:4056
#65 0x0000003d8b9968fe in QApplication::notify (this=0x7fff232623e0, receiver=0x164bc40, e=0x4913470) at kernel/qapplication.cpp:4021
#66 0x0000003d8c611b56 in KApplication::notify (this=0x7fff232623e0, receiver=0x164bc40, event=0x4913470) at /usr/src/debug/kdelibs-4.3.1/kdeui/kernel/kapplication.cpp:302
#67 0x0000003d8a13f59c in QCoreApplication::notifyInternal (this=0x7fff232623e0, receiver=0x164bc40, event=0x4913470) at kernel/qcoreapplication.cpp:610
#68 0x0000003d8a1401a2 in QCoreApplication::sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:213
#69 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1247
#70 0x0000003d8a167cc3 in QCoreApplication::sendPostedEvents () at kernel/qcoreapplication.h:218
#71 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:210
#72 0x0000003d8903790e in g_main_dispatch (context=<value optimized out>) at gmain.c:1824
#73 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2377
#74 0x0000003d8903b0e8 in g_main_context_iterate (context=0x1342d20, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2455
#75 0x0000003d8903b20a in IA__g_main_context_iteration (context=0x1342d20, may_block=1) at gmain.c:2518
#76 0x0000003d8a167936 in QEventDispatcherGlib::processEvents (this=0x1305750, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#77 0x0000003d8ba21f8e in QGuiEventDispatcherGlib::processEvents (this=0x491b370, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#78 0x0000003d8a13ded2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 36}) at kernel/qeventloop.cpp:149
#79 0x0000003d8a13e2a4 in QEventLoop::exec (this=0x7fff23262230, flags={i = 0}) at kernel/qeventloop.cpp:201
#80 0x0000003d8a140439 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#81 0x0000000000402e69 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdepim-4.3.1/kmail/main.cpp:146

Reported using DrKonqi
Comment 1 Greg Martyn 2009-09-23 17:13:45 UTC
Ah! I remember what I did that caused this: I performed a search on one of my IMAP folders for emails with attachments, and from the person I was looking for. It said it had to download all the messages in that folder (which is probably a lot). That was somewhat surprising because I was searching based on the FROM, and I thought that that would be stored in the (already downloaded) headers.
Comment 2 Björn Ruberg 2010-03-06 15:10:47 UTC

*** This bug has been marked as a duplicate of bug 88427 ***
Comment 3 Christophe Marin 2012-02-06 17:07:21 UTC
*** Bug 293458 has been marked as a duplicate of this bug. ***
Comment 4 Christophe Marin 2012-02-13 10:53:37 UTC
*** Bug 293735 has been marked as a duplicate of this bug. ***