Bug 281271

Summary: KMail crash when deselecting a bunch of IMAP folders (EntityTreeModel::setData)
Product: [Frameworks and Libraries] Akonadi Reporter: Daniel Ziltener <zilti>
Component: libakonadiAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: biby, faure, ismail, johann-nikolaus, micuintus, null, steveire, sven.burmeister, winter
Priority: NOR    
Version: 4.7   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Daniel Ziltener 2011-09-03 14:04:12 UTC
Application: kontact (4.7.0)
KDE Platform Version: 4.7.00 (4.7.0) "release 10"
Qt Version: 4.7.4
Operating System: Linux 3.0.4-43-desktop i686
Distribution: "openSUSE 11.4 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:
Selected all IMAP-folders, opened the folder options, closed the folder options with "ok", deselected folders.

The crash can be reproduced every time.

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

Thread 3 (Thread 0xb1b6eb70 (LWP 8309)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb420f105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb626aaec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb5b54e17 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0xb420ab05 in start_thread () from /lib/libpthread.so.0
#5  0xb625cd5e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb1245b70 (LWP 8310)):
#0  0xb40b7a53 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#1  0xb40b88e2 in ?? () from /lib/libglib-2.0.so.0
#2  0xb40b8fce in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0xb7038247 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0xb7008c5d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0xb7008e89 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb6f09fd9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0xb6f0a06b in QThread::run() () from /usr/lib/libQtCore.so.4
#8  0xb6f0cc23 in ?? () from /usr/lib/libQtCore.so.4
#9  0xb420ab05 in start_thread () from /lib/libpthread.so.0
#10 0xb625cd5e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb2dfa710 (LWP 8308)):
[KCrash Handler]
#7  0xb4854c17 in Akonadi::EntityTreeModel::setData(QModelIndex const&, QVariant const&, int) () from /usr/lib/libakonadi-kde.so.4
#8  0xb47abb1a in Akonadi::SelectionProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#9  0xb701026d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#10 0xb701f79c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#11 0xb75f6055 in KSelectionProxyModel::rootIndexAboutToBeRemoved(QModelIndex const&) () from /usr/lib/libkdeui.so.5
#12 0xb75fdaef in KSelectionProxyModelPrivate::removeRangeFromProxy(QItemSelectionRange const&) () from /usr/lib/libkdeui.so.5
#13 0xb75fe7f7 in KSelectionProxyModelPrivate::removeSelectionFromProxy(QItemSelection const&) () from /usr/lib/libkdeui.so.5
#14 0xb7601818 in KSelectionProxyModelPrivate::selectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/libkdeui.so.5
#15 0xb7603205 in KSelectionProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#16 0xb47aba12 in Akonadi::SelectionProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#17 0xb701026d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#18 0xb701f79c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#19 0xb6b2834d in QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/libQtGui.so.4
#20 0xb6b2f2e3 in QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/libQtGui.so.4
#21 0xb6b2f6bc in QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/libQtGui.so.4
#22 0xaf7a2008 in MessageList::Pane::Private::onSelectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/libmessagelist.so.4
#23 0xaf7a2fa5 in MessageList::Pane::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libmessagelist.so.4
#24 0xafa609c3 in CollectionPane::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkmailprivate.so.4
#25 0xb701026d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#26 0xb701f79c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#27 0xb6b2834d in QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/libQtGui.so.4
#28 0xb6b2f2e3 in QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib/libQtGui.so.4
#29 0xb6b2f6bc in QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/libQtGui.so.4
#30 0xb6b2a006 in QItemSelectionModel::select(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/libQtGui.so.4
#31 0xb6acd831 in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#32 0xb6b1a8b4 in QTreeView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#33 0xb6581ab0 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#34 0xb6994d15 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#35 0xb6a26851 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#36 0xb6acab64 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#37 0xb6b16236 in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#38 0xb6a29146 in ?? () from /usr/lib/libQtGui.so.4
#39 0xb7009b16 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#40 0xb6526594 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#41 0xb652fec0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#42 0xb76147f1 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#43 0xb700997e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#44 0xb652766c in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#45 0xb65b3b60 in ?? () from /usr/lib/libQtGui.so.4
#46 0xb65b2c6e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#47 0xb65ddab0 in ?? () from /usr/lib/libQtGui.so.4
#48 0xb40b8509 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#49 0xb40b8d10 in ?? () from /lib/libglib-2.0.so.0
#50 0xb40b8fce in g_main_context_iteration () from /lib/libglib-2.0.so.0
#51 0xb70381fb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#52 0xb65dd6aa in ?? () from /usr/lib/libQtGui.so.4
#53 0xb7008c5d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#54 0xb7008e89 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#55 0xb700d930 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#56 0xb6524314 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#57 0x0804b847 in main ()

Possible duplicates by query: bug 267111, bug 251742.

Reported using DrKonqi
Comment 1 Christophe Marin 2011-09-03 14:52:18 UTC
Maybe dup of bug 267111.

Please install the missing debug packages to get a better backtrace please (kdepimlibs4-debuginfo & libakonadi4-debuginfo)
Comment 2 Daniel Ziltener 2011-09-04 12:19:19 UTC
Unfortunately I can't install the debug packages because my distribution (OpenSUSE with KDE 4.7 Repo) doesn't have them... Sorry for this.
Comment 3 Ismail Donmez 2011-09-04 12:24:09 UTC
(In reply to comment #2)
> Unfortunately I can't install the debug packages because my distribution
> (OpenSUSE with KDE 4.7 Repo) doesn't have them... Sorry for this.

Can you try KDE:Distro:Factory ?
Comment 4 Daniel Ziltener 2011-09-10 20:18:45 UTC
It's the computer I use daily, so I don't really like the idea of installing factory packages.
Comment 5 Christophe Marin 2011-11-17 23:38:14 UTC
*** Bug 285185 has been marked as a duplicate of this bug. ***
Comment 6 Christophe Marin 2011-11-17 23:38:23 UTC
*** Bug 281889 has been marked as a duplicate of this bug. ***
Comment 7 S. Burmeister 2011-12-22 19:24:17 UTC
Created attachment 67029 [details]
New crash information added by DrKonqi

kmail (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:

Kmail crashed after I selected and de-selected several imap folders in the folders pane.

-- Backtrace (Reduced):
#6  0xb552b2f0 in Akonadi::EntityTreeModel::setData(QModelIndex const&, QVariant const&, int) () from /usr/lib/libakonadi-kde.so.4
#7  0xb548410a in Akonadi::SelectionProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#8  0xb6d847dd in metacall (argv=0xbf97e2d8, idx=43, cl=QMetaObject::InvokeMetaMethod, object=0x9ba8378) at kernel/qmetaobject.cpp:237
[...]
#11 0xb7587d15 in KSelectionProxyModel::rootIndexAboutToBeRemoved (this=0x9ba8378, _t1=...) at /usr/src/debug/kdelibs-4.7.2/build/kdeui/moc_kselectionproxymodel.cpp:147
#12 0xb7590d37 in KSelectionProxyModelPrivate::removeRangeFromProxy (this=0x9840b48, range=...) at /usr/src/debug/kdelibs-4.7.2/kdeui/itemviews/kselectionproxymodel.cpp:1691
Comment 8 Allen Winter 2011-12-22 21:55:19 UTC
fyi, I suggested a possible fix for this.
see http://git.reviewboard.kde.org/r/103421/

however, the maintainer of the KSelectionProxyModel class rejected my patch.

I'll CC Steve on this bug and see if the info in here helps him figure out what's really happening.
Comment 9 Christophe Marin 2012-01-06 17:45:14 UTC
*** Bug 290660 has been marked as a duplicate of this bug. ***
Comment 10 Unknown 2012-01-18 10:01:40 UTC
Created attachment 67963 [details]
New crash information added by DrKonqi

kmail (4.8 rc2) on KDE Platform 4.7.97 (4.8 RC2 (4.7.97) "release 1" using Qt 4.8.0

- What I was doing when the application crashed:

I think this crash is related, too.

1.) Have 10+ dIMAP folders
2.) Expand all the folders in the left side of KMail
3.) Click and drag from upside-down: click on an empty area below the folders, hold the mouse button, move the mouse upwards fast
4.) and while you're doing this, on the halfway KMail will crash

-- Backtrace (Reduced):
#6  QModelIndex (other=..., this=0x7fff426ff710) at /usr/include/QtCore/qabstractitemmodel.h:65
#7  KSelectionProxyModelPrivate::removeRangeFromProxy (this=0x19045b0, range=...) at /usr/src/debug/kdelibs-4.7.97/kdeui/itemviews/kselectionproxymodel.cpp:1667
#8  0x00007fd74c6c5c58 in KSelectionProxyModelPrivate::removeSelectionFromProxy (this=0x19045b0, selection=<optimized out>) at /usr/src/debug/kdelibs-4.7.97/kdeui/itemviews/kselectionproxymodel.cpp:1610
#9  0x00007fd74c6c777b in KSelectionProxyModelPrivate::selectionChanged (this=0x19045b0, _selected=<optimized out>, _deselected=<optimized out>) at /usr/src/debug/kdelibs-4.7.97/kdeui/itemviews/kselectionproxymodel.cpp:1860
[...]
#11 0x00007fd74af2f637 in QItemSelectionModel::selectionChanged (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at .moc/release-shared/moc_qitemselectionmodel.cpp:166
Comment 11 David Faure 2012-01-18 20:17:34 UTC

*** This bug has been marked as a duplicate of bug 275752 ***