Bug 344970

Summary: Crash because uids.size()==1" in file ../../../resources/imap/retrieveitemtask.cpp, line 101
Product: [Frameworks and Libraries] Akonadi Reporter: RJVB <rjvbertin>
Component: IMAP resourceAssignee: Christian Mollekopf <chrigi_1>
Status: RESOLVED FIXED    
Severity: crash CC: dvratil, kdepim-bugs, rjvbertin, vkrause
Priority: NOR Keywords: drkonqi
Version: 4.13   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description RJVB 2015-03-09 10:04:00 UTC
Application: akonadi_imap_resource (4.13)
KDE Platform Version: 4.14.4 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Linux 3.13.11.8-ck1-kubuntu-amdf10-rjvb x86_64
Distribution: Ubuntu 14.04.2 LTS

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

I was simply trying to move to the next unread email message when I first got an "account is offline" warning and then this crash. Isn't there a more elegant way to handle the condition in a release/production version than crashing through a Q_ASSERT?!

-- Backtrace:
Application: RJVB@gmail of type IMAP E-Mail Server (akonadi_imap_resource), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fcd1a3457c0 (LWP 14505))]

Thread 9 (Thread 0x7fcd05572700 (LWP 25271)):
#0  0x00007fff4a7dbcf8 in clock_gettime ()
#1  0x00007fcd1589392d in __GI___clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007fcd195ec229 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0x00007fcd196dc015 in updateCurrentTime (this=0x7fccf8003320) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0x7fccf8003320, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0x00007fcd196da747 in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fcd05571c64) at kernel/qeventdispatcher_glib.cpp:143
#7  0x00007fcd196da825 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176
#8  0x00007fcd1437f68d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fcd1437ff03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fccf80221c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#12 0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fcd05571e20, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fcd05571e20, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#15 0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x18871b0) at thread/qthread_unix.cpp:349
#16 0x00007fcd14ca9182 in start_thread (arg=0x7fcd05572700) at pthread_create.c:312
#17 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fccfe3d2700 (LWP 31627)):
#0  0x00007fcd14cab569 in __GI___pthread_mutex_lock (mutex=0x7fccec00d180) at ../nptl/pthread_mutex_lock.c:125
#1  0x00007fcd143c1981 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcd1437f699 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcd1437ff03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fccec0122b0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fccfe3d1e20, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fccfe3d1e20, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#9  0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x18458b0) at thread/qthread_unix.cpp:349
#10 0x00007fcd14ca9182 in start_thread (arg=0x7fccfe3d2700) at pthread_create.c:312
#11 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fccff235700 (LWP 5212)):
#0  0x00007fcd1587682d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fcd143c0c10 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcd1437fb14 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcd1437ff7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fccf400bb80, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fccff234e20, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fccff234e20, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#9  0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x1386a10) at thread/qthread_unix.cpp:349
#10 0x00007fcd14ca9182 in start_thread (arg=0x7fccff235700) at pthread_create.c:312
#11 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fccfd3d0700 (LWP 32307)):
#0  0x00007fcd14cab42e in __GI___pthread_mutex_lock (mutex=0x7fcce4003a30) at ../nptl/pthread_mutex_lock.c:74
#1  0x00007fcd143c1981 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcd1437f92e in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcd1437ff7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fcce400d640, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fccfd3cfe20, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fccfd3cfe20, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#9  0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x1836aa0) at thread/qthread_unix.cpp:349
#10 0x00007fcd14ca9182 in start_thread (arg=0x7fccfd3d0700) at pthread_create.c:312
#11 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fcd05d73700 (LWP 6692)):
#0  0x00007fcd1587812d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fcd1437ffe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fcd00034b40, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#4  0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fcd05d72e20, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fcd05d72e20, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#7  0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x18857e0) at thread/qthread_unix.cpp:349
#8  0x00007fcd14ca9182 in start_thread (arg=0x7fcd05d73700) at pthread_create.c:312
#9  0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fcce3fff700 (LWP 9395)):
#0  0x00007fff4a7db7d1 in clock_gettime ()
#1  0x00007fcd1589392d in __GI___clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007fcd195ec229 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0x00007fcd196dc015 in updateCurrentTime (this=0x7fccdc001270) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0x7fccdc001270, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0x00007fcd196da747 in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fcce3ffec64) at kernel/qeventdispatcher_glib.cpp:143
#7  0x00007fcd196da825 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176
#8  0x00007fcd1437f68d in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fcd1437ff03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fccdc012020, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#12 0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fcce3ffee20, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fcce3ffee20, flags=...) at kernel/qeventloop.cpp:204
#14 0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#15 0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x1828290) at thread/qthread_unix.cpp:349
#16 0x00007fcd14ca9182 in start_thread (arg=0x7fcce3fff700) at pthread_create.c:312
#17 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fcce37fe700 (LWP 10662)):
#0  0x00007fcd143c161d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fcd143c1979 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcd1437ffca in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fccd40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#5  0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fcce37fde20, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fcce37fde20, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#8  0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x17b4180) at thread/qthread_unix.cpp:349
#9  0x00007fcd14ca9182 in start_thread (arg=0x7fcce37fe700) at pthread_create.c:312
#10 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fccfdbd1700 (LWP 11442)):
#0  0x00007fcd143c1616 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fcd143c19a9 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcd1437fe9d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fcd196db1ee in QEventDispatcherGlib::processEvents (this=0x7fccf00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#5  0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fccfdbd0e20, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fccfdbd0e20, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fcd1958996d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#8  0x00007fcd1958c5a3 in QThreadPrivate::start (arg=0x13b6270) at thread/qthread_unix.cpp:349
#9  0x00007fcd14ca9182 in start_thread (arg=0x7fccfdbd1700) at pthread_create.c:312
#10 0x00007fcd1588547d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fcd1a3457c0 (LWP 14505)):
[KCrash Handler]
#6  0x00007fcd157c1cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007fcd157c50d8 in __GI_abort () at abort.c:89
#8  0x00007fcd19581058 in qt_message_output (msgType=<optimized out>, msgType@entry=QtFatalMsg, buf=0x1906b08 "ASSERT: \"uids.size()==1\" in file ../../../resources/imap/retrieveitemtask.cpp, line 101") at global/qglobal.cpp:2386
#9  0x00007fcd19581417 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=0x7fcd19712f78 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fff4a70efa8) at global/qglobal.cpp:2432
#10 0x00007fcd19581c74 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2615
#11 0x00000000004610d1 in RetrieveItemTask::onMessagesReceived (this=0x17ac910, mailBox=..., uids=..., messages=...) at ../../../resources/imap/retrieveitemtask.cpp:101
#12 0x00007fcd196beeb1 in QMetaObject::activate (sender=0x1670300, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4a70f230) at kernel/qobject.cpp:3638
#13 0x00007fcd1831ca28 in messagesReceived (this=0x38a9, _t1=..., _t2=..., _t3=...) at ./moc_fetchjob.cpp:121
#14 KIMAP::FetchJobPrivate::emitPendings (this=0x1887f50) at ../../kimap/fetchjob.cpp:60
#15 0x00007fcd18318b9d in KIMAP::FetchJob::handleResponse (this=0x1670300, response=...) at ../../kimap/fetchjob.cpp:249
#16 0x00007fcd1832e9fd in KIMAP::SessionPrivate::responseReceived (this=0x1839d90, response=...) at ../../kimap/session.cpp:300
#17 0x00007fcd1833038d in KIMAP::SessionPrivate::qt_static_metacall (_o=0x1839d90, _c=<optimized out>, _id=<optimized out>, _a=0x7fccf0015090) at ./moc_session_p.cpp:77
#18 0x00007fcd196c3d39 in QObject::event (this=0x1839d90, e=<optimized out>) at kernel/qobject.cpp:1222
#19 0x00007fcd18a6582c in QApplicationPrivate::notify_helper (this=0x115db50, receiver=0x1839d90, e=0x7fccf0010c70) at kernel/qapplication.cpp:4570
#20 0x00007fcd18a6bd1b in QApplication::notify (this=0x7fff4a70fd90, receiver=0x38a9, e=0x7fccf0010c70) at kernel/qapplication.cpp:4356
#21 0x00007fcd168b7a27 in KApplication::notify (this=0x7fff4a70fd90, receiver=0x1839d90, event=0x7fccf0010c70) at ../../kdeui/kernel/kapplication.cpp:321
#22 0x00007fcd196a862c in QCoreApplication::notifyInternal (this=0x7fff4a70fd90, receiver=receiver@entry=0x1839d90, event=event@entry=0x7fccf0010c70) at kernel/qcoreapplication.cpp:953
#23 0x00007fcd196ac497 in sendEvent (event=0x7fccf0010c70, receiver=0x1839d90) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#24 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, receiver@entry=0x7fcd196db040 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, event_type=event_type@entry=0, data=0x111a220) at kernel/qcoreapplication.cpp:1577
#25 0x00007fcd196ac847 in QCoreApplication::sendPostedEvents (receiver=0x7fcd196db040 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#26 0x00007fcd196db053 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#27 postEventSourceDispatch (s=0x114af30) at kernel/qeventdispatcher_glib.cpp:287
#28 0x00007fcd1437fe04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007fcd14380048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fcd143800ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fcd196db1cf in QEventDispatcherGlib::processEvents (this=0x111b700, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#32 0x00007fcd18b040c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007fcd196a704f in QEventLoop::processEvents (this=this@entry=0x7fff4a70fd20, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007fcd196a7395 in QEventLoop::exec (this=this@entry=0x7fff4a70fd20, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007fcd196ad509 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#36 0x00007fcd19e07ac3 in Akonadi::ResourceBase::init (r=0x16729c0) at ../../akonadi/resourcebase.cpp:556
#37 0x0000000000421077 in Akonadi::ResourceBase::init<ImapResource> (argc=<optimized out>, argv=<optimized out>) at /usr/include/akonadi/resourcebase.h:192
#38 0x00007fcd157acec5 in __libc_start_main (main=0x420540 <main(int, char**)>, argc=3, argv=0x7fff4a70fea8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff4a70fe98) at libc-start.c:287
#39 0x0000000000417c9c in _start ()

