Illegal character



  • Starting today with 0.6.10 and 0.6.10.1 I got sync failures with illegal character in url messages. Can't get a log right now, but took a screenshot of the error message.



  • screenshot_2015-01-07-21-14-41


  • developer

    Thanks for your report. Please read Reporting issues and provide all information mentioned there, including detailled steps to reproduce the issue and verbose logs. The screenshot alone gives an idea about the problem, but doesn't help in reproducing, and without being able to reproduce the issue I can't do anything.



  • I cannot spot anything illegal in the above url, have I missed something obvious?
    I will try to get a real log tomorrow evening.


  • developer

    What is the 42-th character in the URI? I guess there's some invalid special char (space or something like that). I also recommend to delete and add the account again.



  • I've got the same issue:
    $ adb logcat | egrep '^(E/)|(./davdroid)|(./HttpClient)|(./Wire)'

    I/davdroid.DavSyncAdapter(17167): Performing sync for authority com.android.contacts
    D/davdroid.DavSyncAdapter(17167): Creating new DavHttpClient
    I/davdroid.DavHttpClient(17167): Wire logging active, disabling HTTP compression
    D/davdroid.DavSyncAdapter(17167): Server supports VCard version 3.0
    V/davdroid.URIUtils(17167): Normalized URL https://xxx
    D/davdroid.WebDavResource(17167): Using preemptive authentication (not compatible with Digest auth)
    I/davdroid.SyncManager(17167): Remotely removing 1 deleted resource(s) (if not changed)
    E/davdroid.DavSyncAdapter(17167): Invalid URI (file name) syntax
    E/davdroid.DavSyncAdapter(17167): java.net.URISyntaxException: Illegal character in scheme at index 0: 71231c52-156b-425a-a7c0-9b95636541e0:126326.vcf
    E/davdroid.DavSyncAdapter(17167):       at java.net.URI.validateScheme(URI.java:419)
    E/davdroid.DavSyncAdapter(17167):       at java.net.URI.parseURI(URI.java:363)
    E/davdroid.DavSyncAdapter(17167):       at java.net.URI.<init>(URI.java:334)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.URIUtils.parseURI(URIUtils.java:79)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.webdav.WebDavResource.<init>(WebDavResource.java:146)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.webdav.WebDavResource.<init>(WebDavResource.java:150)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.resource.RemoteCollection.delete(RemoteCollection.java:164)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.syncadapter.SyncManager.pushDeleted(SyncManager.java:115)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:48)
    E/davdroid.DavSyncAdapter(17167):       at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:142)
    E/davdroid.DavSyncAdapter(17167):       at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
    I/davdroid.DavSyncAdapter(17167): Sync complete for com.android.contacts
    D/davdroid.DavSyncAdapter(17167): Closing httpClient
    D/HttpClient(17167): Connection manager is shutting down
    D/HttpClient(17167): Connection manager shut down
    

    I'm new to Android, if I delete the accound, the related SMS will be deleted with the contacts?


  • developer

    if I delete the accound, the related SMS will be deleted with the contacts?

    No.



  • @rfc2822 Thanks. This solved the sync failure.



  • Still haven't gotten the debug log from davdroid. But here is the offending VCALENDAR entry. It has been created by thunderbird lightning and the server is a baikal 0.27 server. The entry is not new or modified, neither is the server. But I now notice that the entry is not in my Android's calendar, so it seems it never had managed to sync that entry, and only the 0.6.10 notification brought it to daylight.
    Let me post a debug log tonight.

    PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
    VERSION:2.0
    BEGIN:VEVENT
    CREATED:20140525T062110Z
    LAST-MODIFIED:20131127T084005Z
    DTSTAMP:20131127T084005Z
    UID:UID:54a16ce0-c3c9-42cb-854f-18f399cdc34b\n
    SUMMARY:*Alexandra XXXXX
    STATUS:TENTATIVE
    ORGANIZER;SENT-BY="mailto:Sebastian@SSpaeth.de":mailto:spaetz@sebastianspa
     eth.de
    RRULE:FREQ=YEARLY
    CATEGORIES:Birthdays
    DTSTART;VALUE=DATE:1967XXXX
    DTEND;VALUE=DATE:1967XXXX
    X-RADICALE-NAME:54a16ce0-c3c9-42cb-854f-18f399cdc34b.ics
    SEQUENCE:2
    X-MOZ-GENERATION:2
    END:VEVENT
    END:VCALENDAR
    |UID:54a16ce0-c3c9-42cb-854f-18f399cdc34b
    .ics|2|1401001283|cac45dca391b0c8ef3a7484771a721e3|599|VEVENT|-85708800|21459132
    00```


  • Sanitizing the entry to remove the double UID: part from the entry make synchronization work:
    UID:UID:54a16ce0-c3c9-42cb-854f-18f399cdc34b\n

    So somehow the ":" has probably slipped into the URI which - of course - would make it illegal. Now the question is why has thunderbird lightning created such an entry in the first place? I even had a second entry which had: UID:UID:UID:UID:abcdef-... but out of my 600 entries only these two were faulty. So sorry for bothering you. And thumbs up to displaying the notificiations of errors!



  • closing.


  • developer

    So somehow the ":" has probably slipped into the URI which - of course - would make it illegal.

    Actually, ":"s are legal in URL path names, which has already caused many problems because servers actively use it. DAVdroid should be able to handle it correctly. But maybe it would have to be encoded in the .ics or something like that.

    However, I'm glad that it works for you and that the problem is now gone. :)


Log in to reply
 

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