Bug 264153 - KMail crashes whne using the Prev. Message button
Summary: KMail crashes whne using the Prev. Message button
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: message list (show other bugs)
Version: 4.8.5
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 273338 279177 287189 289142 305547 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-01-24 10:59 UTC by András Manţia
Modified: 2012-08-23 08:15 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.9.1


Attachments
New crash information added by DrKonqi (8.27 KB, text/plain)
2011-12-12 22:26 UTC, Thomas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description András Manţia 2011-01-24 10:59:38 UTC
Application: kontact (4.6 beta4)
KDE Platform Version: 4.6.41 (4.7 >= 20110106) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 2.6.37-8.99.18.c4b8238-default x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
From time to time, I end up with the unread count in the folder tree that is not valid. Eg. I have no unread message, but it shows as 1-2-3 unread messages. It might happen when I browse the Inbox while filtering of newly messages in the inbox is running.
 When this happens (wrong unread count), clicking on the Back icon (go to previous unread message) crashes KMail with the attached backtrace.

The crash can be reproduced every time.

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

Thread 3 (Thread 0x7f40d0ea6710 (LWP 15703)):
#0  0x00007f40dea9f39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f40e5d24bbf in WTF::TCMalloc_PageHeap::scavengerThread() () from /opt/qt4/lib/libQtWebKit.so.4
#2  0x00007f40e5d24194 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /opt/qt4/lib/libQtWebKit.so.4
#3  0x00007f40dea9aa4f in start_thread () from /lib64/libpthread.so.0
#4  0x00007f40ddaef82d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f40c4808710 (LWP 15835)):
#0  0x00007f40ddae8e13 in select () from /lib64/libc.so.6
#1  0x00007f40dee42e94 in QProcessManager::run (this=0x7f40df1fbb00) at io/qprocess_unix.cpp:245
#2  0x00007f40ded4f34d in QThreadPrivate::start (arg=0x7f40df1fbb00) at thread/qthread_unix.cpp:320
#3  0x00007f40dea9aa4f in start_thread () from /lib64/libpthread.so.0
#4  0x00007f40ddaef82d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f40e6955760 (LWP 15701)):
[KCrash Handler]
#6  0x00007f40c87973cc in MessageList::Core::Item::indexOfChildItem (this=0x0, item=0xf2a530) at /home/andris/development/sources/kde-trunk/kdepim/messagelist/core/item.cpp:179
#7  0x00007f40c87dcecf in MessageList::Core::View::messageItemBefore (this=0x15f0320, referenceItem=0x0, messageTypeFilter=MessageList::Core::MessageTypeUnreadOnly, loop=true)
    at /home/andris/development/sources/kde-trunk/kdepim/messagelist/core/view.cpp:1301
#8  0x00007f40c87dd147 in MessageList::Core::View::previousMessageItem (this=0x15f0320, messageTypeFilter=MessageList::Core::MessageTypeUnreadOnly, loop=true)
    at /home/andris/development/sources/kde-trunk/kdepim/messagelist/core/view.cpp:1312
#9  0x00007f40c87dde89 in MessageList::Core::View::selectPreviousMessageItem (this=0x15f0320, messageTypeFilter=MessageList::Core::MessageTypeUnreadOnly, 
    existingSelectionBehaviour=MessageList::Core::ClearExistingSelection, centerItem=true, loop=true) at /home/andris/development/sources/kde-trunk/kdepim/messagelist/core/view.cpp:1452
#10 0x00007f40c880c562 in MessageList::Widget::selectPreviousMessageItem (this=0x15d9f80, messageTypeFilter=MessageList::Core::MessageTypeUnreadOnly, 
    existingSelectionBehaviour=MessageList::Core::ClearExistingSelection, centerItem=true, loop=true) at /home/andris/development/sources/kde-trunk/kdepim/messagelist/widget.cpp:149
#11 0x00007f40c88016ad in MessageList::Pane::selectPreviousMessageItem (this=0x15d78a0, messageTypeFilter=MessageList::Core::MessageTypeUnreadOnly, 
    existingSelectionBehaviour=MessageList::Core::ClearExistingSelection, centerItem=true, loop=true) at /home/andris/development/sources/kde-trunk/kdepim/messagelist/pane.cpp:193
#12 0x00007f40c965e642 in KMMainWidget::slotSelectPreviousUnreadMessage (this=0x15b93e0) at /home/andris/development/sources/kde-trunk/kdepim/kmail/kmmainwidget.cpp:2610
#13 0x00007f40c9650051 in KMMainWidget::qt_metacall (this=0x15b93e0, _c=QMetaObject::InvokeMetaMethod, _id=107, _a=0x7fffcfed9b90)
    at /home/andris/development/build/kde-trunk/kdepim/kmail/kmmainwidget.moc:450
