Bug 446284

Summary: [WAYLAND] Akonadi crashes when restarting Wayland compositor
Product: [Frameworks and Libraries] Akonadi Reporter: Dipta Biswas <dabiswas112>
Component: serverAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED LATER    
Severity: crash CC: nicolas.fella, pereira.alex
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Dipta Biswas 2021-11-30 16:37:34 UTC
Application: akonadiserver (5.18.3 (21.08.3))

Qt Version: 5.15.3
Frameworks Version: 5.88.0
Operating System: Linux 5.11.0-40-generic x86_64
Windowing System: Wayland
Distribution: KDE neon User - Plasma 25th Anniversary Edition
DrKonqi: 5.23.3 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed: I ran the command
kwin_wayland --replace &
Kwin restarts but akonadi crashes

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Akonadi Server (akonadiserver), signal: Segmentation fault

[New LWP 1798]
[New LWP 1849]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fd1e4c24aff in __GI___poll (fds=0x7ffea9618b78, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
__preamble__
[Current thread is 1 (Thread 0x7fd1e4d22840 (LWP 1793))]

Thread 3 (Thread 0x7fd1db5a6700 (LWP 1849)):
#0  0x00007ffea9643b1e in clock_gettime ()
#1  0x00007fd1e4bef235 in __GI___clock_gettime (clock_id=clock_id@entry=1, tp=tp@entry=0x7fd1db5a5ae0) at ../sysdeps/unix/sysv/linux/clock_gettime.c:38
#2  0x00007fd1e521dee5 in qt_clock_gettime (ts=0x7fd1db5a5ae0, clock=1) at kernel/qelapsedtimer_unix.cpp:175
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#4  qt_gettime () at kernel/qelapsedtimer_unix.cpp:175
#5  0x00007fd1e521c77d in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fd1d4004d50) at kernel/qtimerinfo_unix.cpp:91
#6  0x00007fd1e521cd59 in QTimerInfoList::timerWait (this=0x7fd1d4004d50, tm=...) at kernel/qtimerinfo_unix.cpp:388
#7  0x00007fd1e521e9dc in timerSourcePrepareHelper (timeout=0x7fd1db5a5b94, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:138
#8  idleTimerSourcePrepare (source=<optimized out>, timeout=0x7fd1db5a5b94) at kernel/qeventdispatcher_glib.cpp:213
#9  0x00007fd1e38508ef in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fd1e385129b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fd1e38514a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fd1e521e61b in QEventDispatcherGlib::processEvents (this=0x7fd1d4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#13 0x00007fd1e51c28ab in QEventLoop::exec (this=this@entry=0x7fd1db5a5d60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#14 0x00007fd1e4fdc2c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x00007fd1e4fdd45c in QThreadPrivate::start (arg=0x56129b159590) at thread/qthread_unix.cpp:329
#16 0x00007fd1e4270609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x00007fd1e4c31293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fd1e0c26700 (LWP 1798)):
#0  0x00007fd1e389e508 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd1e3850d99 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd1e3851312 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd1e38514a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd1e521e61b in QEventDispatcherGlib::processEvents (this=0x7fd1dc000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fd1e51c28ab in QEventLoop::exec (this=this@entry=0x7fd1e0c25d30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007fd1e4fdc2c2 in QThread::exec (this=this@entry=0x7fd1e554bd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007fd1e54c7f4b in QDBusConnectionManager::run (this=0x7fd1e554bd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007fd1e4fdd45c in QThreadPrivate::start (arg=0x7fd1e554bd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007fd1e4270609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fd1e4c31293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fd1e4d22840 (LWP 1793)):
[KCrash Handler]
#4  0x000056129ab4e770 in ?? ()
#5  0x00007fd1e51f1949 in QObject::event (this=0x7ffea9619c60, e=0x7fd19c04ad60) at kernel/qobject.cpp:1314
#6  0x00007fd1e51c3d7f in doNotify (event=0x7fd19c04ad60, receiver=0x7ffea9619c60) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#7  QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at kernel/qcoreapplication.cpp:1140
#8  QCoreApplication::notifyInternal2 (receiver=0x7ffea9619c60, event=0x7fd19c04ad60) at kernel/qcoreapplication.cpp:1064
#9  0x00007fd1e51c66b1 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56129b136920) at kernel/qcoreapplication.cpp:1821
#10 0x00007fd1e521efa7 in postEventSourceDispatch (s=0x56129b13b8b0) at kernel/qeventdispatcher_glib.cpp:277
#11 0x00007fd1e385117d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fd1e3851400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fd1e38514a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007fd1e521e602 in QEventDispatcherGlib::processEvents (this=0x56129b138d20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#15 0x00007fd1e51c28ab in QEventLoop::exec (this=this@entry=0x7ffea9619b40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#16 0x00007fd1e51caa64 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#17 0x000056129ab4b3dc in ?? ()
#18 0x00007fd1e4b360b3 in __libc_start_main (main=0x56129ab4b120, argc=1, argv=0x7ffea9619e38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffea9619e28) at ../csu/libc-start.c:308
#19 0x000056129ab4e03e in ?? ()
[Inferior 1 (process 1793) detached]

Possible duplicates by query: bug 445746, bug 445496, bug 445427, bug 445378, bug 445364.

Reported using DrKonqi
Comment 1 Nicolas Fella 2021-11-30 17:11:23 UTC
This is not specific to Akonadi. Currently all applications crash when the compositor restarts. This will eventually get fixed in Qt
Comment 2 Alexandre Pereira 2022-02-15 17:12:07 UTC
Created attachment 146782 [details]
New crash information added by DrKonqi

akonadiserver (5.19.2 (21.12.2)) using Qt 5.15.2

- What I was doing when the application crashed:

Kwin wayland crashed, causing akonadi to crash.

In my case, akonadi was the only app that crashed with dr konqui report.

Just submitting, in case crash report info is usefull.

-- Backtrace (Reduced):
#4  std::default_delete<Akonadi::Server::Connection>::operator() (__ptr=0x111, this=<optimized out>) at /usr/include/c++/11.1.0/bits/unique_ptr.h:79
#5  std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >::~unique_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11.1.0/bits/unique_ptr.h:361
#6  __gnu_cxx::new_allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > >::destroy<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/11.1.0/ext/new_allocator.h:162
#7  std::allocator_traits<std::allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > >::destroy<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > (__p=<optimized out>, __a=...) at /usr/include/c++/11.1.0/bits/alloc_traits.h:531
#8  std::vector<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >, std::allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > >::_M_erase (__position=Python Exception <class 'gdb.error'>: Request for member '_M_head_impl' is ambiguous in type 'std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> >'. Candidates are:
  'std::default_delete<Akonadi::Server::Connection> std::_Head_base<1, std::default_delete<Akonadi::Server::Connection>, true>::_M_head_impl' (std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<0, Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<1, std::default_delete<Akonadi::Server::Connection> > -> std::_Head_base<1, std::default_delete<Akonadi::Server::Connection>, true>)
  '<unnamed type> std::_Head_base<0, Akonadi::Server::Connection*, false>::_M_head_impl' (std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<0, Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Head_base<0, Akonadi::Server::Connection*, false>)