Reply to topic

OwnCloud akonadi resource stalled at 100%

nmset
Registered Member
Posts
43
Karma
0
OS
Hello,

I have an OwnCloud akonadi account that often but not always stops at 100% as seen in systemsettings when my laptop resumes. The calendar and address book are out of sync to the remote resource in that state.

A SIGHUP sent at akonadi_davgroupware_resource corrects the problem.

I can't detect that state with ps utility, and hence can't use a cron job to deal with it in the background.

Is it a known problem for which there is a known remedy ? Other suggestions ?

Using KDE 4.10.3, OwnCloud 4.0.9.

Thank you.
User avatar einar
Administrator
Posts
2766
Karma
5
OS
Did you configure the DAV resource with the "Owncloud" or "Owncloud < 5" type?
Do you have any suspicious errors in ~/.xsession-errors when the stall occurs?


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python
nmset
Registered Member
Posts
43
Karma
0
OS
When creating the akonadi resource, there's only one option : ownCloud.

I just logged out, deleted .xsession-errors and restarted KDE. I'll report the akonadi_davgroupware errors when it next happens.

In systemsettings, the owncloud akonadi resource line shows and hangs at "Extracting collections (100%)" (translated), before the synchronization steps.

Thx.
User avatar einar
Administrator
Posts
2766
Karma
5
OS
Thanks, keep us posted when things go wrong so that the issue can be properly identified.
In 4.11 there will be a specific option for OwnCloud < 5, as far as I can see.


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python
nmset
Registered Member
Posts
43
Karma
0
OS
There were no error messages related to akonadi davgroupware in .xsession-errors.

Where else can I look for valuable error messages ?
User avatar einar
Administrator
Posts
2766
Karma
5
OS
Run "kdebugdialog", then uncheck "disable all debug output, followed by "Unselect all". Then use the search box to locate the resource (search for "dav" or "davgroupware") and check the entries. Click OK.
Restart Akonadi (akonadictl restart) and see if more output is produced when the resource stalls.


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python
nmset
Registered Member
Posts
43
Karma
0
OS
Followed your instructions.

Found this in .xsession-errors :

ProcessControl: Application /usr/bin/akonadi_davgroupware_resource stopped unexpectedly ( "Process crashed" )
Application '/usr/bin/akonadi_davgroupware_resource' crashed. No restart!

Yet, akonadi_davgroupware_resource is strill in the process list.

I frequently suspend and resume my laptop, and there's no network connection when it resumes. Could be the source of the problem. Anyway, it's not a big issue, I can live with this situation.

Thanks.
User avatar einar
Administrator
Posts
2766
Karma
5
OS
You may want to search if such a report is present in bugs.kde.org and if not, report it, so that the developer can fix the resource.


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python
nmset
Registered Member
Posts
43
Karma
0
OS
This script seems to workaround the problem. In essence, it monitors NetworkManager, upon a global connection, it kills akonadi_davgroupware_resource instances and restarts them.

################################################################
#!/bin/bash
#Listen to NetworkManager, when connection status changes
dbus-monitor --system "type='signal',interface='org.freedesktop.NetworkManager',member='StateChanged'" |\
while read line;do
#React if internet gets alive. The 70 token is documented in NetworkManager.h .
if [ "$(qdbus --system org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager.state)" = "70" ];then
#Internet becomes active.
#Get all Akonadi resources.
resources=$(qdbus org.freedesktop.Akonadi /ResourceManager resourceInstances)
#Terminate the Akonadi utility.
killall -TERM akonadi_davgroupware_resource &> /dev/null
#Loop through all known resources.
for res in $resources;do
#Restart akonadi_davgroupware_resource
if echo $res |grep akonadi_davgroupware_resource_ &> /dev/null;then
akonadi_davgroupware_resource --identifier $res &
#notify-send "Restarting $res."
fi
done
#killall -TERM akonadi_googlecalendar_resource &> /dev/null
#for res in $resources;do
# if echo $res |grep akonadi_googlecalendar_resource_ &> /dev/null;then
# akonadi_googlecalendar_resource --identifier $res &
# #notify-send "Restarting $res."
# fi
#done
fi
#Once only. dbus-monitor's output is multiline.
break
done
#We are dying. Start another instance.
$0 &

exit 0
################################################################

in case it might be useful to someone else.

 
Reply to topic

Bookmarks



Who is online

Registered users: Baidu [Spider], Bing [Bot], Exabot [Bot], Google [Bot], jkolodziej, k_sze, Majestic-12 [Bot], puxip, ramskulls, SixString, Yahoo [Bot]