#14 0x00007f40dee73fdf in QMetaObject::metacall (object=0x15b93e0, cl=QMetaObject::InvokeMetaMethod, idx=134, argv=0x7fffcfed9b90) at kernel/qmetaobject.cpp:237
#15 0x00007f40dee88e6f in QMetaObject::activate (sender=0x16ad660, m=0x7f40e0940ca0, local_signal_index=1, argv=0x7fffcfed9b90) at kernel/qobject.cpp:3278
#16 0x00007f40dfbf2a92 in QAction::triggered (this=0x16ad660, _t1=false) at .moc/debug-shared/moc_qaction.cpp:263
#17 0x00007f40dfbf1d94 in QAction::activate (this=0x16ad660, event=QAction::Trigger) at kernel/qaction.cpp:1257
#18 0x00007f40dfbf31b1 in QAction::trigger (this=0x16ad660) at kernel/qaction.h:218
#19 0x00007f40e01c745d in QToolButton::nextCheckState (this=0x10bee4c0) at widgets/qtoolbutton.cpp:1147
#20 0x00007f40e00c563e in QAbstractButtonPrivate::click (this=0x17ac5800) at widgets/qabstractbutton.cpp:528
#21 0x00007f40e00c6baf in QAbstractButton::mouseReleaseEvent (this=0x10bee4c0, e=0x7fffcfeda890) at widgets/qabstractbutton.cpp:1121
#22 0x00007f40e01c5daf in QToolButton::mouseReleaseEvent (this=0x10bee4c0, e=0x7fffcfeda890) at widgets/qtoolbutton.cpp:721
#23 0x00007f40dfc690c4 in QWidget::event (this=0x10bee4c0, event=0x7fffcfeda890) at kernel/qwidget.cpp:8255
#24 0x00007f40e00c6a05 in QAbstractButton::event (this=0x10bee4c0, e=0x7fffcfeda890) at widgets/qabstractbutton.cpp:1080
#25 0x00007f40e01c74d3 in QToolButton::event (this=0x10bee4c0, event=0x7fffcfeda890) at widgets/qtoolbutton.cpp:1163
#26 0x00007f40dfc025bc in QApplicationPrivate::notify_helper (this=0x6461e0, receiver=0x10bee4c0, e=0x7fffcfeda890) at kernel/qapplication.cpp:4462
#27 0x00007f40dfc00549 in QApplication::notify (this=0x7fffcfedb830, receiver=0x10bee4c0, e=0x7fffcfeda890) at kernel/qapplication.cpp:4023
#28 0x00007f40e0c0a909 in KApplication::notify (this=0x7fffcfedb830, receiver=0x10bee4c0, event=0x7fffcfeda890) at /home/andris/development/sources/kde-trunk/kdelibs/kdeui/kernel/kapplication.cpp:311
#29 0x00007f40dee6be6b in QCoreApplication::notifyInternal (this=0x7fffcfedb830, receiver=0x10bee4c0, event=0x7fffcfeda890) at kernel/qcoreapplication.cpp:731
#30 0x00007f40dfc04d9f in QCoreApplication::sendSpontaneousEvent (receiver=0x10bee4c0, event=0x7fffcfeda890) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#31 0x00007f40dfbfeab2 in QApplicationPrivate::sendMouseEvent (receiver=0x10bee4c0, event=0x7fffcfeda890, alienWidget=0x10bee4c0, nativeWidget=0xad82c0, buttonDown=0x7f40e0988768, 
    lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3120
#32 0x00007f40dfca43f2 in QETWidget::translateMouseEvent (this=0xad82c0, event=0x7fffcfedb3f0) at kernel/qapplication_x11.cpp:4461
#33 0x00007f40dfca0d81 in QApplication::x11ProcessEvent (this=0x7fffcfedb830, event=0x7fffcfedb3f0) at kernel/qapplication_x11.cpp:3465
#34 0x00007f40dfcdacd8 in x11EventSourceDispatch (s=0x649cb0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#35 0x00007f40d8695a93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#36 0x00007f40d8696270 in ?? () from /usr/lib64/libglib-2.0.so.0
#37 0x00007f40d8696510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#38 0x00007f40deea4f8b in QEventDispatcherGlib::processEvents (this=0x6133b0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#39 0x00007f40dfcdb086 in QGuiEventDispatcherGlib::processEvents (this=0x6133b0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007f40dee699ce in QEventLoop::processEvents (this=0x7fffcfedb7a0, flags=...) at kernel/qeventloop.cpp:149
#41 0x00007f40dee69b22 in QEventLoop::exec (this=0x7fffcfedb7a0, flags=...) at kernel/qeventloop.cpp:201
#42 0x00007f40dee6c55e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#43 0x00007f40dfbff758 in QApplication::exec () at kernel/qapplication.cpp:3736
#44 0x00000000004043f1 in main (argc=1, argv=0x7fffcfedbd88) at /home/andris/development/sources/kde-trunk/kdepim/kontact/src/main.cpp:218

