[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    [Bug 92540] kmail sometimes freezes when deleting messages
From:       Richard "Lärkäng" <richard () goteborg ! utfors ! se>
Date:       2005-11-29 18:44:00
Message-ID: 20051129184400.25416.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=92540         




------- Additional Comments From richard goteborg utfors se  2005-11-29 19:43 -------
This happened again with kdepim 3.5-branch from around rc1.

It got stuck this time too in QListView::itemAbove, where it was stuck in:
         while( c && c->siblingItem != this )
             c = c->siblingItem;
because c was the same as c->siblingItem.

So I added asserts in qlistview.cpp everywhere where siblingItem was assigned to \
something, to check if there were any assignments of the kind item->siblingItem = \
item

And the assert was triggered when trying to delete the same message again with this \
backtrace:

Using host libthread_db library "/lib/tls/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1252845856 (LWP 15531)]
[KCrash handler]
#4  0xffffe410 in __kernel_vsyscall ()
#5  0xb5d96391 in raise () from /lib/tls/libc.so.6
#6  0xb5d97dad in abort () from /lib/tls/libc.so.6
#7  0xb5d8fc62 in __assert_fail () from /lib/tls/libc.so.6
#8  0xb6615fe8 in QListViewItem::insertItem (this=0x857a5a8, 
    newChild=0x85940e0) at qlistview.cpp:1176
#9  0xb661ba30 in QListView::insertItem (this=0x8577de0, i=0x85940e0)
    at qlistview.cpp:3203
#10 0xb4dc5117 in KMHeaders::msgRemoved (this=0x8577de0, id=2, msgId=
      {static null = {static null = <same as static member of an already seen type>, \
d = 0x8074388, static shared_null = 0x8074388}, d = 0x853d408, static shared_null = \
0x8074388})  at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmheaders.cpp:1088
#11 0xb4dcf20d in KMHeaders::qt_invoke (this=0x8577de0, _id=112, _o=0xbf9cdfb0)
    at kmheaders.moc:301
#12 0xb652ac1f in QObject::activate_signal (this=0x853ced8, clist=0x86a2490, 
    o=0xbf9cdfb0) at qobject.cpp:2356
#13 0xb4e01685 in KMFolder::msgRemoved (this=0x853ced8, t0=2, t1=
      {static null = {static null = <same as static member of an already seen type>, \
d = 0x8074388, static shared_null = 0x8074388}, d = 0x853d408, static shared_null = \
0x8074388}) at kmfolder.moc:254 #14 0xb4e02047 in KMFolder::qt_emit (this=0x853ced8, \
_id=9, _o=0xbf9ce0d0)  at kmfolder.moc:381
#15 0xb652abf3 in QObject::activate_signal (this=0x853cfe0, clist=0x853d740, 
    o=0xbf9ce0d0) at qobject.cpp:2354
#16 0xb4e1e745 in FolderStorage::msgRemoved (this=0x853cfe0, t0=2, t1=
      {static null = {static null = <same as static member of an already seen type>, \
d = 0x8074388, static shared_null = 0x8074388}, d = 0x853d408, static shared_null = \
0x8074388}) at folderstorage.moc:320 #17 0xb4e1b283 in FolderStorage::take \
(this=0x853cfe0, idx=2)  at \
/home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/folderstorage.cpp:441 #18 0xb4ecdd3c \
in KMFolderMaildir::take (this=0x853cfe0, idx=2)  at \
/home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmfoldermaildir.cpp:941 #19 \
0xb4dff93e in KMFolder::take (this=0x853ced8, idx=2)  at \
/home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmfolder.cpp:364 #20 0xb4ecb2a9 in \
KMFolderMaildir::addMsgInternal (this=0x851d040,   aMsg=0x8627720, \
index_return=0xbf9ce450, stripUid=false)  at \
/home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmfoldermaildir.cpp:453 #21 \
0xb4ecab75 in KMFolderMaildir::addMsg (this=0x851d040, aMsg=0x8627720,   \
index_return=0xbf9ce450)  at \
/home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmfoldermaildir.cpp:365 #22 \
0xb4e1baab in FolderStorage::moveMsg (this=0x851d040, aMsg=0x8627720,   \
aIndex_ret=0xbf9ce450)  at \
/home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/folderstorage.cpp:590 #23 0xb4dffb25 \
in KMFolder::moveMsg (this=0x851cf38, msg=0x8627720,   index_return=0xbf9ce450)
    at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmfolder.cpp:409
#24 0xb4f4def0 in KMMoveCommand::execute (this=0x87c8970)
    at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmcommands.cpp:1924
#25 0xb4f45468 in KMCommand::slotPostTransfer (this=0x87c8970, 
    result=KMCommand::OK)
    at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmcommands.cpp:254
#26 0xb4f555b3 in KMCommand::qt_invoke (this=0x87c8970, _id=5, _o=0xbf9ce620)
    at kmcommands.moc:148
