Bug 408897

Summary: ItemRetrievalManager crash
Product: [Frameworks and Libraries] Akonadi Reporter: suse
Component: serverAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: bugs.kde.org, droidsumit, dvratil, fresh.road1272, gab, jscott, kenny, kollix, lukas.karas, mail, mail, pat_h, peter.huyoff, robby.engelmann, stephan.diestelhorst, woebbeking
Priority: NOR    
Version: 5.11.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=409110
Latest Commit: Version Fixed In: 5.15
Sentry Crash Report:
Attachments: crash handler

Description suse 2019-06-19 07:29:25 UTC
Created attachment 120991 [details]
crash handler

Application: akonadiserver (5.11.2)

Qt Version: 5.12.3
Frameworks Version: 5.58.0
Operating System: Linux 5.1.7-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
reboot or restart of akonadiserver

(I little bit older version of openssuse tumbleweed worked)

The crash can be reproduced every time.

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


SEE ATTACHMENT  (more that 64k charakters - to big as comment)


An https://bugs.kde.org/ berichten
Comment 1 Christoph Feck 2019-07-03 09:43:25 UTC
Pasting relevant part of backtrace inline:

hread 7 (Thread 0x7fd73affd700 (LWP 3378)):
[KCrash Handler]
#6  qHash (key=..., seed=222126091) at ../../include/QtCore/../../src/corelib/tools/qstring.h:239
#7  0x000055bc0c6685db in QHash<QString, Akonadi::Server::AbstractItemRetrievalJob*>::findNode (this=this@entry=0x55bc0d32dae8, akey=..., ahp=ahp@entry=0x0) at /usr/include/qt5/QtCore/qhash.h:928
#8  0x000055bc0c66864a in QHash<QString, Akonadi::Server::AbstractItemRetrievalJob*>::remove (this=this@entry=0x55bc0d32dae8, akey=...) at /usr/include/qt5/QtCore/qrefcount.h:102
#9  0x000055bc0c666d72 in Akonadi::Server::ItemRetrievalManager::retrievalJobFinished (this=0x55bc0d32dab0, request=0x7fd6cc082e70, errorMsg=...) at /usr/src/debug/akonadi-server-19.04.2-1.1.x86_64/src/server/storage/itemretrievalmanager.cpp:227
#10 0x00007fd745f3cb78 in QtPrivate::QSlotObjectBase::call (a=0x7fd73affc700, r=0x55bc0d32dab0, this=0x7fd720006730) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#11 QMetaObject::activate (sender=0x7fd73c01e530, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3776
#12 0x000055bc0c6b1b94 in Akonadi::Server::AbstractItemRetrievalJob::requestCompleted (this=this@entry=0x7fd73c01e530, _t1=<optimized out>, _t2=...) at /usr/src/debug/akonadi-server-19.04.2-1.1.x86_64/build/src/server/libakonadiserver_autogen/5XLNPBDXWK/moc_itemretrievaljob.cpp:135
#13 0x000055bc0c668f23 in Akonadi::Server::ItemRetrievalJob::callFinished (this=0x7fd73c01e530, watcher=<optimized out>) at /usr/include/qt5/QtCore/qchar.h:88
#14 0x00007fd745f3cb78 in QtPrivate::QSlotObjectBase::call (a=0x7fd73affc8c0, r=0x7fd73c01e530, this=0x7fd720006bd0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#15 QMetaObject::activate (sender=0x7fd720006b10, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3776
#16 0x00007fd74628bd7f in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:157
#17 0x00007fd74628be80 in QDBusPendingCallWatcherPrivate::_q_finished (this=<optimized out>) at qdbuspendingcall.cpp:494
#18 QDBusPendingCallWatcher::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:85
#19 0x00007fd745f3d43a in QObject::event (this=0x7fd720006b10, e=<optimized out>) at kernel/qobject.cpp:1260
#20 0x00007fd745f11e6f in doNotify (event=0x7fd73c01ef80, receiver=0x7fd720006b10) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#21 QCoreApplication::notify (event=0x7fd73c01ef80, receiver=0x7fd720006b10, this=<optimized out>) at kernel/qcoreapplication.cpp:1136
#22 QCoreApplication::notifyInternal2 (receiver=0x7fd720006b10, event=0x7fd73c01ef80) at kernel/qcoreapplication.cpp:1060
#23 0x00007fd745f14a88 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55bc0d3917c0) at kernel/qcoreapplication.cpp:1799
#24 0x00007fd745f687c3 in postEventSourceDispatch (s=0x7fd720004fb0) at kernel/qeventdispatcher_glib.cpp:276
#25 0x00007fd7444b3b33 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#26 0x00007fd7444b3dc0 in ?? () from /usr/lib64/libglib-2.0.so.0
#27 0x00007fd7444b3e4f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fd745f67e01 in QEventDispatcherGlib::processEvents (this=0x7fd720000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#29 0x00007fd745f10bdb in QEventLoop::exec (this=this@entry=0x7fd73affcca0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#30 0x00007fd745d52751 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#31 0x00007fd745d538d2 in QThreadPrivate::start (arg=0x55bc0d3916f0) at thread/qthread_unix.cpp:361
#32 0x00007fd74512afaa in start_thread () from /lib64/libpthread.so.0
#33 0x00007fd7459c871f in clone () from /lib64/libc.so.6
Comment 2 Andre Woebbeking 2019-07-29 07:01:32 UTC
I've have the same crash for some weeks, also on Tumbleweed. It happens when I login to Plasma or when I restart akonadiserver.
Comment 3 Daniel Vrátil 2020-03-23 18:02:31 UTC
*** Bug 409110 has been marked as a duplicate of this bug. ***
Comment 4 Daniel Vrátil 2020-03-23 18:03:18 UTC
*** Bug 410586 has been marked as a duplicate of this bug. ***
Comment 5 Daniel Vrátil 2020-03-23 18:03:47 UTC
*** Bug 413301 has been marked as a duplicate of this bug. ***
Comment 6 Daniel Vrátil 2020-03-23 18:04:01 UTC
*** Bug 414147 has been marked as a duplicate of this bug. ***
Comment 7 Daniel Vrátil 2020-03-23 18:04:16 UTC
*** Bug 413706 has been marked as a duplicate of this bug. ***
Comment 8 Daniel Vrátil 2020-03-23 18:04:24 UTC
*** Bug 413921 has been marked as a duplicate of this bug. ***
Comment 9 Daniel Vrátil 2020-03-23 18:04:49 UTC
*** Bug 413260 has been marked as a duplicate of this bug. ***
Comment 10 Daniel Vrátil 2020-03-23 18:05:01 UTC
*** Bug 416379 has been marked as a duplicate of this bug. ***
Comment 11 Daniel Vrátil 2020-03-23 18:05:12 UTC
*** Bug 416900 has been marked as a duplicate of this bug. ***
Comment 12 Daniel Vrátil 2020-03-23 18:05:32 UTC
*** Bug 417542 has been marked as a duplicate of this bug. ***
Comment 13 Daniel Vrátil 2020-03-23 18:05:49 UTC
*** Bug 418026 has been marked as a duplicate of this bug. ***
Comment 14 Daniel Vrátil 2020-03-23 18:09:16 UTC
*** Bug 411054 has been marked as a duplicate of this bug. ***
Comment 15 Daniel Vrátil 2020-03-24 13:54:48 UTC
Git commit b94b8115f9586033983b059ae1faa731ef3defb1 by Daniel Vrátil.
Committed on 23/03/2020 at 18:07.
Pushed by dvratil into branch 'master'.