Reported using DrKonqi
Comment 1 RJVB 2016-05-27 08:33:21 UTC
Created attachment 99213 [details]
New crash information added by DrKonqi

akonadi_imap_resource (4.13) on KDE Platform 4.14.19 using Qt 4.8.7

- What I was doing when the application crashed:
I opened the Spam folder of a GMail account and selected a message. I think the crash occurred before selecting the message or as an immediate result of that action.

The last output from akonadi and kmail:

akonadi_imap_resource_14(5671) ResourceState::item: Called item() while state holds multiple items! 
 list is empty 
 list is empty 
 There is not valid message 
akonadi_imap_resource_14(5671) ResourceState::item: Called item() while state holds multiple items! 
akonadi_imap_resource_14(5671) ResourceState::item: Called item() while state holds multiple items! 
akonadi_imap_resource_14(5671) ResourceState::item: Called item() while state holds multiple items! 
akonadi_imap_resource_14(5671) ResourceState::item: Called item() while state holds multiple items! 
ASSERT: "uids.size()==1" in file ../../../resources/imap/retrieveitemtask.cpp, line 101
KCrash: Application 'akonadi_imap_resource' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
KCrash: Connect sock_file=/home/bertin/.kde/socket-Patux/kdeinit4__0

-- Backtrace (Reduced):
#6  0x00007f08f8016c49 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f08f801a058 in __GI_abort () at abort.c:89
[...]
#11 0x00000000004610d1 in RetrieveItemTask::onMessagesReceived (this=0x204f0b0, mailBox=..., uids=..., messages=...) at ../../../resources/imap/retrieveitemtask.cpp:101
[...]
#13 0x00007f08fa76da28 in messagesReceived (this=0x1627, _t1=..., _t2=..., _t3=...) at ./moc_fetchjob.cpp:121
#14 KIMAP::FetchJobPrivate::emitPendings (this=0x2206ee0) at ../../kimap/fetchjob.cpp:60
Comment 2 RJVB 2016-05-27 08:37:00 UTC
Is there a patch for this in later versions that I could backport?
Comment 3 Daniel Vrátil 2016-05-27 09:20:40 UTC
I fail to see how the "Called item() while state holds multiple items!" warning could possible be produced through RetrieveItemTask. I am not aware of any explicit patch for this issue, I can of course only recommend to try a more recent (supported) version.
Comment 4 RJVB 2016-05-27 11:12:27 UTC
Looking at the code it seems that most of those Q_ASSERT statements can be replaced with a handler similar to the `if (!ok)` on line 120.
Comment 5 Daniel Vrátil 2017-01-07 12:13:07 UTC
The code has changed substantially in KF5 and this should no longer happen.