Bug 218693

Summary: [steps] KMail crashes after saving an email from separate window [KMail::MessageListView::Widget::getSelectionStats, KMail::MessageListView::Pane::getSelectionStats, KMMainWidget::updateMessageActions]
Product: [Applications] kontact Reporter: Christian Trippe <christiandehne>
Component: mailAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: andresbajotierra, daviseago, giuseppe.greg, graham_hawkins, kdenis, majca_j, mschiff, rodney.baker, roman-panfilov, roy, sayeed.ka, sergiu, sreejiththulaseedharan
Priority: NOR Keywords: testcase
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Christian Trippe 2009-12-14 20:46:10 UTC
Application that crashed: kontact
Version of the application: 4.3.4
KDE Version: 4.3.4 (KDE 4.3.4) "release 2"
Qt Version: 4.5.3
Operating System: Linux 2.6.31.5-0.1-default i686
Distribution: "openSUSE 11.2 (i586)"

What I was doing when the application crashed:
When opening an email (double clicking on the line in the emails list e.g.
within "Posteingang") a new window containing this email opens. After saving
this email KMail crashes when selecting the next email from the list.

There is no data loss in KMail.
The file is saved normally. 

Reproducible: Always

Steps to Reproduce:
1. double click on an email in the incoming folder to open it in a separate
window
2. choose file->save as from the menu and save it to disk
3. (close that window)*
4. click (single click) on the next email in the incoming folder: Kmail crashes
* it crashes no matter if you leave that window open or close it

 -- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
[Current thread is 1 (Thread 0xb3e15920 (LWP 20636))]

Thread 2 (Thread 0xaa398b70 (LWP 8063)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb4c8fd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb628a27c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb6de1750 in wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#5  0xb49f7a04 in QHostInfoAgent::run (this=0x9757ea0) at kernel/qhostinfo.cpp:260
#6  0xb6de0623 in QThreadPrivate::start (arg=0x9757ea0) at thread/qthread_unix.cpp:188
#7  0xb4c8b6e5 in start_thread () from /lib/libpthread.so.0
#8  0xb4c8b600 in ?? () from /lib/libpthread.so.0

Thread 1 (Thread 0xb3e15920 (LWP 20636)):
[KCrash Handler]
#6  KMail::MessageListView::Widget::getSelectionStats (this=0x8641488, selectedSernums=..., selectedVisibleSernums=..., allSelectedBelongToSameThread=0xbf9c7e9f, 
    includeCollapsedChildren=<value optimized out>) at /usr/src/debug/kdepim-4.3.4/kmail/messagelistview/widget.cpp:580
#7  0xb090d6a8 in KMail::MessageListView::Pane::getSelectionStats (this=0x863dcd8, selectedSernums=..., selectedVisibleSernums=..., allSelectedBelongToSameThread=0xbf9c7e9f, 
    includeCollapsedChildren=184) at /usr/src/debug/kdepim-4.3.4/kmail/messagelistview/pane.cpp:622
