Bug 359762 - Crash at click on subfolder of kmail maildir
Summary: Crash at click on subfolder of kmail maildir
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: akonadiconsole (show other bugs)
Version: 4.13
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-24 16:55 UTC by Christoph Thielecke
Modified: 2016-02-25 07:58 UTC (History)
0 users

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 Christoph Thielecke 2016-02-24 16:55:30 UTC
Application: akonadiconsole (0.99)
KDE Platform Version: 4.14.13
Qt Version: 4.8.6
Operating System: Linux 4.0.1-040001-generic x86_64
Distribution: Ubuntu 14.04.4 LTS

-- Information about the crash:
I started akonadi-console to reindex the contents of a kmail maildir. It started but when I did click or right click on a subfolder of the maildir, it crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: Akonadi Console (akonadiconsole), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f56a93a5800 (LWP 4171))]

Thread 5 (Thread 0x7f5684723700 (LWP 4174)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f569fbb681d in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f569fbb6859 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f569c399182 in start_thread (arg=0x7f5684723700) at pthread_create.c:312
#4  0x00007f56a41d947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f56434a3700 (LWP 4175)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f569f8f720d in JSC::BlockAllocator::blockFreeingThreadMain() () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f569fbe5fd6 in WTF::wtfThreadEntryPoint(void*) () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f569c399182 in start_thread (arg=0x7f56434a3700) at pthread_create.c:312
#4  0x00007f56a41d947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f5642164700 (LWP 4176)):
#0  0x00007f56a41cc12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f569ad02fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f569ad030ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f56a4b687ce in QEventDispatcherGlib::processEvents (this=0x7f56340008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0x00007f56a4b3a0af in QEventLoop::processEvents (this=this@entry=0x7f5642163da0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f56a4b3a3a5 in QEventLoop::exec (this=this@entry=0x7f5642163da0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f56a4a36c5f in QThread::exec (this=this@entry=0x10093f0) at thread/qthread.cpp:537
#7  0x00007f56a4b1b823 in QInotifyFileSystemWatcherEngine::run (this=0x10093f0) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f56a4a3932f in QThreadPrivate::start (arg=0x10093f0) at thread/qthread_unix.cpp:349
#9  0x00007f569c399182 in start_thread (arg=0x7f5642164700) at pthread_create.c:312
#10 0x00007f56a41d947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f5641219700 (LWP 4180)):
#0  0x00007f56a41cc12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f569ad02fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f569ad030ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f56a4b687ce in QEventDispatcherGlib::processEvents (this=0x7f5638000900, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0x00007f56a4b3a0af in QEventLoop::processEvents (this=this@entry=0x7f5641218de0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f56a4b3a3a5 in QEventLoop::exec (this=this@entry=0x7f5641218de0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f56a4a36c5f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:537
#7  0x00007f56a4a3932f in QThreadPrivate::start (arg=0xc6ebf0) at thread/qthread_unix.cpp:349
#8  0x00007f569c399182 in start_thread (arg=0x7f5641219700) at pthread_create.c:312
#9  0x00007f56a41d947d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f56a93a5800 (LWP 4171)):
[KCrash Handler]
#6  KMime::Headers::Date::dateTime (this=0x0) at ../../kmime/kmime_headers.cpp:1524
#7  0x000000000042a101 in AkonadiBrowserSortModel::lessThan (this=<optimized out>, left=..., right=...) at ../../akonadiconsole/akonadibrowsermodel.cpp:372
#8  0x00007f56a5d2343b in operator() (r2=0, r1=<optimized out>, this=0x7ffebaf70c10) at itemviews/qsortfilterproxymodel.cpp:103
#9  qUpperBoundHelper<int*, int, QSortFilterProxyModelGreaterThan> (lessThan=..., value=@0x1477f88: 2, end=0x1477f84, begin=0x1477f80) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:499
#10 qUpperBound<int*, int, QSortFilterProxyModelGreaterThan> (lessThan=..., value=@0x1477f88: 2, end=0x1477f84, begin=0x1477f80) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:285
#11 QAlgorithmsPrivate::qMerge<int*, int const, QSortFilterProxyModelGreaterThan> (begin=begin@entry=0x1477f80, pivot=pivot@entry=0x1477f84, end=end@entry=0x1477f8c, t=@0x1477f80: 0, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:440
#12 0x00007f56a5d2361a in QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelGreaterThan> (begin=0x1477f80, end=0x1477f8c, t=@0x1477f80: 0, lessThan=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:459
#13 0x00007f56a5d1be30 in qStableSort<int*, QSortFilterProxyModelGreaterThan> (lessThan=..., end=<optimized out>, start=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:212
#14 QSortFilterProxyModelPrivate::sort_source_rows (this=this@entry=0x90b090, source_rows=..., source_parent=...) at itemviews/qsortfilterproxymodel.cpp:469
#15 0x00007f56a5d1d9c2 in QSortFilterProxyModelPrivate::sort (this=0x90b090) at itemviews/qsortfilterproxymodel.cpp:431
#16 0x00007f56a4b4f87a in QMetaObject::activate (sender=sender@entry=0xa7a0f0, m=m@entry=0x7f56a4e9f6a0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffebaf70f00) at kernel/qobject.cpp:3539
#17 0x00007f56a4b996f4 in QAbstractItemModel::rowsInserted (this=this@entry=0xa7a0f0, _t1=..., _t2=0, _t3=2) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#18 0x00007f56a4b355ce in QAbstractItemModel::endInsertRows (this=0xa7a0f0) at kernel/qabstractitemmodel.cpp:2433
#19 0x00007f56a5d1ab79 in QSortFilterProxyModelPrivate::insert_source_items (this=this@entry=0xa7a110, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=emit_signal@entry=true) at itemviews/qsortfilterproxymodel.cpp:695
#20 0x00007f56a5d1e05a in QSortFilterProxyModelPrivate::source_items_inserted (this=this@entry=0xa7a110, source_parent=..., start=<optimized out>, end=<optimized out>, orient=orient@entry=Qt::Vertical) at itemviews/qsortfilterproxymodel.cpp:806
#21 0x00007f56a5d1e28f in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0xa7a110, source_parent=..., start=<optimized out>, end=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1297
#22 0x00007f56a4b4f87a in QMetaObject::activate (sender=sender@entry=0xa9fa20, m=m@entry=0x7f56a4e9f6a0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffebaf71240) at kernel/qobject.cpp:3539
#23 0x00007f56a4b996f4 in QAbstractItemModel::rowsInserted (this=this@entry=0xa9fa20, _t1=..., _t2=7, _t3=9) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#24 0x00007f56a4b355ce in QAbstractItemModel::endInsertRows (this=this@entry=0xa9fa20) at kernel/qabstractitemmodel.cpp:2433
#25 0x00007f56a649fa61 in KSelectionProxyModelPrivate::sourceRowsInserted (this=0xa1cda0, parent=..., start=<optimized out>, end=<optimized out>) at ../../kdeui/itemviews/kselectionproxymodel.cpp:1045
#26 0x00007f56a4b4f87a in QMetaObject::activate (sender=sender@entry=0xa26430, m=m@entry=0x7f56a4e9f6a0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffebaf71420) at kernel/qobject.cpp:3539
#27 0x00007f56a4b996f4 in QAbstractItemModel::rowsInserted (this=this@entry=0xa26430, _t1=..., _t2=7, _t3=9) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#28 0x00007f56a4b355ce in QAbstractItemModel::endInsertRows (this=this@entry=0xa26430) at kernel/qabstractitemmodel.cpp:2433
#29 0x00007f56a8e62715 in Akonadi::EntityTreeModelPrivate::itemsFetched (this=this@entry=0xa26540, collectionId=collectionId@entry=194, items=...) at ../../akonadi/entitytreemodel_p.cpp:577
#30 0x00007f56a8e62bba in Akonadi::EntityTreeModelPrivate::itemsFetched (this=0xa26540, items=...) at ../../akonadi/entitytreemodel_p.cpp:494
#31 0x00007f56a4b4f87a in QMetaObject::activate (sender=0x12be7a0, m=m@entry=0x7f56a91f3f00 <Akonadi::ItemFetchJob::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffebaf71720) at kernel/qobject.cpp:3539
#32 0x00007f56a8e87c32 in Akonadi::ItemFetchJob::itemsReceived (this=<optimized out>, _t1=...) at ./moc_itemfetchjob.cpp:114
#33 0x00007f56a8e87d13 in timeout (this=<optimized out>) at ../../akonadi/itemfetchjob.cpp:79
#34 Akonadi::ItemFetchJob::qt_static_metacall (_o=0x7ffebaf70ae0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xffffffec) at ./moc_itemfetchjob.cpp:65
#35 0x00007f56a4b4f87a in QMetaObject::activate (sender=0x136c6d0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3539
#36 0x00007f56a4b53a31 in QObject::event (this=0x136c6d0, e=<optimized out>) at kernel/qobject.cpp:1156
#37 0x00007f56a57a3e2c in QApplicationPrivate::notify_helper (this=this@entry=0x8310e0, receiver=receiver@entry=0x136c6d0, e=e@entry=0x7ffebaf71be0) at kernel/qapplication.cpp:4567
#38 0x00007f56a57aa4a0 in QApplication::notify (this=this@entry=0x7ffebaf720a0, receiver=receiver@entry=0x136c6d0, e=e@entry=0x7ffebaf71be0) at kernel/qapplication.cpp:4353
#39 0x00007f56a64ae80a in KApplication::notify (this=0x7ffebaf720a0, receiver=0x136c6d0, event=0x7ffebaf71be0) at ../../kdeui/kernel/kapplication.cpp:311
#40 0x00007f56a4b3b4dd in QCoreApplication::notifyInternal (this=0x7ffebaf720a0, receiver=0x136c6d0, event=0x7ffebaf71be0) at kernel/qcoreapplication.cpp:953
#41 0x00007f56a4b6b383 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#42 QTimerInfoList::activateTimers (this=0x833ef0) at kernel/qeventdispatcher_unix.cpp:621
#43 0x00007f56a4b685f1 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:193
#44 0x00007f569ad02e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f569ad03048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f569ad030ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f56a4b687ce in QEventDispatcherGlib::processEvents (this=0x7a8ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#48 0x00007f56a5845c06 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#49 0x00007f56a4b3a0af in QEventLoop::processEvents (this=this@entry=0x7ffebaf71e50, flags=...) at kernel/qeventloop.cpp:149
#50 0x00007f56a4b3a3a5 in QEventLoop::exec (this=this@entry=0x7ffebaf71e50, flags=...) at kernel/qeventloop.cpp:204
#51 0x00007f56a4b3fb79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#52 0x00007f56a57a237c in QApplication::exec () at kernel/qapplication.cpp:3828
#53 0x000000000041bbea in main (argc=1, argv=<optimized out>) at ../../akonadiconsole/main.cpp:62

An https://bugs.kde.org/ berichten

Reproducible: Always
Comment 1 Allen Winter 2016-02-24 17:30:47 UTC
Git commit b4d42c7fbeedc05d9b47e5613578e608f14d6c11 by Allen Winter.
Committed on 24/02/2016 at 17:29.
Pushed by winterz into branch 'KDE/4.14'.

akonadiconsole/akonadibrowsermodel.cpp - prohibit a crash in lessThan()

CHERRY-PICK: everywhere

M  +7    -1    akonadiconsole/akonadibrowsermodel.cpp

http://commits.kde.org/kdepim/b4d42c7fbeedc05d9b47e5613578e608f14d6c11
Comment 2 Laurent Montel 2016-02-25 07:58:16 UTC
Git commit c9dc6b2cca086de4797c03c418b962c65a233a03 by Montel Laurent, on behalf of Allen Winter.
Committed on 25/02/2016 at 07:58.
Pushed by mlaurent into branch 'master'.

akonadiconsole/akonadibrowsermodel.cpp - prohibit a crash in lessThan()

CHERRY-PICK: everywhere
(cherry picked from commit b4d42c7fbeedc05d9b47e5613578e608f14d6c11)

M  +7    -2    akonadiconsole/akonadibrowsermodel.cpp

http://commits.kde.org/kdepim/c9dc6b2cca086de4797c03c418b962c65a233a03