Request change VTODO parsing errors to be non-fatal / improve logging



  • 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---
      

Log in to reply
 

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