#8  0xb07b88f7 in KMMainWidget::updateMessageActions (this=0x86447b8) at /usr/src/debug/kdepim-4.3.4/kmail/kmmainwidget.cpp:4274
#9  0xb07d18cd in KMMainWidget::qt_metacall (this=0x86447b8, _c=InvokeMetaMethod, _id=21, _a=0xbf9c7f6c) at /usr/src/debug/kdepim-4.3.4/build/kmail/kmmainwidget.moc:367
#10 0xb6eed864 in QMetaObject::activate (sender=0x8a163f0, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113
#11 0xb6eee585 in QMetaObject::activate (sender=0x8a163f0, m=0xb6fca904, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#12 0xb6f29715 in QTimer::timeout (this=0x8a163f0) at .moc/release-shared/moc_qtimer.cpp:128
#13 0xb6ef3196 in QTimer::timerEvent (this=0x8a163f0, e=0xbf9c83f4) at kernel/qtimer.cpp:261
#14 0xb6ee751b in QObject::event (this=0x8a163f0, e=0xbf9c83f4) at kernel/qobject.cpp:1075
#15 0xb651d8fc in QApplicationPrivate::notify_helper (this=0x8088f50, receiver=0x8a163f0, e=0xbf9c83f4) at kernel/qapplication.cpp:4065
#16 0xb652534e in QApplication::notify (this=0xbf9c8744, receiver=0x8a163f0, e=0xbf9c83f4) at kernel/qapplication.cpp:3605
#17 0xb741a451 in KApplication::notify (this=0xbf9c8744, receiver=0x8a163f0, event=0xbf9c83f4) at /usr/src/debug/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#18 0xb6ed732e in QCoreApplication::notifyInternal (this=0xbf9c8744, receiver=0x8a163f0, event=0xbf9c83f4) at kernel/qcoreapplication.cpp:610
#19 0xb6f06356 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:213
#20 QTimerInfoList::activateTimers (event=<value optimized out>, receiver=<value optimized out>) at kernel/qeventdispatcher_unix.cpp:594
#21 0xb6f03325 in timerSourceDispatch (source=0x807c4f0) at kernel/qeventdispatcher_glib.cpp:184
#22 idleTimerSourceDispatch (source=0x807c4f0) at kernel/qeventdispatcher_glib.cpp:231
#23 0xb48274c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb482ad98 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0xb482aebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0xb6f03011 in QEventDispatcherGlib::processEvents (this=0x80541c0, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#27 0xb65bf29a in QGuiEventDispatcherGlib::processEvents (this=0x80541c0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb6ed598d in QEventLoop::processEvents (this=0xbf9c86a4, flags=) at kernel/qeventloop.cpp:149
#29 0xb6ed5dd9 in QEventLoop::exec (this=0xbf9c86a4, flags=...) at kernel/qeventloop.cpp:201
#30 0xb6ed8270 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#31 0xb651d774 in QApplication::exec () at kernel/qapplication.cpp:3525
#32 0x0804b546 in _start ()

This bug may be a duplicate of or related to bug 217361

Reported using DrKonqi
Comment 1 Christian Trippe 2009-12-14 20:49:27 UTC
I have reported this bug which according to DrKonqi (and the backtrace) might be a duplicate of bug 217361 and therefor of bug 195893, because it is reproducible and I did not see a comment in one of the bugs which claims to have a reproducible way to trigger the crash.
Comment 2 Dario Andres 2009-12-15 14:00:26 UTC
@Christian: thank you for the detailed information.

Here using:

Qt: 4.6.0 (kde-qt master commit cd8595efe9aace2afdaa5db37af7cfe82b87e4aa
        Date:   Wed Nov 18 01:33:21 2009 +0100)
KDE Development Platform: 4.3.81 (KDE 4.3.81 (KDE 4.4 >= 20091204))
kdelibs svn rev. 1060674 / kdebase svn rev. 1060675
kdepim svn rev. 1060455
on ArchLinux i686 - Kernel 2.6.31.6

I could reproduce the crash using the steps provided: a minor difference: 

I had to open, save and close *two* messages before getting the crash while clicking the third message...

I'm using only a GMail IMAP account.

Updated backtrace:
---

Application: KMail (kmail), signal: Segmentation fault
[KCrash Handler]
#6  KMail::MessageListView::Widget::getSelectionStats (this=0x9577d20, selectedSernums=..., selectedVisibleSernums=..., allSelectedBelongToSameThread=0xbfaf51ff, 
    includeCollapsedChildren=<value optimized out>) at /home/kde-devel/kde/src/KDE/kdepim/kmail/messagelistview/widget.cpp:594
#7  0xb6f3e3a6 in KMail::MessageListView::Pane::getSelectionStats (this=0x94ce468, selectedSernums=..., selectedVisibleSernums=..., allSelectedBelongToSameThread=0xbfaf51ff, 
    includeCollapsedChildren=7) at /home/kde-devel/kde/src/KDE/kdepim/kmail/messagelistview/pane.cpp:645
