Bug 230355 - KMail crashed when trying to reply to an email
Summary: KMail crashed when trying to reply to an email
Status: RESOLVED DUPLICATE of bug 182629
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: 1.13.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 244430 252408 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-03-11 20:05 UTC by Albert Astals Cid
Modified: 2011-02-14 16:18 UTC (History)
3 users (show)

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 Albert Astals Cid 2010-03-11 20:05:34 UTC
Application: kmail (1.13.1)
KDE Platform Version: 4.4.1 (KDE 4.4.1)
Qt Version: 4.6.2
Operating System: Linux 2.6.31-20-generic x86_64
Distribution: Ubuntu 9.10

-- Information about the crash:
When trying to reply an email after pressing Ctrl+J on that email and having a filter that should have moved the email but the email was not moved (that's another bug) trying to reply to it made KMail crash

 -- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
The current source language is "auto; currently c".
[KCrash Handler]
#5  0x00000000026b8f50 in ?? ()
#6  0x00007f8803d07ed2 in KMCommand::slotStart (this=0x152dd40) at ../../kmail/kmcommands.cpp:261
#7  0x00007f8803d023b6 in KMCommand::qt_metacall (this=0x152dd40, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff65ad3270) at ./kmcommands.moc:92
#8  0x00007f8802621c0f in QMetaObject::activate (sender=0x841c20, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x26b94a8) at kernel/qobject.cpp:3293
#9  0x00007f88026293ff in QSingleShotTimer::timerEvent (this=0x841c20) at kernel/qtimer.cpp:308
#10 0x00007f880261e863 in QObject::event (this=0x841c20, e=0x7fff65ad39d0) at kernel/qobject.cpp:1212
#11 0x00007f8802ae212c in QApplicationPrivate::notify_helper (this=0x7b4dc0, receiver=0x841c20, e=0x7fff65ad39d0) at kernel/qapplication.cpp:4300
#12 0x00007f8802ae871b in QApplication::notify (this=0x7fff65ad3e40, receiver=0x841c20, e=0x7fff65ad39d0) at kernel/qapplication.cpp:4183
#13 0x00007f8804be9d76 in KApplication::notify (this=0x7fff65ad3e40, receiver=0x841c20, event=0x7fff65ad39d0) at ../../kdeui/kernel/kapplication.cpp:302
#14 0x00007f880260ee0c in QCoreApplication::notifyInternal (this=0x7fff65ad3e40, receiver=0x841c20, event=0x7fff65ad39d0) at kernel/qcoreapplication.cpp:704
#15 0x00007f880263ba62 in QCoreApplication::sendEvent (this=0x7e8210) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#16 QTimerInfoList::activateTimers (this=0x7e8210) at kernel/qeventdispatcher_unix.cpp:603
#17 0x00007f8802638644 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#18 0x00007f87f949cbce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#19 0x00007f87f94a0598 in ?? () from /lib/libglib-2.0.so.0
#20 0x00007f87f94a06c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#21 0x00007f8802638333 in QEventDispatcherGlib::processEvents (this=0x728620, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#22 0x00007f8802b91f0e in QGuiEventDispatcherGlib::processEvents (this=0x26b8f60, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#23 0x00007f880260d732 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#24 0x00007f880260db0c in QEventLoop::exec (this=0x7fff65ad3c70, flags=) at kernel/qeventloop.cpp:201
#25 0x00007f880261184b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#26 0x0000000000403452 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kmail/main.cpp:156

Possible duplicates by query: bug 230183, bug 229376, bug 229345, bug 229236, bug 229059.

Reported using DrKonqi
Comment 1 Albert Astals Cid 2010-03-11 20:08:51 UTC
My bad, the filter part is wrong, happens on any email, just press Ctrl+J and try to reply and it will crash. Here is another backtrace 

[KCrash Handler]
#5  DwEntity::Headers (this=0x0) at ../../mimelib/entity.cpp:250
#6  0x00007febe1165b15 in KMMessage::rawHeaderFields (this=0x3c33ef0, field=<value optimized out>) at ../../kmail/kmmessage.cpp:1931
#7  0x00007febe1168869 in KMMessage::cc (this=0x3c33ef0) at ../../kmail/kmmessage.cpp:1596
#8  0x00007febe1169d53 in KMMessage::identityUoid (this=0x3c33ef0) at ../../kmail/kmmessage.cpp:1384
#9  0x00007febe1176a9a in KMMessage::initFromMessage (this=0x2d79e10, msg=0x3c33ef0, idHeaders=112) at ../../kmail/kmmessage.cpp:1395
#10 0x00007febe1177928 in KMMessage::createReply (this=0x3c33ef0, replyStrategy=<value optimized out>, selection=<value optimized out>, noQuote=<value optimized out>, 
    allowDecryption=<value optimized out>, selectionIsBody=<value optimized out>, tmpl=...) at ../../kmail/kmmessage.cpp:596
