[Nepomuk] Crash in nepomukqueryservice when running multiple instances of QueryServiceClient

Dario Freddi drf54321 at gmail.com
Wed Apr 21 21:40:34 CEST 2010


Hello people,

as I told Sebastian earlier today, I discovered a severe bug in 
nepomukqueryservice. With telepathy-kde, I need to run several 
QueryServiceClient (at least two) at the same time. Note that the application 
has a single thread and every call to each qsc is asynchronous (I'm always 
using sparqlQuery()).

If I instantiate and start more than a QSC, the dbus service crashes all the 
time when calling Soprano::Client::ClientModel::executeQuery() and accessing 
the mutex which is inside it. This situation is always reproducible in a short 
time when instantiating at least 3 QSC.

To test some stuff, I created a workaround that I attached. I created a queue 
that starts a query at a time, waits for its listing to finish, and then 
starts the other queries in queue. This works perfectly for the first round, 
but queryservice always crashes afterwards when trying to pick up changes. 
Probably such a solution needs to be implemented right in queryservice, 
letting one query at a time hit soprano.

If you want to test this yourself, you can apply this merge request: 
http://reviewboard.kde.org/r/3650/ which also includes my "workaround"

-- 
-------------------

Dario Freddi
KDE Developer
GPG Key Signature: 511A9A3B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nepomuk-query-query-pool.cpp
Type: text/x-c++src
Size: 3407 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/nepomuk/attachments/20100421/ab2294d9/attachment.cpp 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nepomuk-query-query-pool.h
Type: text/x-chdr
Size: 1814 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/nepomuk/attachments/20100421/ab2294d9/attachment.h 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/nepomuk/attachments/20100421/ab2294d9/attachment.sig 


More information about the Nepomuk mailing list