Bug 245877 - Kontact crashes while startup in KDescendantsProxyModel
Summary: Kontact crashes while startup in KDescendantsProxyModel
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Stephen Kelly
URL:
Keywords:
: 245886 249399 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-07-27 10:58 UTC by Bjoern Ricks
Modified: 2017-01-07 22:35 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (7.82 KB, text/plain)
2010-08-01 15:35 UTC, S. Burmeister
Details
New crash information added by DrKonqi (6.64 KB, text/plain)
2010-08-12 17:45 UTC, Elias Probst
Details
New crash information added by DrKonqi (8.71 KB, text/plain)
2010-08-12 23:03 UTC, S. Burmeister
Details
New crash information added by DrKonqi (7.82 KB, text/plain)
2010-08-17 05:50 UTC, Alejandro Nova
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bjoern Ricks 2010-07-27 10:58:03 UTC
Application: kontact (4.6 pre)
KDE Platform Version: 4.4.93 (KDE 4.4.93 (KDE 4.5 >= 20100713)) (Compiled from sources)
Qt Version: 4.6.3
Operating System: Linux 2.6.26-2-xen-686 i686
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
During the startup of Akonadi I tried to open the message composer. After clicking on the create message button kontact directly crashed. Now it's not going to start anymore and crashes on every startup.

The crash can be reproduced every time.

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

Thread 2 (Thread 0xb15f6b70 (LWP 31449)):
#0  0xb7f6d416 in __kernel_vsyscall ()
#1  0xb4f7ffcf in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/nosegneg/libpthread.so.0
#2  0xb6a20e1d in pthread_cond_wait () from /lib/i686/nosegneg/libc.so.6
#3  0xb5b40217 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0xb5b40261 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0xb4f7b96c in start_thread () from /lib/i686/nosegneg/libpthread.so.0
#6  0xb6a137ee in clone () from /lib/i686/nosegneg/libc.so.6

Thread 1 (Thread 0xb39c9930 (LWP 31446)):
[KCrash Handler]
#7  QModelIndex (this=0x8d6d958, sourceIndex=...) at /usr/include/qt4/QtCore/qabstractitemmodel.h:65
#8  KDescendantsProxyModel::mapFromSource (this=0x8d6d958, sourceIndex=...) at ../../akonadi/kdescendantsproxymodel2.cpp:458
#9  0xb53f6db2 in KDescendantsProxyModelPrivate::processPendingParents (this=0x8e30c70) at ../../akonadi/kdescendantsproxymodel2.cpp:151
#10 0xb53f893b in KDescendantsProxyModelPrivate::scheduleProcessPendingParents (this=0x8e30c70, parent=..., start=0, end=0) at ../../akonadi/kdescendantsproxymodel2.cpp:119
#11 KDescendantsProxyModelPrivate::sourceRowsInserted (this=0x8e30c70, parent=..., start=0, end=0) at ../../akonadi/kdescendantsproxymodel2.cpp:589
#12 0xb53f8c6a in KDescendantsProxyModel::qt_metacall (this=0x8d6d958, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbfbe14e0) at ./moc_kdescendantsproxymodel_p.cpp:96
#13 0xb6cf580a in QMetaObject::metacall (object=0x8d6d958, cl=4294967295, idx=26, argv=0xbfbe14e0) at kernel/qmetaobject.cpp:237
#14 0xb6d041db in QMetaObject::activate (sender=0x8d3cc98, m=0xb6e04318, local_signal_index=5, argv=0xbfbe14e0) at kernel/qobject.cpp:3295
#15 0xb6d559cf in QAbstractItemModel::rowsInserted (this=0x8d3cc98, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:181
#16 0xb6ce9203 in QAbstractItemModel::endInsertRows (this=0x8d3cc98) at kernel/qabstractitemmodel.cpp:2413
#17 0xb782474d in QSortFilterProxyModelPrivate::insert_source_items (this=0x8df2e30, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Qt::Vertical, 
    emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:656