#11 0x00007febe13f04a7 in KMReplyToCommand::execute (this=<value optimized out>) at ../../kmail/kmcommands.cpp:1126
#12 0x00007febe13ec7fa in KMCommand::slotPostTransfer (this=0x3d6d0f0, result=KMCommand::OK) at ../../kmail/kmcommands.cpp:291
#13 0x00007febe13f63d3 in KMCommand::qt_metacall (this=0x3d6d0f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff068f17d0) at ./kmcommands.moc:93
#14 0x00007febdfd15c0f in QMetaObject::activate (sender=0x3d6d0f0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x63) at kernel/qobject.cpp:3293
#15 0x00007febe13e74de in KMCommand::messagesTransfered (this=0x0, _t1=KMCommand::OK) at ./kmcommands.moc:108
#16 0x00007febe13fbf67 in KMCommand::slotStart (this=0x3d6d0f0) at ../../kmail/kmcommands.cpp:266
#17 0x00007febe13f63b6 in KMCommand::qt_metacall (this=0x3d6d0f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff068f18e0) at ./kmcommands.moc:92
#18 0x00007febdfd15c0f in QMetaObject::activate (sender=0x3cbf780, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x63) at kernel/qobject.cpp:3293
#19 0x00007febdfd1d3ff in QSingleShotTimer::timerEvent (this=0x3cbf780) at kernel/qtimer.cpp:308
#20 0x00007febdfd12863 in QObject::event (this=0x3cbf780, e=0x7fff068f2040) at kernel/qobject.cpp:1212
#21 0x00007febe01d612c in QApplicationPrivate::notify_helper (this=0x1df3d60, receiver=0x3cbf780, e=0x7fff068f2040) at kernel/qapplication.cpp:4300
#22 0x00007febe01dc71b in QApplication::notify (this=0x7fff068f24b0, receiver=0x3cbf780, e=0x7fff068f2040) at kernel/qapplication.cpp:4183
#23 0x00007febe22ddd76 in KApplication::notify (this=0x7fff068f24b0, receiver=0x3cbf780, event=0x7fff068f2040) at ../../kdeui/kernel/kapplication.cpp:302
#24 0x00007febdfd02e0c in QCoreApplication::notifyInternal (this=0x7fff068f24b0, receiver=0x3cbf780, event=0x7fff068f2040) at kernel/qcoreapplication.cpp:704
#25 0x00007febdfd2fa62 in QCoreApplication::sendEvent (this=0x1e271f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#26 QTimerInfoList::activateTimers (this=0x1e271f0) at kernel/qeventdispatcher_unix.cpp:603
#27 0x00007febdfd2c644 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#28 0x00007febd6b90bce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#29 0x00007febd6b94598 in ?? () from /lib/libglib-2.0.so.0
#30 0x00007febd6b946c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#31 0x00007febdfd2c333 in QEventDispatcherGlib::processEvents (this=0x1d67620, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#32 0x00007febe0285f0e in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007febdfd01732 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#34 0x00007febdfd01b0c in QEventLoop::exec (this=0x7fff068f22e0, flags=) at kernel/qeventloop.cpp:201
#35 0x00007febdfd0584b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#36 0x0000000000403452 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kmail/main.cpp:156
The current source language is "auto; currently c".
Comment 2 Albert Astals Cid 2010-03-11 20:13:24 UTC
For the record, valgrind says

