[Kde-pim] Help with crash from CalDav
Allen Winter
winter at kde.org
Sun Sep 30 17:24:13 BST 2012
On Sunday, September 30, 2012 12:53:58 PM Volker Krause wrote:
> On Thursday 13 September 2012 09:52:18 Allen Winter wrote:
> > I added a Google Calendar resource a couple days ago.
> >
> > Since then, I hit the enclosed assert about once a day.
> > Any Akonadi or Dav experts that can look at the code for
> > akonadi_davgroupware_resource and figure out what's happening?
> >
> > #2 0x00007f3c65fd7363 in qt_message_output (msgType=QtFatalMsg,
> > buf=0x1dc70c8 "ASSERT failure in ResourceBase::collectionsRetrieved():
> > \"Calling collectionsRetrieved() although no collection retrieval is in
> > progress\", file /data/kde/trunk/KDE/kdepimlibs/akonadi/resourcebase.cpp,
> > "...) at global/qglobal.cpp:2266 #3 0x00007f3c65fd74df in
> > qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *)
> > (msgType=QtFatalMsg, msg=0x7f3c661a61b0 "ASSERT failure in %s: \"%s\", file
> > %s, line %d", ap=0x7fff69fb6548) at global/qglobal.cpp:2312 #4
> > 0x00007f3c65fd7ca9 in qFatal (msg=0x7f3c661a61b0 "ASSERT failure in %s:
> > \"%s\", file %s, line %d") at global/qglobal.cpp:2495 #5
> > 0x00007f3c65fd6f5b in qt_assert_x (where=0x7f3c64601f40
> > "ResourceBase::collectionsRetrieved()", what=0x7f3c64601ef0 "Calling
> > collectionsRetrieved() although no collection retrieval is in progress",
> > file=0x7f3c646006b8
>
> These asserts are triggered by calling methods of ResourceBase
> (collectionsRetrieved() here) that you are not allowed to call with the
> current task. If it's only happening sporadically the most likely scenario is
> that the resource ends up processing multiple tasks at the same time, e.g.
> like this:
> (1) got a request to sync folders
> (2) start job to retrieve folder list from backend
> (3) erroneously claim you are done with that task
> (4) random other request comes in and resource starts handling it
> (5) job from (2) returns some results, which are processed and passed to
> collectionsRetrieved()
> (6) ResourceBase notices that you are currently not syncing collections (due
> to (3)) and thus asserts.
>
> Since this is all asynchronously, finding (3) can be a bit cumbersome.
>
What it be the worst thing in the world to not assert then?
This is just "one of those things" that is nearly impossible to find.
maybe just a kWarning?
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list