#18 0xb7824c87 in QSortFilterProxyModelPrivate::source_items_inserted (this=0x8df2e30, source_parent=..., start=<value optimized out>, end=0, orient=Qt::Vertical)
    at itemviews/qsortfilterproxymodel.cpp:767
#19 0xb7826c2f in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x8df2e30, source_parent=..., start=0, end=0) at itemviews/qsortfilterproxymodel.cpp:1242
#20 0xb78289ef in QSortFilterProxyModel::qt_metacall (this=0x8d3cc98, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0xbfbe1800) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:135
#21 0xb53a8702 in Akonadi::EntityMimeTypeFilterModel::qt_metacall (this=0x8d3cc98, _c=QMetaObject::InvokeMetaMethod, _id=37, _a=0xbfbe1800) at ./entitymimetypefiltermodel.moc:64
#22 0xb6cf580a in QMetaObject::metacall (object=0x8d3cc98, cl=4294967295, idx=37, argv=0xbfbe1800) at kernel/qmetaobject.cpp:237
#23 0xb6d041db in QMetaObject::activate (sender=0x8d3b250, m=0xb6e04318, local_signal_index=5, argv=0xbfbe1800) at kernel/qobject.cpp:3295
#24 0xb6d559cf in QAbstractItemModel::rowsInserted (this=0x8d3b250, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:181
#25 0xb6ce9203 in QAbstractItemModel::endInsertRows (this=0x8d3b250) at kernel/qabstractitemmodel.cpp:2413
#26 0xb53b7ed3 in Akonadi::EntityTreeModelPrivate::collectionsFetched (this=0x8df2248, collections=...) at ../../akonadi/entitytreemodel_p.cpp:356
#27 0xb53ab146 in Akonadi::EntityTreeModel::qt_metacall (this=0x8d3b250, _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0xbfbe1b78) at ./entitytreemodel.moc:129
#28 0xb6cf580a in QMetaObject::metacall (object=0x8d3b250, cl=4294967295, idx=32, argv=0xbfbe1b78) at kernel/qmetaobject.cpp:237
#29 0xb6d041db in QMetaObject::activate (sender=0x8ed9840, m=0xb54be894, local_signal_index=0, argv=0xbfbe1b78) at kernel/qobject.cpp:3295
#30 0xb537b393 in Akonadi::CollectionFetchJob::collectionsReceived (this=0x8ed9840, _t1=...) at ./collectionfetchjob.moc:92
#31 0xb537b7d2 in Akonadi::CollectionFetchJobPrivate::timeout (this=0x8ed9840, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfbe1c7c) at ../../akonadi/collectionfetchjob.cpp:64
#32 Akonadi::CollectionFetchJob::qt_metacall (this=0x8ed9840, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfbe1c7c) at ./collectionfetchjob.moc:80
#33 0xb6cf580a in QMetaObject::metacall (object=0x8ed9840, cl=4294967295, idx=37, argv=0xbfbe1c7c) at kernel/qmetaobject.cpp:237
#34 0xb6d041db in QMetaObject::activate (sender=0x8df9690, m=0xb6e04724, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3295
#35 0xb6d567e7 in QTimer::timeout (this=0x8df9690) at .moc/release-shared/moc_qtimer.cpp:134
#36 0xb6d0c0be in QTimer::timerEvent (this=0x8df9690, e=0xbfbe21b0) at kernel/qtimer.cpp:271
#37 0xb6d00c84 in QObject::event (this=0x8df9690, e=0x51) at kernel/qobject.cpp:1212
#38 0xb71ee5cc in QApplicationPrivate::notify_helper (this=0x8a90298, receiver=0x8df9690, e=0xbfbe21b0) at kernel/qapplication.cpp:4302
#39 0xb71f515e in QApplication::notify (this=0xbfbe2514, receiver=0x8df9690, e=0xbfbe21b0) at kernel/qapplication.cpp:3706
#40 0xb7d2c67a in KApplication::notify (this=0xbfbe2514, receiver=0x8df9690, event=0xbfbe21b0) at ../../kdeui/kernel/kapplication.cpp:309
#41 0xb6cf052b in QCoreApplication::notifyInternal (this=0xbfbe2514, receiver=0x8df9690, event=0xbfbe21b0) at kernel/qcoreapplication.cpp:726
#42 0xb6d1f7b6 in QCoreApplication::sendEvent (this=0x8a93674) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#43 QTimerInfoList::activateTimers (this=0x8a93674) at kernel/qeventdispatcher_unix.cpp:603
#44 0xb6d1c3a4 in timerSourceDispatch (source=0x8a93640) at kernel/qeventdispatcher_glib.cpp:184
#45 0xb4ed22f5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#46 0xb4ed5fd8 in ?? () from /lib/libglib-2.0.so.0
#47 0xb4ed61b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#48 0xb6d1c095 in QEventDispatcherGlib::processEvents (this=0x8a70a30, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#49 0xb72acf45 in QGuiEventDispatcherGlib::processEvents (this=0x8a70a30, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#50 0xb6ceeb49 in QEventLoop::processEvents (this=0xbfbe2474, flags=) at kernel/qeventloop.cpp:149
#51 0xb6ceef9a in QEventLoop::exec (this=0xbfbe2474, flags=...) at kernel/qeventloop.cpp:201
#52 0xb6cf41cf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#53 0xb71ee667 in QApplication::exec () at kernel/qapplication.cpp:3581
#54 0x0804b406 in main (argc=1, argv=0xbfbe2734) at ../../../kontact/src/main.cpp:218

