Bug 403058 - Crash of akonadiserver upon startup
Summary: Crash of akonadiserver upon startup
Status: RESOLVED DOWNSTREAM
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: server (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-01-10 07:48 UTC by Erik Quaeghebeur
Modified: 2019-01-10 18:44 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Quaeghebeur 2019-01-10 07:48:06 UTC
Application: akonadiserver (5.9.3)

Qt Version: 5.11.3
Frameworks Version: 5.52.0
Operating System: Linux 4.14.83-gentoo x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
The computer was starting up, so I assume that akonadiserver crashed while it was starting.

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

Thread 2 (Thread 0x7fcc48641700 (LWP 10959)):
#0  0x00007fcc52970d63 in poll () from /lib64/libc.so.6
#1  0x00007fcc4f4e70b9 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fcc4f4e71cc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fcc534edf5b in QEventDispatcherGlib::processEvents (this=0x7fcc40000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fcc53499ffa in QEventLoop::exec (this=this@entry=0x7fcc48640cf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#5  0x00007fcc532fdf5a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007fcc53b62de5 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007fcc533079af in QThreadPrivate::start (arg=0x7fcc53ddad60) at thread/qthread_unix.cpp:367
#8  0x00007fcc517ee96a in start_thread () from /lib64/libpthread.so.0
#9  0x00007fcc5297c92f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fcc54cadd40 (LWP 10950)):
[KCrash Handler]
#6  0x00007fcc528ae83b in raise () from /lib64/libc.so.6
#7  0x00007fcc528b0081 in abort () from /lib64/libc.so.6
#8  0x0000556c14b57bce in akMessageHandler (type=<optimized out>, context=..., msg=...) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/shared/akdebug.cpp:177
#9  0x0000556c14b59fac in (anonymous namespace)::RemoteLogger::dbusLogger (type=QtFatalMsg, ctx=..., msg=...) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/shared/akremotelog.cpp:183
#10 0x00007fcc532f4107 in qt_message_print (msgType=msgType@entry=QtFatalMsg, context=..., message=...) at global/qlogging.cpp:1791
#11 0x00007fcc532f41e8 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7fcc53615aa0 "Cannot mix incompatible Qt library (version 0x%x) with this library (version 0x%x)", ap=ap@entry=0x7ffeb75e29a0) at global/qlogging.cpp:365
#12 0x00007fcc532e16f8 in QMessageLogger::fatal (this=this@entry=0x7ffeb75e2a80, msg=msg@entry=0x7fcc53615aa0 "Cannot mix incompatible Qt library (version 0x%x) with this library (version 0x%x)") at global/qlogging.cpp:877
#13 0x00007fcc534c232e in QObjectPrivate::QObjectPrivate (this=<optimized out>, version=<optimized out>) at kernel/qobject.cpp:217
#14 0x00007fcc47c37c9e in QSqlDriverPrivate::QSqlDriverPrivate (this=0x556c167694a0) at /usr/include/qt5/QtSql/5.11.1/QtSql/private/qsqldriver_p.h:71
#15 QSQLiteDriverPrivate::QSQLiteDriverPrivate (this=0x556c167694a0) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/qsqlite/src/qsql_sqlite.cpp:149
#16 QSQLiteDriver::QSQLiteDriver (this=0x556c1676ade0, parent=0x0) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/qsqlite/src/qsql_sqlite.cpp:590
#17 0x00007fcc47c3cf5e in QSQLiteDriverPlugin::create (this=<optimized out>, name=...) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/qsqlite/src/smain.cpp:68
#18 0x00007fcc53df6890 in ?? () from /usr/lib64/libQt5Sql.so.5
#19 0x00007fcc53df6cd1 in QSqlDatabase::addDatabase(QString const&, QString const&) () from /usr/lib64/libQt5Sql.so.5
#20 0x0000556c149a750e in Akonadi::Server::AkonadiServer::createDatabase (this=this@entry=0x556c16761ca0) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/server/akonadi.cpp:349
#21 0x0000556c149a9016 in Akonadi::Server::AkonadiServer::init (this=0x556c16761ca0) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/server/akonadi.cpp:92
#22 0x00007fcc534d0dd4 in QtPrivate::QSlotObjectBase::call (a=0x7ffeb75e2ee0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#23 QSingleShotTimer::timerEvent (this=0x556c1675f960) at kernel/qtimer.cpp:318
#24 0x00007fcc534c53db in QObject::event (this=0x556c1675f960, e=<optimized out>) at kernel/qobject.cpp:1273
#25 0x00007fcc5349b11a in doNotify (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1137
#26 0x00007fcc5349b207 in QCoreApplication::notifyInternal2 (receiver=0x556c1675f960, event=event@entry=0x7ffeb75e3030) at kernel/qcoreapplication.cpp:1047
#27 0x00007fcc534ed20b in QCoreApplication::sendEvent (event=0x7ffeb75e3030, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#28 QTimerInfoList::activateTimers (this=0x556c1675ef70) at kernel/qtimerinfo_unix.cpp:643
#29 0x00007fcc534edb01 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#30 0x00007fcc4f4e6f07 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#31 0x00007fcc4f4e7140 in ?? () from /usr/lib64/libglib-2.0.so.0
#32 0x00007fcc4f4e71cc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#33 0x00007fcc534edf3f in QEventDispatcherGlib::processEvents (this=0x556c1675c1b0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#34 0x00007fcc53499ffa in QEventLoop::exec (this=this@entry=0x7ffeb75e3280, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#35 0x00007fcc534a29e0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1335
#36 0x0000556c149a5335 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-apps/akonadi-18.08.3/work/akonadi-18.08.3/src/server/main.cpp:78

Reported using DrKonqi
Comment 1 Erik Quaeghebeur 2019-01-10 07:54:01 UTC
I did an update of Qt from 5.11.1 to 5.11.3 yesterday, and it seems this may have something to do with it. Namely, I observed the following on the konsole where I tried to start akonadi after it crashed:

org.kde.pim.akonadicontrol: ProcessControl: Application "akonadiserver" stopped unexpectedly ( "Process crashed" )
org.kde.pim.akonadicontrol: Application 'akonadiserver' crashed! 1 restarts left.
Cannot mix incompatible Qt library (version 0x50b01) with this library (version 0x50b03)
KCrash: Application 'akonadiserver' crashing...
KCrash: Attempting to start /usr/lib64/libexec/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__0
Comment 2 Christophe Marin 2019-01-10 08:04:07 UTC
so, akonadi wasn't rebuilt after updating Qt?
Comment 3 Erik Quaeghebeur 2019-01-10 08:21:35 UTC
(In reply to Christophe Giboudeaux from comment #2)
> so, akonadi wasn't rebuilt after updating Qt?
No, I guess the package maintainers didn't think minor library version updates required a rebuild. (I also find it a bit strange that a minor update is this incompatible.)

In any case, I rebuilt akonadi and things are working again. I'll report this downstream.
Comment 4 Christoph Feck 2019-01-10 18:44:13 UTC
Minor Qt updates _can_ update internal API or data layout, and any code that accesses the internal API needs to be recompiled against the new Qt. That's why Qt's plugin system throws the version mismatch error, even if it cannot know if there really is an incompatible change. Better safe (sane error message) than sorry (just crash and nobody knows why).

For "normal" Qt code, you do not need to recompile.