Version: 4.3.95 (using Devel)
Compiler: GCC 4.4.3
Installed from: Compiled sources
If I start a KDE session with no KMail to restore, wait a bit for startup to complete, and then launch KMail, then KMail and Akonadi successfully start.
However, if KMail session is restored during KDE startup, then Akonadi is started too early, before Nepomuk startup is over. Beacuse of this Akonadi startup fails with "Nepomuk search service not refistered at D-Bus" error. If after getting this error I wait a little and manually restart KMail, Akonadi successfully finds Nepomuk and starts up.
I believe that there needs to be some dependency tracking mechanism so that services depending on, say, Nepomuk, start only after Nepomuk's up and running, so that they do not give misleading and confusing error messages like one that I've described.
SVN commit 1094138 by vkrause:
Use Nepomuk's own status signals instead of checking D-Bus service names
manually (which is prone to races as their interfaces are exported somewhen
after registering the service name).
Thomas, could you please verify that this indeed fixes the problem you
M +10 -12 nepomuk_email_feeder/shared/nepomukfeederagentbase.cpp
M +0 -1 nepomuk_email_feeder/shared/nepomukfeederagentbase.h
M +11 -13 runtime/agents/nepomukfeeder/nepomukfeederagentbase.cpp
M +1 -1 runtime/agents/nepomukfeeder/nepomukfeederagentbase.h
WebSVN link: http://websvn.kde.org/?view=rev&revision=1094138
Still happens with KDE 4.4.1.
this bug has been fixed in trunk which will be the upcoming KDE 4.5.