Reported using DrKonqi
Comment 1 S. Burmeister 2010-08-01 15:35:13 UTC
Created attachment 49728 [details]
New crash information added by DrKonqi

kontact (4.6 pre) on KDE Platform 4.5.62 (KDE 4.5.62 (KDE 4.6 >= 20100729)) "release 3" using Qt 4.6.3

- What I was doing when the application crashed:

Starting Kontact KDE 4.4.62

rpm -qa | grep akonadi
libakonadi4-4.5.62svn1156592-1.3.i586
libakonadiprotocolinternals1-1.4.50+svn1157568-1.1.i586
akonadi-runtime-1.4.50+svn1157568-1.1.i586
akonadi-4.5.62svn1156592-1.3.i586
libakonadi4-debuginfo-4.5.62svn1156592-1.3.i586

-- Backtrace (Reduced):
#7  QModelIndex (this=0x81b0ea0, sourceIndex=...) at /usr/include/QtCore/qabstractitemmodel.h:65
#8  KDescendantsProxyModel::mapFromSource (this=0x81b0ea0, sourceIndex=...) at /usr/src/debug/kdepimlibs-4.5.62svn1156592/akonadi/kdescendantsproxymodel2.cpp:458
#9  0xb4aee173 in KDescendantsProxyModelPrivate::processPendingParents (this=0x8392560) at /usr/src/debug/kdepimlibs-4.5.62svn1156592/akonadi/kdescendantsproxymodel2.cpp:151
#10 0xb4aef018 in scheduleProcessPendingParents (this=0x8392560, parent=..., start=0, end=0) at /usr/src/debug/kdepimlibs-4.5.62svn1156592/akonadi/kdescendantsproxymodel2.cpp:119
#11 KDescendantsProxyModelPrivate::sourceRowsInserted (this=0x8392560, parent=..., start=0, end=0) at /usr/src/debug/kdepimlibs-4.5.62svn1156592/akonadi/kdescendantsproxymodel2.cpp:589
Comment 2 Volker Krause 2010-08-02 09:01:32 UTC
Steve, is this still valid or fixed with KDPM2?
Comment 3 Stephen Kelly 2010-08-02 16:03:21 UTC
The backtrace has version 2 in it already, so I guess this is valid with up to date sources.

I can't reproduce though, so anyone who can should checkout, build and install the proxymodeltestsuite

