DAVDroid stopped working at initial sync of tasks



  • When doing the initial sync of my tasks with DAVdroid I always get 'DAVdroid stopped working' before the sync is completed leaving the sync incomplete. I retried the syncing process and watched the logfile output.
    On the server side I'm using Owncloud 8.1.0 and on my phone CM12.1 with DAVDroid 0.8.2, the task was initially created using iOS 8.

    The result is as follows:

    D/davdroid.SyncManager(12024): Adding D3E29989-2978-4743-AEBC-A647130C994A.ics
    D/davdroid.Collection(12024): Committing 1 operations ...
    E/DatabaseUtils( 8186): Writing exception to parcel
    E/DatabaseUtils( 8186): java.lang.IllegalArgumentException: DUE must not be < DTSTART
    E/DatabaseUtils( 8186): 	at org.dmfs.provider.tasks.TaskProvider.validateTaskValues(TaskProvider.java:1544)
    E/DatabaseUtils( 8186): 	at org.dmfs.provider.tasks.TaskProvider.insertInTransaction(TaskProvider.java:849)
    E/DatabaseUtils( 8186): 	at org.dmfs.provider.tasks.SQLiteContentProvider.insert(SQLiteContentProvider.java:145)
    E/DatabaseUtils( 8186): 	at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:245)
    E/DatabaseUtils( 8186): 	at org.dmfs.provider.tasks.SQLiteContentProvider.applyBatch(SQLiteContentProvider.java:271)
    E/DatabaseUtils( 8186): 	at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:297)
    E/DatabaseUtils( 8186): 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:192)
    E/DatabaseUtils( 8186): 	at android.os.Binder.execTransact(Binder.java:446)
    E/AndroidRuntime(12024): FATAL EXCEPTION: SyncAdapterThread-1
    E/AndroidRuntime(12024): Process: at.bitfire.davdroid:sync, PID: 12024
    E/AndroidRuntime(12024): java.lang.IllegalArgumentException: DUE must not be < DTSTART
    E/AndroidRuntime(12024): 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:167)
    E/AndroidRuntime(12024): 	at android.database.DatabaseUtils.readExceptionWithOperationApplicationExceptionFromParcel(DatabaseUtils.java:160)
    E/AndroidRuntime(12024): 	at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:520)
    E/AndroidRuntime(12024): 	at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:377)
    E/AndroidRuntime(12024): 	at at.bitfire.davdroid.resource.LocalCollection.commit(LocalCollection.java:372)
    E/AndroidRuntime(12024): 	at at.bitfire.davdroid.resource.LocalCollection.add(LocalCollection.java:283)
    E/AndroidRuntime(12024): 	at at.bitfire.davdroid.syncadapter.SyncManager.pullNew(SyncManager.java:195)
    E/AndroidRuntime(12024): 	at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:94)
    E/AndroidRuntime(12024): 	at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:137)
    E/AndroidRuntime(12024): 	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
    

    The respective file D3E29989-2978-4743-AEBC-A647130C994A.ics looks as follows.
    I noticed that there are several "DTSTART" elements and the exception says "DUE must not be < DTSTART".

    BEGIN:VCALENDAR
    VERSION:2.0
    CALSCALE:GREGORIAN
    PRODID:-//Apple Inc.//iOS 8.3//EN
    BEGIN:VTIMEZONE
    TZID:Europe/Vienna
    BEGIN:DAYLIGHT
    DTSTART:19810329T020000
    RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
    TZNAME:MESZ
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0200
    END:DAYLIGHT
    BEGIN:STANDARD
    DTSTART:19961027T030000
    RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
    TZNAME:MEZ
    TZOFFSETFROM:+0200
    TZOFFSETTO:+0100
    END:STANDARD
    END:VTIMEZONE
    BEGIN:VTODO
    COMPLETED:20150528T073034Z
    CREATED:20150427T073210Z
    DESCRIPTION:
    DTSTAMP:20150528T073040Z
    DTSTART;TZID=Europe/Vienna:20150530T090000
    DUE;TZID=Europe/Vienna:20150528T090000
    LAST-MODIFIED:20150528T073036Z
    PERCENT-COMPLETE:100
    SEQUENCE:0
    STATUS:COMPLETED
    SUMMARY:XXXXXXXXXXXX
    UID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    X-APPLE-SORT-ORDER:454491035
    BEGIN:VALARM
    ACTION:DISPLAY
    DESCRIPTION:Reminder
    TRIGGER;VALUE=DATE-TIME:20150528T070000Z
    UID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    X-WR-ALARMUID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    END:VALARM
    END:VTODO
    END:VCALENDAR
    

  • developer

    @stonie08: As the message says, DUE must be ≥ DTSTART. Please fix the iCal file.

    However, DAVdroid should not crash when the Tasks app reports this error.



  • @rfc2822: It should be fixed in the latest version of this task but it affects a lot of completed, repeating tasks running for more than a year.
    Yes logging a warning or something similar and continuing with the sync would be appreciated.


Log in to reply
 

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