Calendar and tasks sync failed with OwnCloud 8.1.0 and DAVdroid 0.8.1



  • Steps to reproduce

    1. create an davdroid account with connection to my owncloud server using
    • Base-URL / https
    • contacts / tasks / two calendars
    1. start sync for each pim-group manuelly from the account

    Expected behaviour

    • Sync works for contacts / tasks and calendars

    Actual behaviour

    • Sync for contacts works
    • Sync for tasks and calendars failed

    Server configuration

    • Debian GNU/Linux 8.1 (jessie)
    • OwnCloud 8.1.0.8 (stable) hosted on virtual server with root access
    • Calendar 0.7.2 (git clone)
    • Tasks 0.7.1 (git clone)
    • Contacts 0.4.0
    • Two calendars configured with many events
    • Postgresql 9.4

    Mobile Device

    • Samsung Galaxy S I9000 running Android 4.4.4 (CyanogenMod 11-20150626-SNAPSHOT-XNG3CAO1L7-galaxysmtd)
    • DAVdroid 0.8.1 from F-Droid

    Logs
    Mobile Device:

    I/davdroid.DavSyncAdapter( 5734): Performing sync for authority com.android.calendar
    D/davdroid.DavSyncAdapter( 5734): Creating new DavHttpClient
    I/davdroid.DavHttpClient( 5734): Wire logging active, disabling HTTP compression
    V/davdroid.URIUtils( 5734): Normalized URI https://<HOST>/owncloud/remote.php/caldav/calendars/<USER>/<CALENDAR1>/ -> https://<HOST>/owncloud/remote.php/caldav/calendars/<USER>/<CALENDAR1>/ assuming that it was an URI or path name
    D/davdroid.WebDavResource( 5734): Using preemptive authentication (not compatible with Digest auth)
    V/davdroid.URIUtils( 5734): Normalized URI https://<HOST>/owncloud/remote.php/caldav/calendars/<USER>/<CALENDAR2>/ -> https://<HOST>/owncloud/remote.php/caldav/calendars/<USER>/<CALENDAR2>/ assuming that it was an URI or path name
    D/davdroid.WebDavResource( 5734): Using preemptive authentication (not compatible with Digest auth)
    I/davdroid.SyncManager( 5734): Remotely removing 0 deleted resource(s) (if not changed)
    I/davdroid.SyncManager( 5734): Uploading 0 new resource(s) (if not existing)
    I/davdroid.SyncManager( 5734): Uploading 0 modified resource(s) (if not changed)
    D/HttpClient( 5734): CookieSpec selected: best-match
    D/HttpClient( 5734): Re-using cached 'basic' auth scheme for https://<HOST>:443
    D/HttpClient( 5734): Connection request: [route: HttpRoute[{s}->https://<HOST>:443]][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 3]
    D/HttpClient( 5734): Connection leased: [id: 7][route: HttpRoute[{s}->https://<HOST>:443]][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 3]
    D/HttpClient( 5734): Opening connection HttpRoute[{s}->https://<HOST>:443]
    D/HttpClient( 5734): Connecting to <HOST>/xxx.xxx.xxx.xxx:443
    D/HttpClient( 5734): Connecting socket to <HOST>/xxx.xxx.xxx.xxx:443 with timeout 20000
    D/HttpClient( 5734): Enabled protocols: [TLSv1, TLSv1.1, TLSv1.2]
    D/HttpClient( 5734): Enabled cipher suites:[TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_ECDH_ECDSA_WITH_RC4_128_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_RC4_128_MD5, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA]
    D/HttpClient( 5734): Enabling SNI for <HOST>
    D/HttpClient( 5734): Starting handshake
    D/HttpClient( 5734): Secure session established
    D/HttpClient( 5734):  negotiated protocol: TLSv1.2
    D/HttpClient( 5734):  negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    D/HttpClient( 5734):  peer principal: CN=www.<HOST>, OU=PositiveSSL, OU=Domain Control Validated
    D/HttpClient( 5734):  peer alternative names: [www.<HOST>, <HOST>]
    D/HttpClient( 5734):  issuer principal: CN=COMODO RSA Domain Validation Secure Server CA, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
    D/HttpClient( 5734): Connection established xxx.xxx.xxx.xxx:38527<->xxx.xxx.xxx.xxx:443
    D/HttpClient( 5734): Executing request PROPFIND /owncloud/remote.php/caldav/calendars/<USER>/<CALENDAR1>/ HTTP/1.1
    D/HttpClient( 5734): Target auth state: CHALLENGED
    D/HttpClient( 5734): Proxy auth state: UNCHALLENGED
    D/Wire    ( 5734): http-outgoing-7 >> "PROPFIND /owncloud/remote.php/caldav/calendars/<USER>/<CALENDAR1>/ HTTP/1.1[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Content-Type: text/xml; charset=UTF-8[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Accept: text/xml[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Depth: 0[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Content-Length: 117[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Host: <HOST>[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Connection: Keep-Alive[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "User-Agent: DAVdroid/0.8.1[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "Authorization: Basic xxxxxxxxxxxxxxxxx[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "<propfind xmlns="DAV:">[\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "   <prop>[\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "      <CS:getctag xmlns:CS="http://calendarserver.org/ns/"/>[\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "   </prop>[\n]"
    D/Wire    ( 5734): http-outgoing-7 >> "</propfind>"
    D/Wire    ( 5734): http-outgoing-7 << "HTTP/1.0 500 Internal Server Error[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Date: Thu, 23 Jul 2015 21:05:12 GMT[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Server: Apache/2.4.10 (Debian)[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Strict-Transport-Security: max-age=15768000[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Set-Cookie: 51478d0299b28=pvjis7qjutgpirtk2r5p5knlv5; path=/owncloud; HttpOnly[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Expires: Thu, 19 Nov 1981 08:52:00 GMT[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Pragma: no-cache[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *; connect-src *[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "X-XSS-Protection: 1; mode=block[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "X-Content-Type-Options: nosniff[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "X-Frame-Options: Sameorigin[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "X-Robots-Tag: none[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Content-Length: 0[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Connection: close[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "Content-Type: text/html; charset=UTF-8[\r][\n]"
    D/Wire    ( 5734): http-outgoing-7 << "[\r][\n]"
    D/HttpClient( 5734): Authentication succeeded
    D/HttpClient( 5734): Cookie accepted [51478d0299b28="pvjis7qjutgpirtk2r5p5knlv5", version:0, domain:<HOST>, path:/owncloud, expiry:null]
    D/HttpClient( 5734): http-outgoing-7: Shutdown connection
    D/HttpClient( 5734): Connection discarded
    D/HttpClient( 5734): http-outgoing-7: Close connection
    D/HttpClient( 5734): Connection released: [id: 7][route: HttpRoute[{s}->https://<HOST>:443]][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 3]
    W/davdroid.DavSyncAdapter( 5734): Soft HTTP error 500 (Android will try again later)
    W/davdroid.DavSyncAdapter( 5734): at.bitfire.davdroid.webdav.HttpException: 500 Internal Server Error
    W/davdroid.DavSyncAdapter( 5734): 	at at.bitfire.davdroid.webdav.WebDavResource.checkResponse(WebDavResource.java:434)
    W/davdroid.DavSyncAdapter( 5734): 	at at.bitfire.davdroid.webdav.WebDavResource.checkResponse(WebDavResource.java:406)
    W/davdroid.DavSyncAdapter( 5734): 	at at.bitfire.davdroid.webdav.WebDavResource.propfind(WebDavResource.java:287)
    W/davdroid.DavSyncAdapter( 5734): 	at at.bitfire.davdroid.resource.RemoteCollection.getCTag(RemoteCollection.java:64)
    W/davdroid.DavSyncAdapter( 5734): 	at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:58)
    W/davdroid.DavSyncAdapter( 5734): 	at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:137)
    W/davdroid.DavSyncAdapter( 5734): 	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
    I/davdroid.DavSyncAdapter( 5734): Sync complete for com.android.calendar
    D/davdroid.DavSyncAdapter( 5734): Closing httpClient
    D/HttpClient( 5734): Connection manager is shutting down
    D/HttpClient( 5734): Connection manager shut down
    

    OwnCloud:

    {"reqId":"eIBrhQQhk3zj+ABJ6TFW","remoteAddr":"xxx.xxx.xxx.xxx","app":"PHP","message":"require_once(\/var\/www\/owncloud\/apps\/calendar\/sabre\/main.php): failed to open stream: No such file or directory at \/var\/www\/owncloud\/remote.php#132","level":3,"time":"July 23, 2015 23:09:44","method":"PROPFIND","url":"\/owncloud\/remote.php\/caldav\/calendars\/<USER>\/<CALENDAR1>\/"}
    {"reqId":"eIBrhQQhk3zj+ABJ6TFW","remoteAddr":"xxx.xxx.xxx.xxx","app":"PHP","message":"require_once(): Failed opening required '\/var\/www\/owncloud\/apps\/calendar\/sabre\/main.php' (include_path='\/var\/www\/owncloud\/3rdparty\/pear\/pear_exception:\/var\/www\/owncloud\/3rdparty\/pear\/archive_tar:\/var\/www\/owncloud\/3rdparty\/phpseclib\/phpseclib\/phpseclib:\/var\/www\/owncloud\/lib\/private:\/var\/www\/owncloud\/config:\/var\/www\/owncloud\/3rdparty:\/var\/www\/owncloud\/apps:\/var\/www\/owncloud\/lib:.:\/usr\/share\/php:\/usr\/share\/pear:\/var\/www\/owncloud') at \/var\/www\/owncloud\/remote.php#132","level":3,"time":"July 23, 2015 23:09:44","method":"PROPFIND","url":"\/owncloud\/remote.php\/caldav\/calendars\/<USER>\/<CALENDAR1>\/"}
    

    Looks like there is a file missing in the calendar app of owncloud, but the calendar-sync works with my Thunderbird Addons: Lightning 3.3.8 and Inverse SOGo Connector 17.0.5 without difficulty. Why doesn't it work with davdroid too? The calendar app was freshly installed via git clone from github. I only changed the owner of each file.
    Maybe it's my fault because of a messed server config but I've no idea furthermore what to try.


  • developer

    OwnCloud returns error 500 and there are errors in the OwnCloud logs. I really doubt this is a DAVdroid problem.


Log in to reply
 

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