kmail hanging/eating CPU when deleting a particular message from this list

Ingo Klöcker kloecker at kde.org
Sun Jul 17 22:01:28 BST 2005


On Sunday 17 July 2005 20:04, Ingo Klöcker wrote:
> On Sunday 17 July 2005 19:56, Ingo Klöcker wrote:
> > On Sunday 17 July 2005 19:50, Michael Nottebrock wrote:
> > > I know it's somewhat offtopic for kde-core-devel, but since it's
> > > rather likely that there are many kmail users here and everybody
> > > on here probably has the list subscribed .... :)
> > >
> > > There is a mail on this list (Message-Id:
> > > <202411191405.58509.m.koller at surfeu.at>) by Martin Koller,
> > > subject "desktop/kicker + icon placement", with a date set in the
> > > future (year 2024).
> > >
> > > When I try to *delete* that mail only, kmail goes off and starts
> > > munching CPU like mad. Does anyone else see this? This is with
> > > kmail from KDE 3.4.1.
> >
> > Delete? or Move to Trash? Can you make your kde-core-devel folder
> > including all corresponding index files available to me?
>
> Forget it. I could reproduce it. Unfortunately kill -6 produces a
> completely bogus backtrace.

Running kmail in gdb I could get a useful backtrace:

#0  0x41e9bc09 in QListViewItem::takeItem () 
from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x41e8c2a6 in QListViewItem::~QListViewItem () 
from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x41734cff in KListViewItem::~KListViewItem () 
from /opt/kde3/lib/libkdeui.so.4
#3  0x402a08bd in ~HeaderItem (this=0xa4f1e58) 
at /home/ingo/cvs/kde/trunk/KDE/kdepim/kmail/headeritem.cpp:68
#4  0x40293366 in KMHeaders::msgRemoved (this=0x9405598, id=25750, 
msgId=
      {static null = {static null = <same as static member of an already 
seen type>, d = 0x804f0c0, static shar
ed_null = 0x804f0c0}, d = 0x89bab18, static shared_null = 0x804f0c0})
    at /home/ingo/cvs/kde/trunk/KDE/kdepim/kmail/kmheaders.cpp:1115
#5  0x4029d113 in KMHeaders::qt_invoke (this=0x9405598, _id=113, 
_o=0xbfffe010) at kmheaders.moc:301
#6  0x41da3e7e in QObject::activate_signal () 
from /usr/lib/qt3/lib/libqt-mt.so.3
#7  0x402ce15d in KMFolder::msgRemoved (this=0x8908cb0, t0=25750, t1=
      {static null = {static null = <same as static member of an already 
seen type>, d = 0x804f0c0, static shar
ed_null = 0x804f0c0}, d = 0x89bab18, static shared_null = 0x804f0c0}) at 
kmfolder.moc:254
#8  0x402cebc2 in KMFolder::qt_emit (this=0x8908cb0, _id=9, 
_o=0xbfffe120) at kmfolder.moc:381
#9  0x41da3eb1 in QObject::activate_signal () 
from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0x402ea4cf in FolderStorage::msgRemoved (this=0x8908e28, t0=25750, 
t1=
      {static null = {static null = <same as static member of an already 
seen type>, d = 0x804f0c0, static shar
ed_null = 0x804f0c0}, d = 0x89bab18, static shared_null = 0x804f0c0}) at 
folderstorage.moc:320
#11 0x402e6cfb in FolderStorage::removeMsg (this=0x8908e28, idx=25750)
    at /home/ingo/cvs/kde/trunk/KDE/kdepim/kmail/folderstorage.cpp:405
#12 0x402cc407 in KMFolder::removeMsg (this=0x8908cb0, i=25750, 
imapQuiet=false)
    at /home/ingo/cvs/kde/trunk/KDE/kdepim/kmail/kmfolder.cpp:392
#13 0x40413669 in KMMoveCommand::execute (this=0x97370f0)
    at /home/ingo/cvs/kde/trunk/KDE/kdepim/kmail/kmcommands.cpp:1927


It seems KMail hangs in an infinite loop inside 
QListViewItem::takeItem(). (Bug in Qt? Or does our code confuse 
QListView?)

Can someone who uses a Qt with debug information please check what 
exactly is the problem? (gdb kmail; then run --nofork; make KMail hang; 
Ctrl+C; bt; then step through QListViewItem::takeItem()).

Regards,
Ingo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050717/2015db2c/attachment.sig>


More information about the kde-core-devel mailing list