No contacts synced since version 0.6.9



  • Since version 0.6.9 no contacts are synced anymore (but there is no sync error shown for contacts), I only see empty groups in the contacts app.

    Don't know if this is related or a different bug, but calendar sync is also not working, but for the calendars a sync error is shown.

    It works fine when I switch back to 0.6.8

    I get this backtrace in the logcat with 0.6.9:

    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): GoogleJsonResponseException, ignoring rest of feed
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): com.google.api.client.googleapis.json.GoogleJsonResponseException: 410 Gone
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): {
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):   "errors": [
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):     {
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):       "reason": "updatedMinTooLongAgo",
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):       "domain": "calendar",
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):       "message": "The requested minimum modification time lies too far in the past.",
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):       "locationType": "parameter",
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):       "location": "updatedMin"
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):     }
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):   ],
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):   "message": "The requested minimum modification time lies too far in the past.",
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156):   "code": 410
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): }
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1045)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.android.apiary.FeedFetcher.fetchFeed(FeedFetcher.java:78)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.android.apiary.FeedFetcher.run(FeedFetcher.java:64)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at com.google.android.syncadapters.calendar.EventFeedFetcher.run(EventFeedFetcher.java:72)
    12-24 04:49:50.300 E/CalendarSyncAdapter(21156): 	at java.lang.Thread.run(Thread.java:841)
    12-24 04:49:50.322 W/CalendarSyncAdapter(21156): Partial sync unavailable for #contacts@group.v.calendar.google.com. Requesting full sync
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): Couldn't create XML multi-get request
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): org.simpleframework.xml.core.TextException: Value for @org.simpleframework.xml.Text(data=false, empty=, required=true) on field 'href' java.lang.String at.bitfire.davdroid.webdav.DavHref.href is null in class at.bitfire.davdroid.webdav.DavHref
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeText(Composite.java:1178)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeSection(Composite.java:1005)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.write(Composite.java:975)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.write(Composite.java:952)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Traverser.write(Traverser.java:236)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.CompositeInlineList.write(CompositeInlineList.java:268)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.CompositeInlineList.write(CompositeInlineList.java:245)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeElement(Composite.java:1256)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeElement(Composite.java:1239)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeUnion(Composite.java:1127)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeElements(Composite.java:1098)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.writeSection(Composite.java:1004)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.write(Composite.java:975)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Composite.write(Composite.java:952)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Traverser.write(Traverser.java:236)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Traverser.write(Traverser.java:208)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Traverser.write(Traverser.java:186)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Persister.write(Persister.java:1180)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Persister.write(Persister.java:1162)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Persister.write(Persister.java:1140)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at org.simpleframework.xml.core.Persister.write(Persister.java:1259)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at at.bitfire.davdroid.webdav.WebDavResource.multiGet(WebDavResource.java:299)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at at.bitfire.davdroid.resource.RemoteCollection.multiGet(RemoteCollection.java:95)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at at.bitfire.davdroid.syncadapter.SyncManager.pullNew(SyncManager.java:193)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:90)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:130)
    12-24 04:49:53.243 E/davdroid.WebDavResource(20476): 	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): Invalid DAV response
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): at.bitfire.davdroid.webdav.DavException: Invalid DAV response: Couldn't create multi-get request
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): 	at at.bitfire.davdroid.webdav.WebDavResource.multiGet(WebDavResource.java:302)
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): 	at at.bitfire.davdroid.resource.RemoteCollection.multiGet(RemoteCollection.java:95)
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): 	at at.bitfire.davdroid.syncadapter.SyncManager.pullNew(SyncManager.java:193)
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): 	at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:90)
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): 	at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:130)
    12-24 04:49:53.246 E/davdroid.DavSyncAdapter(20476): 	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
    


  • Can confirm that upgrading to 0.6.9 doesn't sync my contacts. They get deleted from the phone. But I have no issue with the calendars. These are working just fine.
    Attached a log from the initial setup of the contacts. Unfortunately it does not show any error. At least I couldn't find anything.
    https://gist.github.com/c3f6b0fb380c31376be9.git
    I'm using this on my Nexus 5 with CM11 and also on a Xperia Z1 compact running 4.4.2.
    My Server is runing on Debian with ownCloud 7.0.3



  • Forgot to mention that I'm using owncloud 7.0.4 on the server side



  • What does the label "need info" mean? What additional information do you need?


  • developer

    The info what the problem actually is. It means that I couldn't reproduce the problem (yet) and thus don't have enough information to work on it.

    Could you please provide detailled steps on how to reproduce this issue?



  • Reproducing the problem is quite easy. Just install 0.6.9 and connect to your instance of ownCloud 7.0.x. And you won't get any contacts, altough it says "syncing".
    At least this is what is happening on my side. And I tried this on a fresh install of CM11 on my Nexus 5 and a HTC Sensation also on CM11. Installing 0.6.8 solves the problem for me.
    If you want I can create an account for you on my ownCloud so you can reproduce the error.


  • developer

    I have tested with my OwnCloud 7 testing instance before release and didn't see any problems. I guess this is related to some special file names in the resource, especially ":" (which is valid in path names) and " ", "{", "}" (which are invalid in path names, but some servers send them nevertheless).

    So please check again with 0.6.9.1.



  • Still no luck with 0.6.9.1


  • developer

    Then I need more logs. It works here, with various services including OwnCloud 7. https://gist.github.com/c3f6b0fb380c31376be9.git is even empty here?

    A test account at your server would be helpful, too.



  • Let me try some things... I have just set up an account for you, but it looks like this one is working well.
    It must be something with my contacts.
    Here is the link to the log I mentioned before: https://gist.github.com/alwin148/c3f6b0fb380c31376be9



  • I also just setup another account and added a test contact, which also synced without problems. Then I imported my contacts from my regular account, after which no contacts are shown anymore.

    Another weird thing is that when I look in the contacts app, the contacts start appearing while the sync is ongoing and then disappear again when the sync is finished.



  • Same situation here. It must be one of my contacts. But I just don't know which one of them. I'll import them all an delete one after the other, We'll see where DavDroid stops the import. I'll lett you know. Unfrotunately I have 140 contacts to go trough so it will take a while.



  • Strange situation. I just could not find out THE contact causing the issue by deleting them one by one.
    So I deleted all of the contacts and imported them one by one and starting the sync on my mobile after each import. After the first 10 contacts I imported two contacts (two separate vcf files) and started the sync on the mobile again. And... No new contacts on my mobile. So somehow if there are more than one new item on the server, DavDroid just doesn't do anything.
    I still don't know how to find out which contact is causing DavDroid to delete all contacts on the mobile. But as "schaal" said, while the sync is in progress, you can watch how the addressbook is being populated and at some point everything just disappears. I'll investigate further, but maybe you can start digging with two or more new contacts that are not being synchronized.


  • developer

    So somehow if there are more than one new item on the server, DavDroid just doesn't do anything.

    So the "multiget" method which is responsible for fetching more than one record is defect. I'll have a look…


  • developer

    I could only reproduce that Radicale sends an empty multistatus response…


  • admin

    In a moment we'll be uploading a new version that hopefully fixes the problems with missing contacts after successful sync. @schaal @alwin148 would you try before we upload it to the public?



  • Sure. I'll give it a try and let you know.



  • Hello, I'm also interested in testing the new version to test, if it solves
    our problems.

    Greetings
    Cheetah85

    alwin148 notifications@github.com schrieb am Sa., 27. Dez. 2014 21:46:

    Sure. I'll give it a try and let you know.


    Reply to this email directly or view it on GitHub
    https://github.com/bitfireAT/davdroid/issues/401#issuecomment-68189722.


  • admin

    Thanks, here is the apk - please uninstall and delete all existing accounts and add them again with 0.6.9.2:

    https://tyr.dev001.net/public/davdroid_0_6_9_2notfinal.apk



  • Works fine for me. Thanks

    devvv4ever notifications@github.com schrieb am Sa., 27. Dez. 2014 22:09:

    Thanks, here is the apk - please uninstall and delete all existing
    accounts and add them again with 0.6.9.2:

    https://tyr.dev001.net/public/davdroid_0_6_9_2notfinal.apk


    Reply to this email directly or view it on GitHub
    https://github.com/bitfireAT/davdroid/issues/401#issuecomment-68190260.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.