==5348== Invalid read of size 8
==5348==    at 0x5EC0EC8: KMCommand::slotStart() (kmcommands.cpp:261)
==5348==    by 0x5EBB3B5: KMCommand::qt_metacall(QMetaObject::Call, int, void**) (kmcommands.moc:92)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x768E3FE: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308)
==5348==    by 0x7683862: QObject::event(QEvent*) (qobject.cpp:1212)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348==    by 0x6A3471A: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==5348==    by 0x505CD75: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==5348==    by 0x7673E0B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==5348==    by 0x76A0A61: QTimerInfoList::activateTimers() (qcoreapplication.h:215)
==5348==    by 0x769D643: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184)
==5348==    by 0x1073DBCD: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2200.3)
==5348==  Address 0x24b68ed0 is 0 bytes inside a block of size 344 free'd
==5348==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==5348==    by 0x5D93FC7: KMMsgList::set(int, KMMsgBase*) (kmmsglist.cpp:97)
==5348==    by 0x5EF9A7F: KMFolderIndex::setIndexEntry(int, KMMessage*) (kmfolderindex.cpp:501)
==5348==    by 0x5EF6EF2: KMMainWidget::slotFilterMsg(KMMessage*) (kmmainwidget.cpp:2568)
==5348==    by 0x5EF7814: KMMainWidget::slotApplyFilters() (kmmainwidget.cpp:2537)
==5348==    by 0x5EF868C: KMMainWidget::qt_metacall(QMetaObject::Call, int, void**) (kmmainwidget.moc:439)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x6A28021: QAction::triggered(bool) (moc_qaction.cpp:263)
==5348==    by 0x6A2A09A: QAction::activate(QAction::ActionEvent) (qaction.cpp:1255)
==5348==    by 0x6A2B9A6: QAction::event(QEvent*) (qaction.cpp:1181)
==5348==    by 0x4F86EAC: KAction::event(QEvent*) (kaction.cpp:129)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348== 
==5348== Invalid read of size 8
==5348==    at 0x5EC0E79: KMCommand::slotStart() (kmmsgbase.h:110)
==5348==    by 0x5EBB3B5: KMCommand::qt_metacall(QMetaObject::Call, int, void**) (kmcommands.moc:92)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x768E3FE: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308)
==5348==    by 0x7683862: QObject::event(QEvent*) (qobject.cpp:1212)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348==    by 0x6A3471A: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==5348==    by 0x505CD75: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==5348==    by 0x7673E0B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==5348==    by 0x76A0A61: QTimerInfoList::activateTimers() (qcoreapplication.h:215)
==5348==    by 0x769D643: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184)
==5348==    by 0x1073DBCD: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2200.3)
==5348==  Address 0x24b68ed8 is 8 bytes inside a block of size 344 free'd
==5348==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==5348==    by 0x5D93FC7: KMMsgList::set(int, KMMsgBase*) (kmmsglist.cpp:97)
==5348==    by 0x5EF9A7F: KMFolderIndex::setIndexEntry(int, KMMessage*) (kmfolderindex.cpp:501)
==5348==    by 0x5EF6EF2: KMMainWidget::slotFilterMsg(KMMessage*) (kmmainwidget.cpp:2568)
==5348==    by 0x5EF7814: KMMainWidget::slotApplyFilters() (kmmainwidget.cpp:2537)
==5348==    by 0x5EF868C: KMMainWidget::qt_metacall(QMetaObject::Call, int, void**) (kmmainwidget.moc:439)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x6A28021: QAction::triggered(bool) (moc_qaction.cpp:263)
==5348==    by 0x6A2A09A: QAction::activate(QAction::ActionEvent) (qaction.cpp:1255)
==5348==    by 0x6A2B9A6: QAction::event(QEvent*) (qaction.cpp:1181)
==5348==    by 0x4F86EAC: KAction::event(QEvent*) (kaction.cpp:129)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348== 
==5348== Invalid read of size 8
==5348==    at 0x5EC0A66: KMCommand::transferSelectedMsgs() (kmcommands.cpp:341)
==5348==    by 0x5EC0EA7: KMCommand::slotStart() (kmcommands.cpp:283)
==5348==    by 0x5EBB3B5: KMCommand::qt_metacall(QMetaObject::Call, int, void**) (kmcommands.moc:92)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x768E3FE: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308)
==5348==    by 0x7683862: QObject::event(QEvent*) (qobject.cpp:1212)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348==    by 0x6A3471A: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==5348==    by 0x505CD75: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==5348==    by 0x7673E0B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==5348==    by 0x76A0A61: QTimerInfoList::activateTimers() (qcoreapplication.h:215)
==5348==    by 0x769D643: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184)
==5348==  Address 0x24b68ed0 is 0 bytes inside a block of size 344 free'd
==5348==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==5348==    by 0x5D93FC7: KMMsgList::set(int, KMMsgBase*) (kmmsglist.cpp:97)
==5348==    by 0x5EF9A7F: KMFolderIndex::setIndexEntry(int, KMMessage*) (kmfolderindex.cpp:501)
==5348==    by 0x5EF6EF2: KMMainWidget::slotFilterMsg(KMMessage*) (kmmainwidget.cpp:2568)
==5348==    by 0x5EF7814: KMMainWidget::slotApplyFilters() (kmmainwidget.cpp:2537)
==5348==    by 0x5EF868C: KMMainWidget::qt_metacall(QMetaObject::Call, int, void**) (kmmainwidget.moc:439)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x6A28021: QAction::triggered(bool) (moc_qaction.cpp:263)
==5348==    by 0x6A2A09A: QAction::activate(QAction::ActionEvent) (qaction.cpp:1255)
==5348==    by 0x6A2B9A6: QAction::event(QEvent*) (qaction.cpp:1181)
==5348==    by 0x4F86EAC: KAction::event(QEvent*) (kaction.cpp:129)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348== 
==5348== Invalid read of size 8
==5348==    at 0x5EC0A8D: KMCommand::transferSelectedMsgs() (kmmsgbase.h:110)
==5348==    by 0x5EC0EA7: KMCommand::slotStart() (kmcommands.cpp:283)
==5348==    by 0x5EBB3B5: KMCommand::qt_metacall(QMetaObject::Call, int, void**) (kmcommands.moc:92)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x768E3FE: QSingleShotTimer::timerEvent(QTimerEvent*) (qtimer.cpp:308)
==5348==    by 0x7683862: QObject::event(QEvent*) (qobject.cpp:1212)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348==    by 0x6A3471A: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4183)
==5348==    by 0x505CD75: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==5348==    by 0x7673E0B: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
==5348==    by 0x76A0A61: QTimerInfoList::activateTimers() (qcoreapplication.h:215)
==5348==    by 0x769D643: timerSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:184)
==5348==  Address 0x24b68ed8 is 8 bytes inside a block of size 344 free'd
==5348==    at 0x4C24A7A: operator delete(void*) (vg_replace_malloc.c:346)
==5348==    by 0x5D93FC7: KMMsgList::set(int, KMMsgBase*) (kmmsglist.cpp:97)
==5348==    by 0x5EF9A7F: KMFolderIndex::setIndexEntry(int, KMMessage*) (kmfolderindex.cpp:501)
==5348==    by 0x5EF6EF2: KMMainWidget::slotFilterMsg(KMMessage*) (kmmainwidget.cpp:2568)
==5348==    by 0x5EF7814: KMMainWidget::slotApplyFilters() (kmmainwidget.cpp:2537)
==5348==    by 0x5EF868C: KMMainWidget::qt_metacall(QMetaObject::Call, int, void**) (kmmainwidget.moc:439)
==5348==    by 0x7686C0E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293)
==5348==    by 0x6A28021: QAction::triggered(bool) (moc_qaction.cpp:263)
==5348==    by 0x6A2A09A: QAction::activate(QAction::ActionEvent) (qaction.cpp:1255)
==5348==    by 0x6A2B9A6: QAction::event(QEvent*) (qaction.cpp:1181)
==5348==    by 0x4F86EAC: KAction::event(QEvent*) (kaction.cpp:129)
==5348==    by 0x6A2E12B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4300)
==5348==
Comment 3 Björn Ruberg 2010-03-14 01:00:26 UTC

*** This bug has been marked as a duplicate of bug 182629 ***
Comment 4 Christophe Marin 2011-02-14 15:33:55 UTC
*** Bug 244430 has been marked as a duplicate of this bug. ***
Comment 5 Christophe Marin 2011-02-14 16:18:17 UTC
*** Bug 252408 has been marked as a duplicate of this bug. ***