svn co $KDESVN/home/kde/trunk/KDE/kdelibs/kdeui/tests/proxymodeltestsuite
cd proxymodeltestsuite
cmake && make install.

Then apply a patch to your kdepimlibs. Note that you will have to use the correct path to the library:

diff --git a/akonadi/CMakeLists.txt b/akonadi/CMakeLists.txt                                                                                                                                               
index 01bf6b4..af79f65 100644                                                                                                                                                                              
--- a/akonadi/CMakeLists.txt
+++ b/akonadi/CMakeLists.txt
@@ -188,7 +188,9 @@ kde4_add_library( akonadi-kde ${LIBRARY_TYPE} ${akonadikde_LIB_SRC} )
 
 macro_ensure_version( "4.2.0" ${KDE_VERSION} KDE_IS_AT_LEAST_42 )
 
-target_link_libraries( akonadi-kde ${KDE4_SOLID_LIBS} ${QT_QTNETWORK_LIBRARY} ${QT_QTDBUS_LIBRARY} ${QT_QTSQL_LIBRARY} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} ${AKONADI_COMMON_LIBRARIES} )
+target_link_libraries( akonadi-kde ${KDE4_SOLID_LIBS} ${QT_QTNETWORK_LIBRARY} ${QT_QTDBUS_LIBRARY} ${QT_QTSQL_LIBRARY} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} ${AKONADI_COMMON_LIBRARIES}
+ /home/kde-devel/kde/lib/libproxymodeltestsuite.so
+ )
 set( AKONADI_KDE_DEPS ${KDE4_KDEUI_LIBS} ${QT_QTDBUS_LIBRARY} ${QT_QTCORE_LIBRARY} )
 
 if(KDE_IS_AT_LEAST_42)
diff --git a/akonadi/collectioncombobox.cpp b/akonadi/collectioncombobox.cpp
index 96b9cb5..f167282 100644
--- a/akonadi/collectioncombobox.cpp
+++ b/akonadi/collectioncombobox.cpp
@@ -32,6 +32,7 @@
 
 #include "kdescendantsproxymodel_p.h"
 #include "collectionutils_p.h"
+#include "modeleventlogger.h"
 
 #include <QtCore/QAbstractItemModel>
 
@@ -58,6 +59,8 @@ class CollectionComboBox::Private
         baseModel = mModel;
       }
 
+      new ModelEventLogger( baseModel, parent );
+
       KDescendantsProxyModel *proxyModel = new KDescendantsProxyModel( parent );
       proxyModel->setDisplayAncestorData( true );
       proxyModel->setSourceModel( baseModel );


Then when the app crashes you will get output such as:

Debug: Writing to  "main.akonadi::entitymimetypefiltermodel.152015016.0.cpp"  Num events:  1 


Send me that cpp file, or all of them if there are more than one.
Comment 4 Elias Probst 2010-08-12 17:45:13 UTC
Created attachment 50070 [details]
New crash information added by DrKonqi

kmail (2.0 beta1) on KDE Platform 4.5.00 (KDE 4.5.0) using Qt 4.6.3

- What I was doing when the application crashed:
I can confirm this behaviour.
I'm trying to launch the composer by running 'kmail someone@somewhere.local' from krunner.

-- Backtrace (Reduced):
#6  QModelIndex (this=<value optimized out>, sourceIndex=<value optimized out>) at /usr/include/qt4/QtCore/qabstractitemmodel.h:65
#7  KDescendantsProxyModel::mapFromSource (this=<value optimized out>, sourceIndex=<value optimized out>)
    at /var/tmp/portage/kde-base/kdepimlibs-4.5.0/work/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:458
#8  0x00007f1c2a8c1603 in KDescendantsProxyModelPrivate::processPendingParents (this=<value optimized out>)
    at /var/tmp/portage/kde-base/kdepimlibs-4.5.0/work/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:151
#9  0x00007f1c2a8c2182 in KDescendantsProxyModelPrivate::scheduleProcessPendingParents (this=<value optimized out>, parent=..., start=0, end=0)
    at /var/tmp/portage/kde-base/kdepimlibs-4.5.0/work/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:119
