[Tickets #12930] Re: AS: Endless loop with Samsung phone
noreply at bugs.horde.org
noreply at bugs.horde.org
Tue Jan 21 15:52:52 UTC 2014
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/12930
------------------------------------------------------------------------------
Ticket | 12930
Updated By | Michael Rubinsky <mrubinsk at horde.org>
Summary | AS: Endless loop with Samsung phone
Queue | Synchronization
Version | Git master
Type | Bug
State | Assigned
Priority | 1. Low
Milestone |
Patch |
Owners | Michael Rubinsky
------------------------------------------------------------------------------
Michael Rubinsky <mrubinsk at horde.org> (2014-01-21 15:52) wrote:
>>> Not sure about the infinite loop, but if helps you, it's dying
>>> because the MAXITEMS node is not expected. You can see this in
>>> Horde_ActiveSYnc_Request_Sync:: line 1142 where there is a TODO to
>>> remind me to implement it when we implement the RI cache.
>>
>> ...and that is EXACTLY why it loops. There is no escape from the
>> while() loop in that case.
>
> Thanks for the analysis!
>
> May be we should add a sanity limit of 5.000+ "sync options" the
> next time an AS client sends us an unexpected tag ;) Just log it,
> bail out of the loop and continue.
Either that or bail out if nothing was successfully parsed by the
bottom of the loop. Something should be parsed through each iteration.
> The user mentioned something about a recent OTA Android update for
> her phone. I have to ask for the specific model again. May be that
> update "enabled" the RI collection.
If that's the case, I might as well go ahead and implement the RI
functionality now since I'll have to implement at least part of it
anyway. If the device is erroneously asking for the RI collection, it
is probably also expecting a return value for it as well. Just
ignoring the MAXITEMS is likely to cause problems on the client side.
More information about the bugs
mailing list