0.5.10.2: no contact sync



  • Hello,

    I just updated from 0.5.9 to 0.5.10.2. As usual, I removed my accounts (calendar and contacts), re-added them, and checked the status.
    It seems only calendar events are synced, while contacts aren't at all.

    I have about 100 contacts, all was working well with 0.5.9 (I will downgrade right after this issue is opened — I cannot stay in this state :(). Some have avatar, small images, nothing weird.

    It seems there's a 404 when davdroid tries to get the contact:

    3-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "PROPFIND /owncloud/remote.php/carddav/addressbooks/USER/contacts/ HTTP/1.1[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Content-Type: text/xml; charset=UTF-8[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Depth: 1[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Content-Length: 134[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Host: SERVER[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Connection: Keep-Alive[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "User-Agent: DAVdroid/0.5.10.2-alpha[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Accept-Encoding: gzip,deflate[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "Authorization: Basic AUTH_B64_STRING[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "[\r][\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "<propfind xmlns="DAV:">[\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "   <prop>[\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "      <CS:getctag xmlns:CS="http://calendarserver.org/ns/"/>[\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "      <getetag/>[\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "   </prop>[\n]"
    03-26 21:17:44.588 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 >> "</propfind>"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "HTTP/1.1 207 Multi-Status[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Server: nginx/1.2.1[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Date: Wed, 26 Mar 2014 20:19:33 GMT[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Content-Type: application/xml; charset=utf-8[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Content-Length: 518[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Connection: keep-alive[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Keep-Alive: timeout=25[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Set-Cookie: COOKIE_STRING; path=/owncloud; HttpOnly[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Expires: Thu, 19 Nov 1981 08:52:00 GMT[\r][\n]"
    03-26 21:17:44.789 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0[\r][\n]"
    03-26 21:17:44.799 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Pragma: no-cache[\r][\n]"
    03-26 21:17:44.799 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "Vary: Brief,Prefer[\r][\n]"
    03-26 21:17:44.799 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "DAV: 1, 3, extended-mkcol, addressbook, access-control, calendarserver-principal-property-search[\r][\n]"
    03-26 21:17:44.799 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "[\r][\n]"
    03-26 21:17:44.799 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "<?xml version="1.0" encoding="utf-8"?>[\n]"
    03-26 21:17:44.799 D/ch.boye.httpclientandroidlib.wire(20226): http-outgoing-11 << "<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:card="urn:ietf:params:xml:ns:carddav"><d:response><d:href>/owncloud/remote.php/carddav/addressbooks/USER/contacts/</d:href><d:propstat><d:prop><x3:getctag xmlns:x3="http://calendarserver.org/ns/">1395671875</x3:getctag></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:getetag/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus>[\n]"
    03-26 21:17:44.859 D/davdroid.WebDavResource(20226): Processing multi-status element: https://SERVER/owncloud/remote.php/carddav/addressbooks/USER/contacts/
    

    I don't really see what returns this 404, as there's a 200 just before and, apparently, no new query.

    I keep the complete log at reach in case you'll need anything else from it, but I think this part is the most relevant…

    Thanks in advance for your support!

    Cheers,

    C.



  • Me again,

    Small addition: I'm using ownCloud 7.0 pre alpha (daily) Build:2014-02-15T04:11:07+00:00
    But I doubt this is useful as it worked with previous version (though none of 0.5.10 flavour worked…).

    Cheers,

    C.


  • developer

    Where do you see the 404? <d:response><d:href>/owncloud/remote.php/carddav/addressbooks/USER/contacts/</d:href> [...] <d:propstat><d:prop><d:getetag/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat> </d:response> just means there is no ETag for the contacts collection, which is OK. To detect if there were changes in a collection, only the CTag is used.

    So the logs are not complete, so I can't tell what's going on :/ Did you delete/add the account?



  • Hello,

    Just (re³)did it now, and no contacts. Sync process takes ~1s, and then nothing. No error is reported in the UI, no contact is synced… I just lost my contacts on the mobile phone :(

    I'll attach the full log in a few minutes, following your doc regarding debugging.


  • developer

    Ok thanks, I'll wait for the new logs.



  • And here it is, sorry for the delay:

    logcat |egrep '^(E/)|(./davdroid)|(./ch.boye)'         
    I/davdroid.ContactsSyncAdapter( 4263): httpClient = ch.boye.httpclientandroidlib.impl.client.InternalHttpClient@42b6e4d0
    I/davdroid.DavSyncAdapter( 4263): Performing sync for authority com.android.contacts
    I/davdroid.ContactsSyncAdapter( 4263): httpClient 2 = ch.boye.httpclientandroidlib.impl.client.InternalHttpClient@42b6e4d0
    D/davdroid.WebDavResource( 4263): Using preemptive authentication (not compatible with Digest auth)
    I/davdroid.SyncManager( 4263): Remotely removing 0 deleted resource(s) (if not changed)
    I/davdroid.SyncManager( 4263): Uploading 0 new resource(s) (if not existing)
    I/davdroid.SyncManager( 4263): Uploading 0 modified resource(s) (if not changed)
    I/davdroid.SyncManager( 4263): Synchronization forced
    I/davdroid.SyncManager( 4263): Fetching remote resource list
    D/davdroid.SNISocketFactory( 4263): Setting SNI hostname
    I/davdroid.SNISocketFactory( 4263): Established TLSv1 connection with data.tengu.ch using TLS_ECDHE_RSA_WITH_RC4_128_SHA
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "PROPFIND /owncloud/remote.php/carddav/addressbooks/USER/contacts/ HTTP/1.1[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Content-Type: text/xml; charset=UTF-8[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Depth: 1[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Content-Length: 134[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Host: data.tengu.ch[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Connection: Keep-Alive[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "User-Agent: DAVdroid/0.5.10.2-alpha[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Accept-Encoding: gzip,deflate[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "Authorization: Basic BASE64[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "<propfind xmlns="DAV:">[\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "   <prop>[\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "      <CS:getctag xmlns:CS="http://calendarserver.org/ns/"/>[\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "      <getetag/>[\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "   </prop>[\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 >> "</propfind>"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "HTTP/1.1 207 Multi-Status[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Server: nginx/1.2.1[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Date: Sat, 29 Mar 2014 19:14:55 GMT[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Content-Type: application/xml; charset=utf-8[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Content-Length: 518[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Connection: keep-alive[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Keep-Alive: timeout=25[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Set-Cookie: COOKIE_VALUE; path=/owncloud; HttpOnly[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Expires: Thu, 19 Nov 1981 08:52:00 GMT[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Pragma: no-cache[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "Vary: Brief,Prefer[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "DAV: 1, 3, extended-mkcol, addressbook, access-control, calendarserver-principal-property-search[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "[\r][\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "<?xml version="1.0" encoding="utf-8"?>[\n]"
    D/ch.boye.httpclientandroidlib.wire( 4263): http-outgoing-5 << "<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:card="urn:ietf:params:xml:ns:carddav"><d:response><d:href>/owncloud/remote.php/carddav/addressbooks/SwissTengu/contacts/</d:href><d:propstat><d:prop><x3:getctag xmlns:x3="http://calendarserver.org/ns/">1396118134</x3:getctag></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat><d:propstat><d:prop><d:getetag/></d:prop><d:status>HTTP/1.1 404 Not Found</d:status></d:propstat></d:response></d:multistatus>[\n]"
    D/davdroid.WebDavResource( 4263): Processing multi-status element: https://SERVER/owncloud/remote.php/carddav/addressbooks/USER/contacts/
    I/davdroid.SyncManager( 4263): Fetching 0 new remote resource(s)
    I/davdroid.SyncManager( 4263): Fetching 0 updated remote resource(s)
    I/davdroid.SyncManager( 4263): Removing non-dirty resources that are not present remotely anymore
    D/davdroid.LocalCollection( 4263): Committing 1 operations
    I/davdroid.SyncManager( 4263): Sync complete, fetching new CTag
    E/PowerHAL(  649): sync_thread: failed to send: No such file or directory
    

    For now, no more contact, it's a bit… annoying ;).

    Thanks for your support!



  • Just for information, the (unique) log line on my apache server:

    IP - USERNAME [29/Mar/2014:20:24:01 +0100] "PROPFIND /owncloud/remote.php/carddav/addressbooks/USERNAME/contacts/ HTTP/1.0" 207 1037 "-" "DAVdroid/0.5.10.2-alpha"
    

  • developer

    DAVdroid sends PROPFIND /owncloud/remote.php/carddav/addressbooks/USER/contacts/ with Depth: 1 which means that all entries of this folder should be listed. However, the server's response only contains the collection (without the elements). This seems to be a server problem.

    Can you maybe post the working sync process in DAVdroid 0.5.9? Or provide a test account on your new server and send it to play@bitfire.at?



  • I just created an account and sent you the credentials. It will be easier for you I think…

    Lemme know if you need anything else :)


  • developer

    (Replied per email.)


  • developer

    As the problem also appears with direct access via curl and only in the original account (and not in the newly created test account), I guess that it's not a DAVdroid problem. I'll close the issue – if you find any hints that it might be a DAVdroid problem, please post here and I'll re-open.


Log in to reply
 

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