#27 0xb4f5922f in KMMenuCommand::qt_invoke (this=0x87c8970, _id=5, 
    _o=0xbf9ce620) at kmcommands.moc:2436
#28 0xb4f59771 in KMMoveCommand::qt_invoke (this=0x87c8970, _id=5, 
    _o=0xbf9ce620) at kmcommands.moc:2619
#29 0xb4f59967 in KMDeleteMsgCommand::qt_invoke (this=0x87c8970, _id=5, 
    _o=0xbf9ce620) at kmcommands.moc:2694
#30 0xb652ac1f in QObject::activate_signal (this=0x87c8970, clist=0x874a8c8, 
    o=0xbf9ce620) at qobject.cpp:2356
#31 0xb4f553b9 in KMCommand::messagesTransfered (this=0x87c8970, 
    t0=KMCommand::OK) at kmcommands.moc:126
#32 0xb4f459b3 in KMCommand::transferSelectedMsgs (this=0x87c8970)
    at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmcommands.cpp:349
#33 0xb4f45411 in KMCommand::slotStart (this=0x87c8970)
    at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kmail/kmcommands.cpp:246
#34 0xb4f55583 in KMCommand::qt_invoke (this=0x87c8970, _id=4, _o=0xbf9ce830)
    at kmcommands.moc:147
#35 0xb4f5922f in KMMenuCommand::qt_invoke (this=0x87c8970, _id=4, 
    _o=0xbf9ce830) at kmcommands.moc:2436
#36 0xb4f59771 in KMMoveCommand::qt_invoke (this=0x87c8970, _id=4, 
    _o=0xbf9ce830) at kmcommands.moc:2619
#37 0xb4f59967 in KMDeleteMsgCommand::qt_invoke (this=0x87c8970, _id=4, 
    _o=0xbf9ce830) at kmcommands.moc:2694
#38 0xb652ac1f in QObject::activate_signal (this=0x827fbd8, clist=0x86c9848, 
    o=0xbf9ce830) at qobject.cpp:2356
#39 0xb6899517 in QSignal::signal (this=0x827fbd8, t0= 0x827fc00)
    at moc_qsignal.cpp:100
#40 0xb65489d2 in QSignal::activate (this=0x827fbd8) at qsignal.cpp:212
#41 0xb6550b34 in QSingleShotTimer::event (this=0x827fbb0) at qtimer.cpp:286
#42 0xb64c5ae9 in QApplication::internalNotify (this=0xbf9ceda0, 
    receiver=0x827fbb0, e=0xbf9ceaf0) at qapplication.cpp:2635
#43 0xb64c502a in QApplication::notify (this=0xbf9ceda0, receiver=0x827fbb0, 
    e=0xbf9ceaf0) at qapplication.cpp:2358
#44 0xb6bccd20 in KApplication::notify (this=0xbf9ceda0, receiver=0x827fbb0, 
    event=0xbf9ceaf0)
    at /home/richard/kde-svn/svn/trunk/KDE/kdelibs/kdecore/kapplication.cpp:550
#45 0xb7848432 in QApplication::sendEvent (receiver=0x827fbb0, 
    event=0xbf9ceaf0) at qapplication.h:496
#46 0xb64b3e3c in QEventLoop::activateTimers (this=0x81e6018)
    at qeventloop_unix.cpp:556
#47 0xb6469fec in QEventLoop::processEvents (this=0x81e6018, flags=4)
    at qeventloop_x11.cpp:389
#48 0xb64dadb3 in QEventLoop::enterLoop (this=0x81e6018) at qeventloop.cpp:198
#49 0xb64dacce in QEventLoop::exec (this=0x81e6018) at qeventloop.cpp:145
#50 0xb64c5c55 in QApplication::exec (this=0xbf9ceda0) at qapplication.cpp:2758
#51 0x0805cb91 in main (argc=1, argv=0xbf9cef74)
    at /home/richard/kde-svn/svn/trunk/KDE/kdepim/kontact/src/main.cpp:177
#52 0xb5d82f31 in __libc_start_main () from /lib/tls/libc.so.6
#53 0x0805bfe1 in _start ()

Line 1177 in qlistview.cpp is:
newChild->siblingItem = childItem;
and the assert was triggered because newChild was equal to childItem.

And around line 1088 in kmheaders.cpp is:
1084       if ( parent && parent->item() != item && parent->item() != removedItem ) {
1085         parent->item()->insertItem(lvi);
1086         parent->addSortedChild( sci );
1087       } else {
1088         insertItem(lvi);
1089         mRoot->addSortedChild( sci );
1090       }

So as far as I understand it, it tries to add an item to the root of the listview \
when it's already a child of the listview.

Also, looking at the thread I was trying to delete, the message I tried to delete was \
the parent of two messages when using "Thread messages also by Subject", but when \
unchecking subject-threading it was only the parent of one of them. \
_______________________________________________ KMail developers mailing list
KMail-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmail-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic