multiget sync problem



  • I'm getting the Exception as pasted in http://pastebin.com/6y0k94U6

    -steps to reproduce: syncing more than 20 elements via multiget
    -mitm on the connection shows that the server answers with the requested ics files(NO 404 on the line, but i have not counted the number of ics on the line)
    -android log is attached: shows that davdroid wants to sync 33 elements, begins with syncing 20 of them, then the error occurs.(mitm shows, the remaining 13 elements are not requested)

    my opinion: some problem (most likely a for loop boundary error; the amount of 20 is hardcoded) somewhere in
    at.bitfire.dav4android.DavResource.parseMultiStatus_Response(DavResource.java:475)
    at.bitfire.dav4android.DavResource.parseMultiStatus(DavResource.java:397)
    at.bitfire.dav4android.DavResource.processMultiStatus(DavResource.java:374)
    at.bitfire.dav4android.DavCalendar.multiget
    (gitlab is down, otherwise i would tell it more clear)

    Thanks for your good work!



  • server: zarafa


  • developer

    Hello,

    This really seems to be a server problem. Is there any indication that this is a DAVdroid problem?



  • If this would be a server problem i most likely would see 404 errors on the https connection, which are not there...
    But of cause, some element in the 20 element reply might have an error.
    Also: the sync used to work until approx october. and i checked some time before, that the the multiget sync code files where changed on the git lately.



  • just checked: only 207 https events: at first a propfind, then two report actions(one for filtering regarding time, one to fetch the 20 elements)


  • developer

    @kth said in multiget sync problem:

    If this would be a server problem i most likely would see 404 errors on the https connection, which are not there...
    But of cause, some element in the 20 element reply might have an error.

    Exactly, a 404 from a single response is considered to be a 404 of the whole multistatus (207) response.

    Also: the sync used to work until approx october. and i checked some time before, that the the multiget sync code files where changed on the git lately.

    I can't remember any relevant changes. If there's a specific indication that there might be a DAVdroid problem with multi-get responses, please post it here.

    Also, I suggest to get full logs so that you can see all requests, URLs etc.



  • Dear rfc2822,
    thanks for bearing with me. I checked the multistatus response, and indeed 2 elements are with 404 errors. This indeed is most likely due to a crashed server and missing files. But maybe a soft fail on 404 in multistatus would also be nice...
    But thanks for your help, i will now try to trace my missing files...
    best regards from germany


  • developer

    But maybe a soft fail on 404 in multistatus would also be nice...

    That would mean that some events are possibly not synchronized, which could cause data loss. DAVdroid always shows an error when something could lead to data loss and stops to synchronization.

    If you find out what the actual problem was, please let us know, maybe it could help other Zarafa users.


Log in to reply
 

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