[horde] [Same Problem] ActiveSync problem with contacts disappeared
Peter
horde at peter-b.org
Sun Feb 14 17:36:14 UTC 2016
On 28/12/2015 18:38, Michael J Rubinsky wrote:
> Quoting Peter <Horde at peter-b.org>:
>
>> No, the test log I attached only had entries for the sync that took
>> place during the addition and disappearance of the contact on the
>> device.
>
> If the contact disappeared during the time included in your log, then
> it's not anything Horde did. There was NO traffic from the
> device->Horde to show even the attempted addition of the contact on
> the phone.
>
Apologies for being away from this discussion for so long but I've
basically been trying to find the cause of this in-between "real life".
I've spent an inordinate amount of time on it, fiddling with Horde EAS
library code, trying different versions of various components in the
chain, comparing results from different systems and devices. I've let
this problem push back the rollout of the new server by nearly 3 weeks.
I'm writing this update for anyone else that comes across this problem -
I can't believe I'm the only one, though I suspect it may only affect a
small number of users - though apologies in advance, I didn't find a
solution.
I can confirm that on a basic build of an Ubuntu Trusty server with
nothing but Horde requirements and Horde itself, this problem occurs on
Android 5.0.2 and 6.0.1 (no surprise, no real difference in the
underlying exchange library), on 3 different devices and 2 emulators
using the stock email client exchange libraries. Those same devices can
all connect to and sync with my existing Horde server with no errors.
I've tried several different iterations of the server, having built a
few internally in virtual machines with various different
configurations, though all based on Trusty.
I've determined that it's something to do with the data sent by Horde
during the synchronisation sequence (as in I've tweaked the EAS code to
send the EAS packets with no actual data in them and nothing gets erased
anywhere) but when the data is sent the problem occurs.
After having had so much time elapse on this and put in so many hours I
balked at digging further into the code that constructs the data to find
out what specifically was causing the problem. The reason? In less than
a day I found an alternative solution to Horde that just works.
Admittedly, the solution is not as feature-rich overall as Horde but has
more than all the features that my (100 or so) users are going to want.
Sorry - as much as I love Horde (I've been using it since about 1996, I
think) and want to push it as a solution I simply can't justify spending
any more time on it. EAS aside it works, but having had users using EAS
for a couple of years I can't now take it away from them pending a
resolution to this particular problem and I need to roll out the new
server sooner rather than later.
What I can tell you is that I suspect it's a problem with the Android
exchange libraries not handling something unusual in the data received
in a sync packet from Horde, i.e. it's not getting the data in a
specific field with the expected type or within the expected range and
so is throwing and exception, then behaving badly afterwards and losing
data in the process.
I suspect that the duff data is the result of a misconfiguration on the
server rather than because of a code-bug in Horde; the data being sent
by Horde that relies on this configuration is malformed, and the
exchange library isn't handling the malformed data.
Whilst I think it's more than likely it's an Android code issue it seems
that the alternative solution I've found doesn't cause this problem,
either because it's refusing to send malformed data despite the server
misconfiguration, or it simply doesn't use whatever field is causing the
problem.
If I get time I'll come back to this, but having found an alternative
it's definitely a low-priority issue for me now.
Peter.
More information about the horde
mailing list