#8  0xb6df1a4c in KMMainWidget::updateMessageActions (this=0x9580a98) at /home/kde-devel/kde/src/KDE/kdepim/kmail/kmmainwidget.cpp:4225
#9  0xb6e0a9f2 in KMMainWidget::qt_metacall (this=0x9580a98, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0xbfaf52d8) at /home/kde-devel/kde/build/KDE/kdepim/kmail/kmmainwidget.moc:375
#10 0xb5e9c9c4 in QMetaObject::metacall (object=0x9580a98, cl=QMetaObject::InvokeMetaMethod, idx=48, argv=0xbfaf52d8) at kernel/qmetaobject.cpp:237
#11 0xb5eb0a85 in QMetaObject::activate (sender=0x97e0e50, m=0xb5ff87c4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3294
#12 0xb5f0fbd7 in QTimer::timeout (this=0x97e0e50) at .moc/debug-shared/moc_qtimer.cpp:134
#13 0xb5eb9498 in QTimer::timerEvent (this=0x97e0e50, e=0xbfaf58c4) at kernel/qtimer.cpp:271
#14 0xb5eacac6 in QObject::event (this=0x97e0e50, e=0xbfaf58c4) at kernel/qobject.cpp:1224
#15 0xb5047834 in QApplicationPrivate::notify_helper (this=0x92d3090, receiver=0x97e0e50, e=0xbfaf58c4) at kernel/qapplication.cpp:4242
#16 0xb5045231 in QApplication::notify (this=0xbfaf5cfc, receiver=0x97e0e50, e=0xbfaf58c4) at kernel/qapplication.cpp:3661
#17 0xb7655f5a in KApplication::notify (this=0xbfaf5cfc, receiver=0x97e0e50, event=0xbfaf58c4) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#18 0xb5e95411 in QCoreApplication::notifyInternal (this=0xbfaf5cfc, receiver=0x97e0e50, event=0xbfaf58c4) at kernel/qcoreapplication.cpp:704
#19 0xb5e98ee9 in QCoreApplication::sendEvent (receiver=0x97e0e50, event=0xbfaf58c4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 0xb5ecfdb6 in QTimerInfoList::activateTimers (this=0x92d5e34) at kernel/qeventdispatcher_unix.cpp:603
#21 0xb5ecbcac in timerSourceDispatch (source=0x92d5e00) at kernel/qeventdispatcher_glib.cpp:184
#22 0xb5ecbd65 in idleTimerSourceDispatch (source=0x92d5e70) at kernel/qeventdispatcher_glib.cpp:231
#23 0xb2ea2328 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb2ea5ba0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#25 0xb2ea5cd3 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0xb5ecce48 in QEventDispatcherGlib::processEvents (this=0x92c7a50, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#27 0xb511bd50 in QGuiEventDispatcherGlib::processEvents (this=0x92c7a50, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb5e9281b in QEventLoop::processEvents (this=0xbfaf5bbc, flags=...) at kernel/qeventloop.cpp:149
#29 0xb5e92960 in QEventLoop::exec (this=0xbfaf5bbc, flags=...) at kernel/qeventloop.cpp:201
#30 0xb5e95aed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#31 0xb5044e54 in QApplication::exec () at kernel/qapplication.cpp:3570
#32 0x0804ab17 in main (argc=1, argv=0xbfaf5eb4) at /home/kde-devel/kde/src/KDE/kdepim/kmail/main.cpp:152
Comment 3 Dario Andres 2009-12-15 14:00:52 UTC
*** Bug 195893 has been marked as a duplicate of this bug. ***
Comment 4 Dario Andres 2009-12-15 14:01:00 UTC
*** Bug 218748 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2009-12-18 18:37:20 UTC
*** Bug 219129 has been marked as a duplicate of this bug. ***
Comment 6 Dario Andres 2010-01-18 22:06:57 UTC
*** Bug 223084 has been marked as a duplicate of this bug. ***
Comment 7 Dario Andres 2010-02-04 02:28:45 UTC
*** Bug 225452 has been marked as a duplicate of this bug. ***
Comment 8 Christophe Marin 2010-03-26 12:31:18 UTC
*** Bug 182159 has been marked as a duplicate of this bug. ***
Comment 9 Nicolas L. 2010-04-02 10:45:16 UTC
*** Bug 233038 has been marked as a duplicate of this bug. ***
Comment 10 Nicolas L. 2010-06-01 09:50:56 UTC
*** Bug 240206 has been marked as a duplicate of this bug. ***
Comment 11 Christophe Marin 2010-06-14 22:27:32 UTC
*** Bug 241767 has been marked as a duplicate of this bug. ***
Comment 12 Christophe Marin 2010-06-14 22:27:43 UTC
*** Bug 237087 has been marked as a duplicate of this bug. ***
Comment 13 Nicolas L. 2010-08-12 16:34:31 UTC
*** Bug 247451 has been marked as a duplicate of this bug. ***
Comment 14 Christophe Marin 2011-02-14 14:24:13 UTC
*** Bug 261242 has been marked as a duplicate of this bug. ***
Comment 15 Christophe Marin 2011-07-05 21:20:34 UTC
Please revisit this issue with KMail2 from kdepim >= 4.6.0
Comment 16 Christian Trippe 2011-08-07 19:03:07 UTC
I can no longer reproduce the bug with kmail2 from KDE 4.7.0