[horde] FW: [sync] Activesync Errors

Michael J Rubinsky mrubinsk at horde.org
Fri Sep 30 18:37:24 UTC 2011

Quoting Simon Brereton <simon.brereton at buongiorno.com>:

>> -----Original Message-----
>> From: horde-bounces at lists.horde.org [mailto:horde-
>> bounces at lists.horde.org] On Behalf Of Michael J Rubinsky
>> Quoting Simon Brereton <simon.brereton at buongiorno.com>:
>> > Originally submitted to sync at lists.horde.org - perhaps that's the
>> not
>> > the right location?
>> >
>> >
>> > Address book is a whole other ball game.  I created a new contact
>> on
>> > the phone and it never appeared in Horde.  None of the contacts in
>> > Horde appear on the phone either.
>> >
>> > The sync.log has these errors:
>> >
>> > 2011-09-29T20:29:45+01:00 ERR: Returning HTTP 500:Invalid date
>> format
>> > 2011-09-29T20:30:39+01:00 ERR: Invalid address book:
>> > b3790d4757f941c995645660f0ba886c 2011-09-29T20:30:39+01:00 ERR:
>> > Invalid address book: b3790d4757f941c995645660f0ba886c
>> > 2011-09-29T20:30:39+01:00 ERR: Invalid address book:
>> > b3790d4757f941c995645660f0ba886c 2011-09-29T20:30:39+01:00 ERR:
>> > Returning HTTP 500:Invalid date format 2011-09-29T20:31:55+01:00
>> > ERR: Invalid address book:
>> Your client is sending broken activesync date datatypes. Per the
>> specification:
> Odd.  I could have sworn that was from Horde to the client.

Well, the only place this error is thrown is during WBXML stream  
*decoding*, which means it is coming from the client. When it comes  
from the server we control the format and ensure it is sent correctly.  
Plus, any errors in date format when going server->client (which would  
only happen if the turba data became corrupt), would be silently  
ignored and no date would be sent to the client.

> Basically, when I removed Funambol from the device the contacts list  
> on the phone was emptied.  I waited 3 hours and nothing was synched  
> from Horde to the device (as I would have expected and as was the  
> case with the calendar).  In an effort to prompt it, I created a  
> test contact on the phone (just a name, no number, no DoB, no email)  
> and waited for it to be synched to Horde.  After 2 hours - nada.   
> Since I needed my contacts, I reloaded them (under the Activesync  
> account) from an vcard I have on the device SD card...

I'm confused...You mean you reloaded them from the SD card directly  
onto the device? If that's the case, then of course these would be  
changes from the device to server, you are essentially adding new  
contacts to the device.

> ..  The caveat is that vcard on the SD card is a direct export from Horde...

Again, what are you doing with the vcard on the SD card?

> Not saying that Horde isn't doing what it should be - but I have a  
> standard OG Droid - have you heard of an issue where it doesn't send  
> the date in UTC?  Since the only dates in the contact forms (and in  
> the logs) that I can see are birthdates - i.e. 1964-01-01 - I'm not  
> sure how to address this.

I also have a OG Droid as my primary day to day phone. I have no  
issues with this at all.

>> The invalid address book error sounds to me like your "default"
>> address book is either corrupt or pointing to an address book that no
>> longer exists.
> How do I debug that?  I mean ever since I installed H4 and imported  
> the data from the H3 DB and updates the schemas everything has  
> worked fine.  I can see my default address book, add, edit and  
> delete with no issue.  I have only one address book, so I can't  
> really see how anything can be pointing to something else.  I could  
> reimport the data (from the vcard above) and overwrite the address  
> book if you think that would help..

What do the turba prefs say about your default and sync'd address books?


> This is what I have at the moment - I believe they're the defaults.
> $conf['activesync']['ping']['heartbeatmin'] = 60;
> $conf['activesync']['ping']['heartbeatmax'] = 2700;
> $conf['activesync']['ping']['heartbeatdefault'] = 480;
> $conf['activesync']['ping']['deviceping'] = true;
> $conf['activesync']['ping']['waitinterval'] = 5;
> Would these be sensible options?
> $conf['activesync']['ping']['heartbeatmin'] = 600;
> $conf['activesync']['ping']['heartbeatmax'] = 2700;
> $conf['activesync']['ping']['heartbeatdefault'] = 1200;
> $conf['activesync']['ping']['deviceping'] = true
> $conf['activesync']['ping']['waitinterval'] = 120;
> I'm not sure I understand what each parameter does - my choices  
> might reflect that :)

Quick description:

The device sends a heartbeat interval to the server to let it know  
what to expect. If it falls outside of the configured min/max range,  
the server tells the device to try again, with a number within the  
range. So, what this means is that if you want to force the heartbeat  
interval, you need to set deviceping to false - this tells the server  
to ignore all heartbeat information from the device and just use what  
you configure.

I use the defaults. If you want to change them, you'll have to  
experiment as to what gives you the best performance vs battery life  
you are looking for.


The Horde Project (www.horde.org)
mrubinsk at horde.org

More information about the horde mailing list