Bug 425619

Summary: Application: akonadi_imap_resource_5 (akonadi_imap_resource), signal: Segmentation fault
Product: [Frameworks and Libraries] Akonadi Reporter: john4deidre2013
Component: IMAP resourceAssignee: kdepim bugs <kdepim-bugs>
Status: CONFIRMED ---    
Severity: crash CC: a.samirh78, faure, freekdekruijf, john4deidre2013, kde, vkrause
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description john4deidre2013 2020-08-20 22:58:19 UTC
Application: akonadi_imap_resource (5.15.0 (20.08.0))

Qt Version: 5.15.0
Frameworks Version: 5.73.0
Operating System: Linux 5.8.0-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

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

Before this issue happened.  i have all the login credentials with kdewallet setup correctly.  i suppose it was trying to use those credentials to login and get all emails from the server.  then it crashed

-- Backtrace:
Application: akonadi_imap_resource_5 (akonadi_imap_resource), signal: Segmentation fault

[KCrash Handler]
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=..., this=<optimized out>) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=..., this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x562e36da3f00, type=...) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/collection.cpp:166
#8  0x00007fdd730fad6f in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x562e36da3f00) at /usr/include/qt5/QtCore/qarraydata.h:257
#9  (anonymous namespace)::sortCollectionsForSync(Akonadi::Collection const&, Akonadi::Collection const&) (l=..., r=...) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/agentbase/resourcebase.cpp:856
#10 0x00007fdd7310c562 in __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)>::operator()<QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator>(QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator) (__it2=..., __it1=..., this=<synthetic pointer>) at /usr/include/c++/10/bits/predefined_ops.h:156
#11 std::__unguarded_partition<QTypedArrayData<Akonadi::Collection>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)> >(QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)>) (__comp=..., __pivot=..., __last=..., __first=...) at /usr/include/c++/10/bits/stl_algo.h:1907
#12 std::__unguarded_partition_pivot<QTypedArrayData<Akonadi::Collection>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)> >(QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)>) (__comp=..., __last=..., __first=...) at /usr/include/c++/10/bits/stl_algo.h:1926
#13 std::__introsort_loop<QTypedArrayData<Akonadi::Collection>::iterator, int, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)> >(QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator, int, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)>) [clone .constprop.0] (__first=..., __last=..., __depth_limit=<optimized out>, __depth_limit@entry=8, __comp=..., __comp@entry=...) at /usr/include/c++/10/bits/stl_algo.h:1957
#14 0x00007fdd730fd1b8 in std::__sort<QTypedArrayData<Akonadi::Collection>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)> >(QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)>) (__comp=..., __last=..., __first=...) at /usr/include/c++/10/bits/stl_algo.h:4880
#15 std::sort<QTypedArrayData<Akonadi::Collection>::iterator, bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)>(QTypedArrayData<Akonadi::Collection>::iterator, QTypedArrayData<Akonadi::Collection>::iterator, bool (*)(Akonadi::Collection const&, Akonadi::Collection const&)) (__first=..., __last=..., __first=..., __last=..., __comp=0x7fdd730fac10 <(anonymous namespace)::sortCollectionsForSync(Akonadi::Collection const&, Akonadi::Collection const&)>) at /usr/include/c++/10/bits/stl_algo.h:4892
#16 Akonadi::ResourceBasePrivate::slotLocalListDone(KJob*) (this=0x7fdd580054b0, job=<optimized out>) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/agentbase/resourcebase.cpp:896
#17 0x00007fdd716c60f6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffef0b5ef60, r=0x7fdd580054b0, this=0x562e35a775d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#18 doActivate<false>(QObject*, int, void**) (sender=0x562e35c4e260, signal_index=6, argv=argv@entry=0x7ffef0b5ef60) at kernel/qobject.cpp:3886
#19 0x00007fdd716bf450 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x562e35c4e260, m=m@entry=0x7fdd72be3660, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffef0b5ef60) at kernel/qobject.cpp:3946
#20 0x00007fdd72b9213c in KJob::result(KJob*, KJob::QPrivateSignal) (this=this@entry=0x562e35c4e260, _t1=<optimized out>, _t1@entry=0x562e35c4e260, _t2=...) at /usr/src/debug/kcoreaddons-5.73.0-1.1.x86_64/build/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:576
#21 0x00007fdd72b965f3 in KJob::finishJob(bool) (this=0x562e35c4e260, emitResult=<optimized out>) at /usr/src/debug/kcoreaddons-5.73.0-1.1.x86_64/src/lib/jobs/kjob.cpp:96
#22 0x00007fdd716bbb41 in QObject::event(QEvent*) (this=0x562e35c4e260, e=0x7fdd4c02aec0) at kernel/qobject.cpp:1314
#23 0x00007fdd723850cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562e35c4e260, e=0x7fdd4c02aec0) at kernel/qapplication.cpp:3671
#24 0x00007fdd7168fc1a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x562e35c4e260, event=0x7fdd4c02aec0) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#25 0x00007fdd71692641 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x562e35789d80) at kernel/qcoreapplication.cpp:1815
#26 0x00007fdd716e79d3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x562e3586b630) at kernel/qeventdispatcher_glib.cpp:277
#27 0x00007fdd6f76c2b7 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#28 0x00007fdd6f76c638 in  () at /usr/lib64/libglib-2.0.so.0
#29 0x00007fdd6f76c6ef in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#30 0x00007fdd716e705f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x562e3586dd60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#31 0x00007fdd7168e5db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffef0b5f350, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#32 0x00007fdd71696840 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#33 0x0000562e3531a6a1 in Akonadi::ResourceBase::init<ImapResource>(int, char**) (argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/kdepim-runtime-20.08.0-1.1.x86_64/resources/imap/imapresource.cpp:57
#34 main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdepim-runtime-20.08.0-1.1.x86_64/resources/imap/main.cpp:22
[Inferior 1 (process 3008) detached]

