Bug 382379 - Crash when deleting a couple messages
Summary: Crash when deleting a couple messages
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: message list (show other bugs)
Version: Git (master)
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-15 15:11 UTC by Christophe Marin
Modified: 2017-07-17 16:24 UTC (History)
1 user (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 Christophe Marin 2017-07-15 15:11:42 UTC
Master build was refreshed today.

Pressing delete twice on a given folder or RMB/move all messages to trash seem to produce the same backtrace.

17:07:26 - kmail2(3440) -  : ASSERT: "belowIndex.isValid()" in file /kde/src/5/pim/messagelib/messagelist/src/core/view.cpp, line 1164

Thread 1 (Thread 0x7fa7ae726940 (LWP 3440)):
#0  0x00007fa7ab4eea60 in __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fa7ad8196e2 in KCrash::defaultCrashHandler(int) (sig=6) at /kde/src/5/kcrash/src/kcrash.cpp:434
#2  0x00007fa7ab4eeae0 in <signal handler called> () at /lib64/libc.so.6
#3  0x00007fa7ab4eea60 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#4  0x00007fa7ab4f00c6 in __GI_abort () at abort.c:78
#5  0x00007fa7abc858b1 in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007fa7abc80f97 in  () at /usr/lib64/libQt5Core.so.5
#7  0x00007fa7a9f091e8 in MessageList::Core::View::messageItemAfter(MessageList::Core::Item*, MessageList::Core::MessageTypeFilter, bool) (this=0x2c7c400, referenceItem=0x3713170, messageTypeFilter=MessageList::Core::MessageTypeAny, loop=false) at /kde/src/5/pim/messagelib/messagelist/src/core/view.cpp:1164
#8  0x00007fa7a9f0b9f8 in MessageList::Core::View::markMessageItemsAsAboutToBeRemoved(QList<MessageList::Core::MessageItem*>&, bool) (this=0x2c7c400, items=..., bMark=true) at /kde/src/5/pim/messagelib/messagelist/src/core/view.cpp:1762
#9  0x00007fa7a9f65580 in MessageList::Widget::markMessageItemsAsAboutToBeRemoved(long, bool) (this=0x2cfd490, ref=4, bMark=true) at /kde/src/5/pim/messagelib/messagelist/src/widget.cpp:714
#10 0x00007fa7a9f50a17 in MessageList::Pane::markMessageItemsAsAboutToBeRemoved(long, bool) (this=0x2cf8240, ref=4, bMark=true) at /kde/src/5/pim/messagelib/messagelist/src/pane.cpp:936
#11 0x00007fa7ade58048 in KMMainWidget::trashMessageSelected(long) (this=0x2b147c0, ref=4) at /kde/src/5/pim/kmail/src/kmmainwidget.cpp:1875
#12 0x00007fa7ade55e64 in KMMainWidget::slotTrashSelectedMessages() (this=0x2b147c0) at /kde/src/5/pim/kmail/src/kmmainwidget.cpp:1913
#13 0x00007fa7ade720be in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KMMainWidget::*)()>::call(void (KMMainWidget::*)(), KMMainWidget*, void**) (f=(void (KMMainWidget::*)(KMMainWidget * const)) 0x7fa7ade55e20 <KMMainWidget::slotTrashSelectedMessages()>, o=0x2b147c0, arg=0x7ffe23401ac0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:136
#14 0x00007fa7ade72033 in QtPrivate::FunctionPointer<void (KMMainWidget::*)()>::call<QtPrivate::List<>, void>(void (KMMainWidget::*)(), KMMainWidget*, void**) (f=(void (KMMainWidget::*)(KMMainWidget * const)) 0x7fa7ade55e20 <KMMainWidget::slotTrashSelectedMessages()>, o=0x2b147c0, arg=0x7ffe23401ac0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:169
#15 0x00007fa7ade71f56 in QtPrivate::QSlotObject<void (KMMainWidget::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x2e82850, r=0x2b147c0, a=0x7ffe23401ac0, ret=0x0) at /usr/include/qt5/QtCore/qobject_impl.h:120
Comment 1 Christophe Marin 2017-07-15 15:26:52 UTC
correction, RMB / move all messages to trash produces a different one :
#3  0x00007f9ca5eb77c8 in MessageList::Core::Item::indexOfChildItem(MessageList::Core::Item*) const (this=0x7f9ca7f69a60 <QListData::shared_null>, child=0x5f3cb30)
    at /kde/src/5/pim/messagelib/messagelist/src/core/item.cpp:334
#4  0x00007f9ca5ed73ea in MessageList::Core::Model::index(MessageList::Core::Item*, int) const (this=0x164f690, item=0x5f3cb30, column=0)
    at /kde/src/5/pim/messagelib/messagelist/src/core/model.cpp:579
#5  0x00007f9ca5f217f7 in MessageList::Core::View::setAllGroupsExpanded(bool) (this=0x16ae500, expand=true) at /kde/src/5/pim/messagelib/messagelist/src/core/view.cpp:1053
#6  0x00007f9ca5f7a10c in MessageList::Widget::selectAll() (this=0x16ec0c0) at /kde/src/5/pim/messagelib/messagelist/src/widget.cpp:179
#7  0x00007f9ca5f66efb in MessageList::Pane::selectAll() (this=0x154c7e0) at /kde/src/5/pim/messagelib/messagelist/src/pane.cpp:402
#8  0x00007f9ca9e6ed53 in KMMainWidget::slotSelectAllMessages() (this=0x15058b0) at /kde/src/5/pim/kmail/src/kmmainwidget.cpp:2633
#9  0x00007f9ca9e6eae6 in KMMainWidget::slotEmptyFolder() (this=0x15058b0) at /kde/src/5/pim/kmail/src/kmmainwidget.cpp:1488
#10 0x00007f9ca9e8b0be in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KMMainWidget::*)()>::call(void (KMMainWidget::*)(), KMMainWidget*, void**) (f=(void (KMMainWidget::*)(KMMainWidget * const)) 0x7f9ca9e6e780 <KMMainWidget::slotEmptyFolder()>, o=0x15058b0, arg=0x7ffcbf645d60) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:136
#11 0x00007f9ca9e8b033 in QtPrivate::FunctionPointer<void (KMMainWidget::*)()>::call<QtPrivate::List<>, void>(void (KMMainWidget::*)(), KMMainWidget*, void**) (f=(void (KMMainWidget::*)(KMMainWidget * const)) 0x7f9ca9e6e780 <KMMainWidget::slotEmptyFolder()>, o=0x15058b0, arg=0x7ffcbf645d60) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:169
#12 0x00007f9ca9e8af56 in QtPrivate::QSlotObject<void (KMMainWidget::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x18723d0, r=0x15058b0, a=0x7ffcbf645d60, ret=0x0) at /usr/include/qt5/QtCore/qobject_impl.h:120
Comment 2 Christophe Marin 2017-07-17 06:40:52 UTC
@Dan, you're the last one who touched the messagelib repo. Does that bt ring a bell ?
Comment 3 Christophe Marin 2017-07-17 16:24:46 UTC
Fixed by dfaure in master