Reported using DrKonqi
Comment 1 András Manţia 2011-01-24 11:02:11 UTC
Forgot to write, restarting kmail afterwards shows the unread messages in the message list.
Comment 2 Sergio Martins 2011-04-01 01:04:55 UTC
Still the case for you? I haven't seen this.
Comment 3 Christophe Marin 2011-05-18 12:24:29 UTC
*** Bug 273338 has been marked as a duplicate of this bug. ***
Comment 4 Tobias Koenig 2011-06-04 12:38:49 UTC
Hej András,

is this still reproducible for you with current version?

Ciao,
Tobias
Comment 5 András Manţia 2011-06-04 17:09:49 UTC
The unread count not being in sync with the real unread messages is still visible, altough right now it doesn't crash when clicking on Previous.
Comment 6 Christophe Marin 2011-08-02 15:20:17 UTC
from bug 279177

-- Information about the crash:
- What I was doing when the application crashed:
I was reading through and deleteing e-mail using the keyboard.  To be more
specific, it crashed after a few quick arrow key presses to go up and down the
message list.
Comment 7 Christophe Marin 2011-08-02 15:20:19 UTC
*** Bug 279177 has been marked as a duplicate of this bug. ***
Comment 8 Christophe Marin 2011-11-21 21:28:07 UTC
*** Bug 287189 has been marked as a duplicate of this bug. ***
Comment 9 Thomas 2011-12-12 22:26:08 UTC
Created attachment 66676 [details]
New crash information added by DrKonqi

kontact (4.7.2) on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4

- What I was doing when the application crashed: not certain about count being out of sync but definitely reproducable when just deleting (i.e. in a subfolder) the top most message (sorting by date, newest on top) and after deleting the focus "get's lost". Trying to come back into focus somewhere by using the arrow keys lets Kmail crash.

-- Backtrace (Reduced):
#6  MessageList::Core::Item::indexOfChildItem (this=0x0, item=0x1476340) at ../../messagelist/core/item.cpp:185
#7  0x00007fd3df692ade in MessageList::Core::View::messageItemBefore (this=0x1622bb0, referenceItem=0x0, messageTypeFilter=MessageList::Core::MessageTypeAny, loop=true) at ../../messagelist/core/view.cpp:1301
#8  0x00007fd3df699611 in MessageList::Core::View::selectPreviousMessageItem (this=0x1622bb0, messageTypeFilter=<optimized out>, existingSelectionBehaviour=MessageList::Core::ClearExistingSelection, centerItem=true, loop=<optimized out>) at ../../messagelist/core/view.cpp:1452
#9  0x00007fd3e02638bd in KMMainWidget::qt_metacall (this=0x15f8f10, _c=QMetaObject::InvokeMetaMethod, _id=106, _a=0x7fffe6c8a8b0) at ./kmmainwidget.moc:453
[...]
#11 0x00007fd43cb47b62 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
Comment 10 Thomas 2011-12-12 22:30:28 UTC
during that crash report I was using 
https://bugs.kde.org/attachment.cgi?id=66521 as described at 
https://bugs.kde.org/show_bug.cgi?id=258916

Not sure, if this as some impact on it.
Comment 11 Christophe Marin 2011-12-17 10:39:42 UTC
*** Bug 289142 has been marked as a duplicate of this bug. ***
Comment 12 Allen Winter 2011-12-17 16:27:07 UTC
Git commit 54669f4c67ac55dad195507bb0ebd2f7dd0dbb96 by Allen Winter.
Committed on 17/12/2011 at 17:25.
Pushed by winterz into branch 'master'.

in messageItemBefore(), in the case that there is no current item
and starting from the deepest item, make sure that deepest item
has a parent else there will be a crash.

BUG: 264153
FIXED-IN: 4.8.0

M  +1    -1    messagelist/core/view.cpp

http://commits.kde.org/kdepim/54669f4c67ac55dad195507bb0ebd2f7dd0dbb96
Comment 13 Myriam Schweingruber 2012-08-22 19:03:48 UTC
*** Bug 305547 has been marked as a duplicate of this bug. ***
Comment 14 Myriam Schweingruber 2012-08-22 19:04:41 UTC
Reopening based on https://bugs.kde.org/show_bug.cgi?id=305547 which is reproducible in 4.8.5
Comment 15 Laurent Montel 2012-08-23 08:15:30 UTC
Git commit 6edbb94132cd642942d8625118161d8a83bc09b7 by Montel Laurent.
Committed on 23/08/2012 at 10:08.
Pushed by mlaurent into branch 'KDE/4.9'.

Fix Bug 264153 - KMail crashes whne using the Prev. Message button

FIXED-IN: 4.9.1

M  +3    -0    messagelist/core/view.cpp

http://commits.kde.org/kdepim/6edbb94132cd642942d8625118161d8a83bc09b7