Bug 397239 - crash when searching with kmail
Summary: crash when searching with kmail
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: server (show other bugs)
Version: GIT (master)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 397874 397882 398191 398282 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-08-07 12:49 UTC by Martin Koller
Modified: 2018-09-06 19:50 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.9.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Koller 2018-08-07 12:49:37 UTC
Application: akonadiserver (5.8.90)

Qt Version: 5.11.1
Frameworks Version: 5.48.0
Operating System: Linux 4.4.138-59-default x86_64
Distribution: "openSUSE Leap 42.3"

-- Information about the crash:
- What I was doing when the application crashed:

I opened the "find messages" dialog from kmail, selected "Search in all folders", "Match all of the following" (default), "Complete Message" and entered my search string and hit "Search", then I got the crash report assistant tellig me akonadi crashed and kmail opens a dialog showing
"Cannot get search result. Cannot connect to the Akonadi service."

-- Backtrace:
Application: Akonadi Server (akonadiserver), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f048a6c8900 (LWP 25381))]

Thread 33 (Thread 0x7f0451ffb700 (LWP 2164)):
#0  0x00007f0486e694a8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
<snip>

Thread 9 (Thread 0x7f04767fc700 (LWP 25461)):
[KCrash Handler]
#6  0x00007f0487fe4f67 in raise () from /lib64/libc.so.6
#7  0x00007f0487fe633a in abort () from /lib64/libc.so.6
#8  0x0000000000643f8e in akMessageHandler (type=QtFatalMsg, context=..., msg=...) at /home/KDE5/source/kde/pim/akonadi/src/shared/akdebug.cpp:177
#9  0x0000000000646094 in (anonymous namespace)::RemoteLogger::dbusLogger (type=QtFatalMsg, ctx=..., msg=...) at /home/KDE5/source/kde/pim/akonadi/src/shared/akremotelog.cpp:178
#10 0x00007f04759f4a24 in (anonymous namespace)::RemoteLogger::dbusLogger (type=QtFatalMsg, ctx=..., msg=...) at /home/KDE5/source/kde/pim/akonadi/src/shared/akremotelog.cpp:178
#11 0x00007f0488c969bf in qt_message_print (message=..., context=..., msgType=QtFatalMsg) at global/qlogging.cpp:1793
#12 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7f0488f10788 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7f04767fa318) at global/qlogging.cpp:365
#13 0x00007f0488c7ff04 in QMessageLogger::fatal (this=this@entry=0x7f04767fa3f0, msg=msg@entry=0x7f0488f10788 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:877
#14 0x00007f0488c7f576 in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:3188
#15 0x000000000042da12 in Akonadi::Server::Connection::self () at /home/KDE5/source/kde/pim/akonadi/src/server/connection.cpp:82
#16 0x00000000005b086b in Akonadi::Server::NotificationCollector::completeNotification (this=0x7f04608d2af0, changeMsg=...) at /home/KDE5/source/kde/pim/akonadi/src/server/storage/notificationcollector.cpp:545
#17 0x00000000005b026f in Akonadi::Server::NotificationCollector::dispatchNotification (this=0x7f04608d2af0, msg=...) at /home/KDE5/source/kde/pim/akonadi/src/server/storage/notificationcollector.cpp:580
#18 0x00000000005acb1b in Akonadi::Server::NotificationCollector::itemNotification (this=0x7f04608d2af0, op=Akonadi::Protocol::ItemChangeNotification::Unlink, items=..., collection=..., collectionDest=..., resource=..., parts=..., addedFlags=..., removedFlags=..., addedTags=..., removedTags=..., addedRelations=..., removedRelations=...) at /home/KDE5/source/kde/pim/akonadi/src/server/storage/notificationcollector.cpp:373
#19 0x00000000005ad719 in Akonadi::Server::NotificationCollector::itemsUnlinked (this=0x7f04608d2af0, items=..., collection=...) at /home/KDE5/source/kde/pim/akonadi/src/server/storage/notificationcollector.cpp:132
#20 0x00000000004bda51 in Akonadi::Server::SearchManager::updateSearchImpl (this=0x1fb8b80, collection=...) at /home/KDE5/source/kde/pim/akonadi/src/server/search/searchmanager.cpp:374
#21 0x00000000004bfb07 in Akonadi::Server::SearchManager::updateSearch(Akonadi::Server::Collection const&)::$_9::operator()() const (this=0x7f03f81740a0) at /home/KDE5/source/kde/pim/akonadi/src/server/search/searchmanager.cpp:269
#22 0x00000000004bfac9 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Akonadi::Server::SearchManager::updateSearch(Akonadi::Server::Collection const&)::$_9>::call(Akonadi::Server::SearchManager::updateSearch(Akonadi::Server::Collection const&)::$_9&, void**) (f=..., arg=0x7f040f7fc530) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:128
#23 0x00000000004bfaa1 in QtPrivate::Functor<Akonadi::Server::SearchManager::updateSearch(Akonadi::Server::Collection const&)::$_9, 0>::call<QtPrivate::List<>, void>(Akonadi::Server::SearchManager::updateSearch(Akonadi::Server::Collection const&)::$_9&, void*, void**) (f=..., arg=0x7f040f7fc530) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:238
#24 0x00000000004bf9dd in QtPrivate::QFunctorSlotObject<Akonadi::Server::SearchManager::updateSearch(Akonadi::Server::Collection const&)::$_9, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x7f03f8174090, r=0x1fb8b80, a=0x7f040f7fc530, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:421
#25 0x00007f0488e7ef76 in QObject::event (this=0x1fb8b80, e=<optimized out>) at kernel/qobject.cpp:1251
#26 0x00007f0488e538f5 in QCoreApplication::notifyInternal2 (receiver=0x1fb8b80, event=event@entry=0x7f03f81218a0) at kernel/qcoreapplication.cpp:1048
#27 0x00007f0488e562be in QCoreApplication::sendEvent (event=0x7f03f81218a0, receiver=<optimized out>) at kernel/qcoreapplication.h:234
#28 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1ff0c30) at kernel/qcoreapplication.cpp:1745
#29 0x00007f0488e56838 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1599
#30 0x00007f0488ea69c3 in postEventSourceDispatch (s=0x7f04600012d0) at kernel/qeventdispatcher_glib.cpp:276
#31 0x00007f0484dbc134 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#32 0x00007f0484dbc388 in ?? () from /usr/lib64/libglib-2.0.so.0
#33 0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#34 0x00007f0488ea61fc in QEventDispatcherGlib::processEvents (this=0x7f04600008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#35 0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f04767fbcb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#36 0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#37 0x00007f0488cac3df in QThreadPrivate::start (arg=0x1ff0af0) at thread/qthread_unix.cpp:367
#38 0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#39 0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f0476ffd700 (LWP 25460)):
#0  0x00007f0486e690ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0488cacffb in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x1ff0500) at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1fb8d10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00000000004ac8fb in Akonadi::Server::SearchTaskManager::searchLoop (this=0x1fb8ce0) at /home/KDE5/source/kde/pim/akonadi/src/server/search/searchtaskmanager.cpp:221
#4  0x00000000004b2e9e in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Akonadi::Server::SearchTaskManager::*)()>::call(void (Akonadi::Server::SearchTaskManager::*)(), Akonadi::Server::SearchTaskManager*, void**) (f=(void (Akonadi::Server::SearchTaskManager::*)(Akonadi::Server::SearchTaskManager * const)) 0x4ac770 <Akonadi::Server::SearchTaskManager::searchLoop()>, o=0x1fb8ce0, arg=0x7f0476ffc8b0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:134
#5  0x00000000004b2e13 in QtPrivate::FunctionPointer<void (Akonadi::Server::SearchTaskManager::*)()>::call<QtPrivate::List<>, void>(void (Akonadi::Server::SearchTaskManager::*)(), Akonadi::Server::SearchTaskManager*, void**) (f=(void (Akonadi::Server::SearchTaskManager::*)(Akonadi::Server::SearchTaskManager * const)) 0x4ac770 <Akonadi::Server::SearchTaskManager::searchLoop()>, o=0x1fb8ce0, arg=0x7f0476ffc8b0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:167
#6  0x00000000004b2d36 in QtPrivate::QSlotObject<void (Akonadi::Server::SearchTaskManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x1fb8b50, r=0x1fb8ce0, a=0x7f0476ffc8b0, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:396
#7  0x00007f0488e8afc6 in QtPrivate::QSlotObjectBase::call (a=0x7f0476ffc8b0, r=<optimized out>, this=<optimized out>) at ../../src/corelib/kernel/qobjectdefs_impl.h:376
#8  QSingleShotTimer::timerEvent (this=0x1ff0570) at kernel/qtimer.cpp:318
#9  0x00007f0488e7ed44 in QObject::event (this=0x1ff0570, e=<optimized out>) at kernel/qobject.cpp:1232
#10 0x00007f0488e538f5 in QCoreApplication::notifyInternal2 (receiver=0x1ff0570, event=event@entry=0x7f0476ffca70) at kernel/qcoreapplication.cpp:1048
#11 0x00007f0488ea588e in QCoreApplication::sendEvent (event=0x7f0476ffca70, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:234
#12 QTimerInfoList::activateTimers (this=0x7f04540030d0) at kernel/qtimerinfo_unix.cpp:643
#13 0x00007f0488ea5ed1 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#14 0x00007f0484dbc134 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#15 0x00007f0484dbc388 in ?? () from /usr/lib64/libglib-2.0.so.0
#16 0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#17 0x00007f0488ea61fc in QEventDispatcherGlib::processEvents (this=0x7f04540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#18 0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f0476ffccb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#19 0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#20 0x00007f0488cac3df in QThreadPrivate::start (arg=0x1ff0050) at thread/qthread_unix.cpp:367
#21 0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#22 0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f04777fe700 (LWP 25459)):
#0  0x00007f0484dfd8b4 in g_mutex_unlock () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f0484dbbd99 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f0484dbc2a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f0488ea621b in QEventDispatcherGlib::processEvents (this=0x7f04680008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f04777fdcb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#7  0x00007f0488cac3df in QThreadPrivate::start (arg=0x1fefb00) at thread/qthread_unix.cpp:367
#8  0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f0477fff700 (LWP 25458)):
#0  0x00007f048809033d in read () from /lib64/libc.so.6
#1  0x00007f0484dfc750 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f0484dbbe49 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0484dbc2a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f0488ea621b in QEventDispatcherGlib::processEvents (this=0x7f045c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f0477ffecb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#7  0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#8  0x00007f0488cac3df in QThreadPrivate::start (arg=0x1fef640) at thread/qthread_unix.cpp:367
#9  0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f047cfb3700 (LWP 25457)):
#0  0x00007f048809033d in read () from /lib64/libc.so.6
#1  0x00007f0484dfc750 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f0484dbbe49 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0484dbc2a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f0488ea621b in QEventDispatcherGlib::processEvents (this=0x7f04640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f047cfb2cb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#7  0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#8  0x00007f0488cac3df in QThreadPrivate::start (arg=0x1fef180) at thread/qthread_unix.cpp:367
#9  0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f047d7b4700 (LWP 25456)):
#0  0x00007f0484db9750 in ?? () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f0484dbbd43 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f0484dbc2a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f0488ea621b in QEventDispatcherGlib::processEvents (this=0x7f046c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f047d7b3cb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#7  0x00007f0488cac3df in QThreadPrivate::start (arg=0x1fdf130) at thread/qthread_unix.cpp:367
#8  0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f047dfb5700 (LWP 25451)):
#0  0x00007f048809430d in poll () from /lib64/libc.so.6
#1  0x00007f0484dbc314 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0488ea621b in QEventDispatcherGlib::processEvents (this=0x7f04700008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f047dfb4cb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#5  0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007f0488cac3df in QThreadPrivate::start (arg=0x1facaf0) at thread/qthread_unix.cpp:367
#7  0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#8  0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f047f137700 (LWP 25382)):
#0  0x00007f048809430d in poll () from /lib64/libc.so.6
#1  0x00007f0484dbc314 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f0484dbc42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0488ea61fc in QEventDispatcherGlib::processEvents (this=0x7f04780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007f0488e5208b in QEventLoop::exec (this=this@entry=0x7f047f136c80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#5  0x00007f0488ca198a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007f0489529805 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f0488cac3df in QThreadPrivate::start (arg=0x7f0489797d40) at thread/qthread_unix.cpp:367
#8  0x00007f0486e64724 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f048809ce8d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f048a6c8900 (LWP 25381)):
#0  0x00007f0486e694a8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0488cacf98 in QWaitConditionPrivate::wait_relative (time=10000, this=0x2027700) at thread/qwaitcondition_unix.cpp:133
#2  QWaitConditionPrivate::wait (time=10000, this=0x2027700) at thread/qwaitcondition_unix.cpp:141
#3  QWaitCondition::wait (this=this@entry=0x20279f0, mutex=mutex@entry=0x20279d0, time=time@entry=10000) at thread/qwaitcondition_unix.cpp:215
#4  0x00007f0488cac00e in QThread::wait (this=<optimized out>, time=10000) at thread/qthread_unix.cpp:779
#5  0x000000000061a4eb in Akonadi::Server::AkThread::quitThread (this=0x20278a0) at /home/KDE5/source/kde/pim/akonadi/src/server/akthread.cpp:74
#6  0x0000000000430477 in Akonadi::Server::Connection::~Connection (this=0x20278a0) at /home/KDE5/source/kde/pim/akonadi/src/server/connection.cpp:175
#7  0x0000000000430a99 in Akonadi::Server::Connection::~Connection (this=0x20278a0) at /home/KDE5/source/kde/pim/akonadi/src/server/connection.cpp:174
#8  0x000000000042b6a1 in qDeleteAll<QTypedArrayData<Akonadi::Server::Connection*>::const_iterator> (begin=..., end=...) at /usr/include/qt5/QtCore/qalgorithms.h:320
#9  0x0000000000427010 in qDeleteAll<QVector<Akonadi::Server::Connection*> > (c=...) at /usr/include/qt5/QtCore/qalgorithms.h:328
#10 0x0000000000425bbc in Akonadi::Server::AkonadiServer::quit (this=0x1f84880) at /home/KDE5/source/kde/pim/akonadi/src/server/akonadi.cpp:264
#11 0x0000000000420957 in main (argc=1, argv=0x7ffcdf7d9718) at /home/KDE5/source/kde/pim/akonadi/src/server/main.cpp:81
Comment 1 Daniel Vrátil 2018-08-27 21:22:10 UTC
*** Bug 397874 has been marked as a duplicate of this bug. ***
Comment 2 Daniel Vrátil 2018-08-27 21:27:22 UTC
Git commit 0297248b0e768516236bdfeb55d04e8d4f4b1c80 by Daniel Vrátil.
Committed on 27/08/2018 at 21:26.
Pushed by dvratil into branch 'Applications/18.08'.

Fix crash when NotificationCollector does not have Connection

This can happen when the NotificationCollector is invoked internally
for instance from the SearchManager.
FIXED-IN: 5.9.1

M  +3    -1    src/server/connection.cpp
M  +1    -1    src/server/storage/notificationcollector.cpp

https://commits.kde.org/akonadi/0297248b0e768516236bdfeb55d04e8d4f4b1c80
Comment 3 Daniel Vrátil 2018-08-27 23:09:15 UTC
*** Bug 397882 has been marked as a duplicate of this bug. ***
Comment 4 Wolfgang Bauer 2018-09-06 19:47:00 UTC
*** Bug 398191 has been marked as a duplicate of this bug. ***
Comment 5 Wolfgang Bauer 2018-09-06 19:50:28 UTC
*** Bug 398282 has been marked as a duplicate of this bug. ***