Possible duplicates by query: bug 414685, bug 412110, bug 403391, bug 387776.

Reported using DrKonqi
Comment 1 john4deidre2013 2020-08-21 21:13:16 UTC
Created attachment 131082 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.15.0 (20.08.0)) using Qt 5.15.0

- What I was doing when the application crashed:

This application was just doing an automatic download of all emails and then it crashed

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=..., this=<optimized out>) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=..., this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x565064943b90, type=...) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/collection.cpp:166
#8  0x00007ff90439dd6f in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x565064943b90) at /usr/include/qt5/QtCore/qarraydata.h:257
Comment 2 john4deidre2013 2020-08-21 21:26:33 UTC
Created attachment 131083 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.15.0 (20.08.0)) using Qt 5.15.0

- What I was doing when the application crashed:

jus tried to start this application and it crashed

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=..., this=<optimized out>) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=..., this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x5650e7d43c20, type=...) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/collection.cpp:166
#8  0x00007f421d565d6f in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x5650e7d43c20) at /usr/include/qt5/QtCore/qarraydata.h:257
Comment 3 john4deidre2013 2020-08-23 01:27:57 UTC
Created attachment 131110 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.15.0 (20.08.0)) using Qt 5.15.0

- What I was doing when the application crashed:

I deleted my user account, thinking this was the problem.  i then recreated my user account and tried starting this application by using commandline.  this is the info i got from that:

Akonadi Control: running
Akonadi Server: running
Akonadi Server Search Support: available (Remote Search, Akonadi Search Plugin)
Available Agent Types: akonadi_akonotes_resource, akonadi_archivemail_agent, akonadi_birthdays_resource, akonadi_contacts_resource, akonadi_davgroupware_resource, akonadi_ews_resource, akonadi_ewsmta_resource, akonadi_followupreminder_agent, akonadi_google_resource, akonadi_ical_resource, akonadi_icaldir_resource, akonadi_imap_resource, akonadi_indexing_agent, akonadi_kalarm_dir_resource, akonadi_kalarm_resource, akonadi_knut_resource, akonadi_kolab_resource, akonadi_maildir_resource, akonadi_maildispatcher_agent, akonadi_mailfilter_agent, akonadi_mbox_resource, akonadi_migration_agent, akonadi_mixedmaildir_resource, akonadi_newmailnotifier_agent, akonadi_notes_agent, akonadi_notes_resource, akonadi_openxchange_resource, akonadi_pop3_resource, akonadi_sendlater_agent, akonadi_tomboynotes_resource, akonadi_unifiedmailbox_agent, akonadi_vcard_resource, akonadi_vcarddir_resource