#10 KDescendantsProxyModelPrivate::sourceRowsInserted (this=<value optimized out>, parent=..., start=0, end=0)
    at /var/tmp/portage/kde-base/kdepimlibs-4.5.0/work/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:589
Comment 5 S. Burmeister 2010-08-12 23:03:19 UTC
Created attachment 50086 [details]
New crash information added by DrKonqi

kmail (2.0.89) on KDE Platform 4.5.64 (KDE 4.5.64 (KDE 4.6 >= 20100811)) "release 2" using Qt 4.6.3

- What I was doing when the application crashed:

Starting Kmail crashes everytime with the .64 snapshot of KDE 4.6

-- Backtrace (Reduced):
#7  QModelIndex (this=0x820ab40, sourceIndex=...) at /usr/include/QtCore/qabstractitemmodel.h:65
#8  KDescendantsProxyModel::mapFromSource (this=0x820ab40, sourceIndex=...) at /usr/src/debug/kdepimlibs-4.5.64svn1162763/akonadi/kdescendantsproxymodel.cpp:458
#9  0xb55d63f3 in KDescendantsProxyModelPrivate::processPendingParents (this=0x82aa9c8) at /usr/src/debug/kdepimlibs-4.5.64svn1162763/akonadi/kdescendantsproxymodel.cpp:151
#10 0xb55d7298 in scheduleProcessPendingParents (this=0x82aa9c8, parent=..., start=0, end=0) at /usr/src/debug/kdepimlibs-4.5.64svn1162763/akonadi/kdescendantsproxymodel.cpp:119
#11 KDescendantsProxyModelPrivate::sourceRowsInserted (this=0x82aa9c8, parent=..., start=0, end=0) at /usr/src/debug/kdepimlibs-4.5.64svn1162763/akonadi/kdescendantsproxymodel.cpp:589
Comment 6 Stephen Kelly 2010-08-16 17:29:20 UTC
Could people affected by this bug retest? I have probably either fixed it or you might hit a new assert.
Comment 7 Alejandro Nova 2010-08-17 05:50:26 UTC
Created attachment 50643 [details]
New crash information added by DrKonqi

kmail (2.0 beta1) on KDE Platform 4.5.00 (KDE 4.5.0) using Qt 4.7.0

- What I was doing when the application crashed:
The same thing as OP: trying to send mail.

- Custom settings of the application:
I tried to alter the maildir configuration. Nothing else.

-- Backtrace (Reduced):
#6  QModelIndex (this=0x2e2eb70, sourceIndex=...) at /usr/include/QtCore/qabstractitemmodel.h:65
#7  KDescendantsProxyModel::mapFromSource (this=0x2e2eb70, sourceIndex=...) at /usr/src/debug/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:458
#8  0x00000033233017ab in KDescendantsProxyModelPrivate::processPendingParents (this=0x2fcf350) at /usr/src/debug/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:151
#9  0x0000003323303104 in scheduleProcessPendingParents (this=<value optimized out>, parent=..., start=0, end=0) at /usr/src/debug/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:119
#10 KDescendantsProxyModelPrivate::sourceRowsInserted (this=<value optimized out>, parent=..., start=0, end=0) at /usr/src/debug/kdepimlibs-4.5.0/akonadi/kdescendantsproxymodel.cpp:589
Comment 8 Stephen Kelly 2010-08-17 13:55:23 UTC
*** Bug 245886 has been marked as a duplicate of this bug. ***
Comment 9 Christophe Marin 2010-09-19 00:45:02 UTC
*** Bug 249399 has been marked as a duplicate of this bug. ***
Comment 10 Denis Kurz 2016-09-24 19:31:20 UTC
This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present?

If noone confirms this bug for a Framework-based version of kontact (version 5.0 or later, as part of KDE Applications 15.08 or later), it gets closed in about three months.
Comment 11 Denis Kurz 2017-01-07 22:35:05 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.