I am experiencing the same problem as described in Tasks are not synchronized: DUE must not be < DTSTART.

Sadly, I have quite a few tasks, so that going over each item one by one to find the faulty one is not practical. So right now, I’m left with no working sync.

I would like to suggest two things

  1. Improve logging to a point where I can easily identify the faulty task. The log output could just also dump the plain text it’s trying to parse below the stack trace. That would be immensely helpful. Other helpful Solutions would be to include the faulty timestamps if it’s easier. Basically: include anything that allows me to narrow down the faulty tasks.
  2. (From the stack trace i’m not sure it falls within the domain of DAVdroid.) I do realize that DUE < DTSTART is against the specs. Warn about it all you want. But please don’t throw everything else under the bus by throwing an exception.

Steps to reproduce

  • Have a VTODO on your server that has DUE < DTSTART.
  • Sync
  • See this message in your notification area
    0_1475660035809_sync-fail-notification.png
  • See this log message
    SYNCHRONIZATION INFO
    Synchronization phase: 9
    Account name: ---redacted---
    Authority: org.dmfs.tasks
    
    EXCEPTION:
    java.lang.IllegalArgumentException: DUE must not be < DTSTART
    	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165)
    	at android.database.DatabaseUtils.readExceptionWithOperationApplicationExceptionFromParcel(DatabaseUtils.java:158)
    	at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:520)
    	at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:418)
    	at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.java:86)
    	at at.bitfire.ical4android.BatchOperation.commit(BatchOperation.java:58)
    	at at.bitfire.ical4android.AndroidTask.update(AndroidTask.java:237)
    	at at.bitfire.davdroid.syncadapter.TasksSyncManager.processVTodo(TasksSyncManager.java:205)
    	at at.bitfire.davdroid.syncadapter.TasksSyncManager.downloadRemote(TasksSyncManager.java:145)
    	at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.java:170)
    	at at.bitfire.davdroid.syncadapter.TasksSyncAdapterService$SyncAdapter.onPerformSync(TasksSyncAdapterService.java:78)
    	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:272)
    
    SOFTWARE INFORMATION
    DAVdroid version: 1.3.1-ose (116) Wed Sep 21 08:17:52 GMT+02:00 2016
    Installed from: org.fdroid.fdroid
    JB Workaround installed: no
    
    CONFIGURATION
    System-wide synchronization: automatically
    Account: ---redacted---
      Address book sync. interval: x min
      Calendar     sync. interval: x min
      OpenTasks    sync. interval: x min
      WiFi only: x
      [CardDAV] Contact group method: CATEGORIES
                RFC 6868 encoding: x
      [CalDAV] Time range (past days): x
               Manage calendar colors: x
    
    SQLITE DUMP
    android_metadata
    	|  locale |
    	|  x |
    ----------
    settings
    	|  setting | value |
    	|  hint_OpenTasksNotInstalled | 0 |
    ----------
    services
    	|  _id | accountName | service | principal |
    	|  3 | ---redacted--- | carddav | ---redacted--- |
    	|  4 | ---redacted--- | caldav | ---redacted--- |
    ----------
    sqlite_sequence
    	|  name | seq |
    	|  services | 4 |
    	|  collections | 52 |
    	|  homesets | 11 |
    ----------
    homesets
    	|  _id | serviceID | url |
    	|  10 | 4 | ---redacted--- |
    	|  11 | 3 | ---redacted--- |
    ----------
    collections
    	|  _id | serviceID | url | readOnly | displayName | description | color | timezone | supportsVEVENT | supportsVTODO | sync |
    	|  44 | 4 | ---redacted--- | 1 | ---redacted--- | ---redacted--- | -54 | <null> | 1 | 1 | 0 |
    	|  45 | 4 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | -6306073 | <null> | 1 | 1 | 1 |
    	|  46 | 4 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | -1146130 | <null> | 1 | 1 | 1 |
    	|  47 | 4 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | -16777216 | <null> | 1 | 1 | 1 |
    	|  48 | 4 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | -1605516 | <null> | 1 | 1 | 1 |
    	|  49 | 4 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | -8355840 | <null> | 1 | 1 | 1 |
    	|  50 | 4 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | -4989844 | <null> | 1 | 1 | 1 |
    	|  51 | 4 | ---redacted--- | 1 | ---redacted--- | ---redacted--- | -32944 | <null> | 1 | 1 | 1 |
    	|  52 | 3 | ---redacted--- | 0 | ---redacted--- | ---redacted--- | <null> | <null> | <null> | <null> | 1 |
    ----------
    
    SYSTEM INFORMATION
    Android version: 6.0.1 (---redacted---)
    Device: ---redacted---