Clean up ItemRetriever to clear up ownership of ItemRetrievalRequest

The request is now passed by value to the retriever. An
ItemRetrievalResult is then returned to the caller. A unique numerical
identifier is used to identify the requests/response pairs.
FIXED-IN: 5.15

M  +7    -5    autotests/server/fakeitemretrievalmanager.cpp
M  +1    -2    autotests/server/fakeitemretrievalmanager.h
M  +14   -14   autotests/server/itemretrievertest.cpp
M  +1    -0    src/server/CMakeLists.txt
M  +2    -2    src/server/handler/itemcopyhandler.cpp
M  +1    -1    src/server/handler/itemcopyhandler.h
M  +2    -2    src/server/handler/itemmovehandler.cpp
M  +1    -1    src/server/handler/itemmovehandler.h
M  +13   -18   src/server/storage/itemretrievaljob.cpp
M  +13   -11   src/server/storage/itemretrievaljob.h
M  +49   -41   src/server/storage/itemretrievalmanager.cpp
M  +8    -8    src/server/storage/itemretrievalmanager.h
C  +7    -18   src/server/storage/itemretrievalrequest.cpp [from: autotests/server/fakeitemretrievalmanager.h - 059% similarity]
M  +41   -10   src/server/storage/itemretrievalrequest.h
M  +39   -42   src/server/storage/itemretriever.cpp
M  +1    -1    src/server/storage/itemretriever.h

https://commits.kde.org/akonadi/b94b8115f9586033983b059ae1faa731ef3defb1
Comment 16 Daniel Vrátil 2020-04-27 09:10:37 UTC
*** Bug 420318 has been marked as a duplicate of this bug. ***
Comment 17 Daniel Vrátil 2020-06-14 11:47:07 UTC
*** Bug 419229 has been marked as a duplicate of this bug. ***
Comment 18 Daniel Vrátil 2020-06-14 11:47:16 UTC
*** Bug 420495 has been marked as a duplicate of this bug. ***
Comment 19 Daniel Vrátil 2020-06-14 11:47:24 UTC
*** Bug 422092 has been marked as a duplicate of this bug. ***
Comment 20 Daniel Vrátil 2020-06-14 11:47:32 UTC
*** Bug 422199 has been marked as a duplicate of this bug. ***
Comment 21 Stephan Diestelhorst 2020-06-14 18:55:39 UTC
Thanks Daniel, for marking as duplicate and resolving the bug.  I got confused with the version numbering scheme between KDE PIM (5.14.x) and Plasma (5.19) and had hoped this would be fixed in Neon already.  Will build from git instead.