Bug 73389 - kmail crashes in removeMsg
Summary: kmail crashes in removeMsg
Status: RESOLVED NOT A BUG
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-24 11:20 UTC by Russell Miller
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 Russell Miller 2004-01-24 11:20:04 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc-3.2 
OS:          Linux

Recent kmail (built as of tonight's HEAD) and a kmail from just before the 3.2 branch tag exhibit exactly the same behavior.  When moving a bunch of messages from one folder to another, it crashes.  Below is the backtrace as reported by drkonqi (I will probably have to recompile with debug enabled but this might still be helpful).

It happens reproducibly with one folder.  I can provide you the folder privately if you agree to keep it confidential (a simple email stating you agree will suffice).  I can also provide any assistance you need to track it down.

[New Thread 16384 (LWP 7626)]
0x41c12806 in waitpid () from /lib/libpthread.so.0
#0  0x41c12806 in waitpid () from /lib/libpthread.so.0
#1  0x4126dec1 in KCrash::defaultCrashHandler(int) ()
   from /data/kde-prod/lib/libkdecore.so.4
#2  0x41c11559 in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x401a54f1 in KMHeaders::msgRemoved(int, QString, QString) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#5  0x401b1107 in KMHeaders::qt_invoke(int, QUObject*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#6  0x41607646 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#7  0x401e3f20 in KMFolder::msgRemoved(int, QString, QString) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#8  0x401e45b5 in KMFolder::qt_emit(int, QUObject*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#9  0x41607676 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#10 0x40201384 in FolderStorage::msgRemoved(int, QString, QString) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#11 0x401fe1c4 in FolderStorage::take(int) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#12 0x401e2f42 in KMFolder::take(int) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#13 0x402762fa in KMFolderMbox::addMsg(KMMessage*, int*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#14 0x401febef in FolderStorage::moveMsg(KMMessage*, int*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#15 0x401e3105 in KMFolder::moveMsg(KMMessage*, int*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#16 0x402fccad in KMMoveCommand::execute() ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#17 0x402f5db6 in KMCommand::slotPostTransfer(bool) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#18 0x402f1d9c in KMCommand::qt_invoke(int, QUObject*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#19 0x402f492d in KMMenuCommand::qt_invoke(int, QUObject*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#20 0x402f4c33 in KMMoveCommand::qt_invoke(int, QUObject*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#21 0x41607646 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#22 0x41607be4 in QObject::activate_signal_bool(int, bool) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#23 0x402f1cf4 in KMCommand::messagesTransfered(bool) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#24 0x402f60c2 in KMCommand::transferSelectedMsgs() ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#25 0x402f5c2f in KMCommand::preTransfer() ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#26 0x402f5a87 in KMCommand::start() ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#27 0x401a732a in KMHeaders::moveMsgToFolder(KMFolder*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#28 0x4030d888 in KMMainWidget::slotMoveMsgToFolder(KMFolder*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#29 0x403067f6 in KMMainWidget::qt_invoke(int, QUObject*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#30 0x41607646 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#31 0x40193516 in KMFolderTree::folderDrop(KMFolder*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#32 0x401924ac in KMFolderTree::contentsDropEvent(QDropEvent*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#33 0x416f88df in QScrollView::viewportDropEvent(QDropEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#34 0x416f8103 in QScrollView::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#35 0x416ccd99 in QListView::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#36 0x40192e10 in KMFolderTree::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#37 0x416056a0 in QObject::activate_filters(QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#38 0x416055ee in QObject::event(QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#39 0x4163513a in QWidget::event(QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#40 0x415b5c69 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#41 0x415b53ac in QApplication::notify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#42 0x411dd2e2 in KApplication::notify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libkdecore.so.4
#43 0x41566b03 in qt_handle_xdnd_drop(QWidget*, _XEvent const*, bool) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#44 0x41567d57 in QDragManager::drop() () from /data/kde-prod/lib/libqt-mt.so.3
#45 0x41566e65 in QDragManager::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#46 0x415b5d0b in QApplication::internalNotify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#47 0x415b5481 in QApplication::notify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#48 0x411dd2e2 in KApplication::notify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libkdecore.so.4
#49 0x4155919f in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#50 0x41556ca0 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#51 0x4156ae46 in QEventLoop::processEvents(unsigned) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#52 0x415c684b in QEventLoop::enterLoop() ()
   from /data/kde-prod/lib/libqt-mt.so.3
#53 0x415b5ed8 in QApplication::enter_loop() ()
   from /data/kde-prod/lib/libqt-mt.so.3
#54 0x4156878f in QDragManager::drag(QDragObject*, QDragObject::DragMode) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#55 0x415bf806 in QDragObject::drag(QDragObject::DragMode) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#56 0x415bf785 in QDragObject::drag() () from /data/kde-prod/lib/libqt-mt.so.3
#57 0x401a933b in KMHeaders::contentsMouseMoveEvent(QMouseEvent*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#58 0x416f876d in QScrollView::viewportMouseMoveEvent(QMouseEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#59 0x416f7fdd in QScrollView::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#60 0x416ccd99 in QListView::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#61 0x401a1388 in KMHeaders::eventFilter(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libkmailprivate.so.0
#62 0x416056a0 in QObject::activate_filters(QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#63 0x416055ee in QObject::event(QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#64 0x4163513a in QWidget::event(QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#65 0x415b5c69 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#66 0x415b5481 in QApplication::notify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#67 0x411dd2e2 in KApplication::notify(QObject*, QEvent*) ()
   from /data/kde-prod/lib/libkdecore.so.4
#68 0x4155919f in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#69 0x41556ca0 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#70 0x4156ae46 in QEventLoop::processEvents(unsigned) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#71 0x415c684b in QEventLoop::enterLoop() ()
   from /data/kde-prod/lib/libqt-mt.so.3
#72 0x415c6708 in QEventLoop::exec() () from /data/kde-prod/lib/libqt-mt.so.3
#73 0x415b5e84 in QApplication::exec() () from /data/kde-prod/lib/libqt-mt.so.3
#74 0x0804a0ea in main ()
#75 0x41c9c5cd in __libc_start_main () from /lib/libc.so.6
Comment 1 Russell Miller 2004-01-24 11:58:04 UTC
More information, here is the relevant parts of the backtrace when run under gdb and compiled with debug:

#0  0x401e6237 in KMHeaders::msgRemoved(int, QString, QString) (
    this=0x81fc830, id=1, msgId=
      {static null = {static null = <same as static member of an already seen type>, d = 0x804e070, static shared_null = 0x804e070}, d = 0x8393b68, static shared_null = 0x804e070}, strippedSubjMD5=
      {static null = {static null = <same as static member of an already seen type>, d = 0x804e070, static shared_null = 0x804e070}, d = 0x841d740, static shared_null = 0x804e070}) at kmheaders.cpp:1365
#1  0x401ef493 in KMHeaders::qt_invoke(int, QUObject*) (this=0x81fc830,
    _id=112, _o=0xbfffd400) at kmheaders.moc:258
#2  0x4163d646 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
#3  0x40220717 in KMFolder::msgRemoved(int, QString, QString) (
    this=0x81968f0, t0=1, t1=
      {static null = {static null = <same as static member of an already seen type>, d = 0x804e070, static shared_null = 0x804e070}, d = 0x8393b68, static shared_null = 0x804e070}, t2=
      {static null = {static null = <same as static member of an already seen type>, d = 0x804e070, static shared_null = 0x804e070}, d = 0x841d740, static shared_null = 0x804e070}) at kmfolder.moc:221
#4  0x402210e0 in KMFolder::qt_emit(int, QUObject*) (this=0x81968f0, _id=8,
    _o=0xbfffd530) at kmfolder.moc:340
#5  0x4163d676 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /data/kde-prod/lib/libqt-mt.so.3
Comment 2 Russell Miller 2004-01-24 12:04:46 UTC
ohhhhhhhhhhhhh....  dammit.

corrupted index file.

That really needs to be fixed.

But the bug as it stands is invalid.  Sorry.