[Kde-pim] [Nepomuk] KMail/Akonadi searching

Christian Mollekopf chrigi_1 at fastmail.fm
Fri Jan 20 20:18:10 GMT 2012


On Friday 20 January 2012 13.54:28 Stephan Diestelhorst wrote:
> On 20 January 2012 12:16, Christian Mollekopf <chrigi_1 at fastmail.fm> wrote:
> > On Friday 20 January 2012 11.47:39 Stephan Diestelhorst wrote:
> >> Could it be that these changes destabilized current head? I am seeing
> >> several search related crashes with today's Project Neon builds.
> >> Also I have noticed that at some point the search results switch
> >> between showing what is actually in my IMAP resource and then what is
> >> in the Last Search folder (containing the same things, becuase I
> >> repeated the search query) and then dies.
> > 
> > I wouldn't know why. I didn't really change anything in the control flow
> > (except for a second blockingQuery in the NepomukSearch class).
> > 
> > The problem with the wrong parent collection lies within the kmail models
> > which are probably getting confused because the item is in two collections
> > (That's just a wild guess though). That seems more like a task for 4.8.1
> > maybe.
> > 
> > Can you provide any backtraces for the search related crashes?
> > I didn't experience a single crash so far...
> 
> https://bugs.kde.org/show_bug.cgi?id=292027
> 
> Many thanks for looking into this.

That one is probably pretty difficult to fix. One would have to track down the 
invalid item through the monitor (as I don't think an invalid item should be 
allowed to enter the model in the first place). Give that the model is 
deprecated anyways and should probably replaced by an etm. I don't think it's 
worth the effort.

I reckon it would be possible to avoid the crash by simply removing the 
assert. (That could trigger another crash of course, but shouldn't as any user 
of the model should be prepared for such a situation, and it's the normal 
behaviour to return an invalid item in case of error).

It would still be interesting why there is an invalid item in the first place. 
If you compile akonadi-server yourself you could debug it by printing the 
found items in akonadi/server/src/search/nepomuksearchengine.cpp 
NepomukSearchEngine::hitsAdded by printing the found itemId's.

The only way that could add an invalid item this way would be if an invalid 
item id was already stored in nepomuk....

Cheers,
Christian

> 
> Stephan
_______________________________________________
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