this is the most annoying bug i have ever come across

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=..., this=<optimized out>) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=..., this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x5627f1b82d20, type=...) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/collection.cpp:166
#8  0x00007feb4cc77d6f in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x5627f1b82d20) at /usr/include/qt5/QtCore/qarraydata.h:257
Comment 4 Ahmad Samir 2020-08-25 21:22:05 UTC
The this pointer of the AttributeStorage object definitely looks invalid:
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.cpp:69

I don't know how it became invalid though...
Comment 5 Freek de Kruijf 2020-08-27 08:12:34 UTC
(In reply to Ahmad Samir from comment #4)
> The this pointer of the AttributeStorage object definitely looks invalid:
> #6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const
> (type=..., this=0x40) at
> /usr/src/debug/akonadi-server-20.08.0-1.1.x86_64/src/core/attributestorage.
> cpp:69
> 
> I don't know how it became invalid though...

This bug report looks like a duplicate of 403391
Comment 6 john4deidre2013 2020-09-13 22:37:45 UTC
Created attachment 131618 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.15.1 (20.08.1)) using Qt 5.15.0

- What I was doing when the application crashed:

Not too sure what happened here.  it seems to crash intermittently when kmail goes to check for emails now.

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=..., this=<optimized out>) at /usr/src/debug/akonadi-server-20.08.1-1.1.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=..., this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.1-1.1.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x55ceef4a86f0, type=...) at /usr/src/debug/akonadi-server-20.08.1-1.1.x86_64/src/core/collection.cpp:166
#8  0x00007f295d74fdcf in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x55ceef4a86f0) at /usr/include/qt5/QtCore/qarraydata.h:257
Comment 7 john4deidre2013 2020-09-15 21:48:59 UTC
Created attachment 131685 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.15.1 (20.08.1)) using Qt 5.15.1

- What I was doing when the application crashed:

after email was downloaded and shown in list, i then clicked Check Mail again to see if it missed any and this error happened

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=..., this=<optimized out>) at /usr/src/debug/akonadi-server-20.08.1-1.2.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=..., this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-20.08.1-1.2.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x55ec62bec160, type=...) at /usr/src/debug/akonadi-server-20.08.1-1.2.x86_64/src/core/collection.cpp:166
#8  0x00007f45d1288dcf in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x55ec62bec160) at /usr/include/qt5/QtCore/qarraydata.h:257
Comment 8 Justin Zobel 2022-10-06 06:36:29 UTC
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version?

If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
Comment 9 Freek de Kruijf 2022-10-06 12:18:56 UTC
Created attachment 152617 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.21.1 (22.08.1)) using Qt 5.15.6

When I start kontact or do Check for new messages this module always crashes. When I just restart the application it works without a further crash.

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=<optimized out>, this=<optimized out>) at /usr/src/debug/akonadi-server-22.08.1-1.2.x86_64/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-server-22.08.1-1.2.x86_64/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x559a62db2540, type=...) at /usr/src/debug/akonadi-server-22.08.1-1.2.x86_64/src/core/collection.cpp:163
#8  0x00007fb1aec9cb1e in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x559a62db2540) at /usr/src/debug/akonadi-server-22.08.1-1.2.x86_64/src/core/collection.h:587
Comment 10 Marcel 2023-04-27 06:49:58 UTC
Created attachment 158476 [details]
New crash information added by DrKonqi

akonadi_imap_resource (5.23.0 (23.04.0)) using Qt 5.15.9

I woke up my device from suspend to RAM and pressed "Check Mail" in KMail.

-- Backtrace (Reduced):
#4  QHash<QByteArray, Akonadi::Attribute*>::findNode(QByteArray const&, unsigned int*) const (ahp=<optimized out>, akey=<optimized out>, this=<optimized out>) at /usr/src/debug/akonadi-23.04.0/src/core/attributestorage.cpp:69
#5  QHash<QByteArray, Akonadi::Attribute*>::contains(QByteArray const&) const (akey=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:920
#6  Akonadi::AttributeStorage::hasAttribute(QByteArray const&) const (type=..., this=0x40) at /usr/src/debug/akonadi-23.04.0/src/core/attributestorage.cpp:69
#7  Akonadi::Collection::hasAttribute(QByteArray const&) const (this=this@entry=0x557b6d344140, type=...) at /usr/src/debug/akonadi-23.04.0/src/core/collection.cpp:163
#8  0x00007ff81da45909 in Akonadi::Collection::hasAttribute<Akonadi::SpecialCollectionAttribute>() const (this=0x557b6d344140) at /usr/src/debug/akonadi-23.04.0/src/core/collection.h:595