On 26/10/16 15:21, Patrick Ohly wrote:
> I am using the policy-key workaround, but haven't actually verified
> whether it is needed. 

I haven't done exhaustive testing, but I think it is needed if the
policy-key in gsettings would otherwise be reset (i.e. null). In other
words, if you are completely deleting the gsettings and recreating them
you need something non-null in the policy-key.  If you are not
recreating them then they will already have a non-null (and possibly
even correct) value.

Yes, that raises the question of why the code doesn't check the value of
policy-key when it is loaded and change a null value to something else
(say 0)!

>With the work-around, I am running into a problem
> (see
> https://nightly.syncevolution.org/2016-10-26-05-27_exchange_sanity_release-eas-jessie-amd64_prebuilt-jessie-amd64_trusty-amd64/prebuilt-jessie-amd64/21-exchange/
>  and 
> https://nightly.syncevolution.org/2016-10-26-05-27_exchange_sanity_release-eas-jessie-amd64_prebuilt-jessie-amd64_trusty-amd64/prebuilt-jessie-amd64/21-exchange/Client_Source_eas_contact_testImport.log.html):
>  basically any attempt to create some item on the Exchange server fails with 
> an error code 12 = 
> GDBus.Error:org.meego.activesyncd.SyncError.FolderHierarchyChanged: Sync 
> error: Mailbox folders are not synchronized, need FolderSync first
> 
> Here's a snippet from the activesyncd.log:
> 
> ...
> (process:111:0xf61d090): libeas-DEBUG:> POST 
> /Microsoft-Server-ActiveSync?Cmd=Sync&User=nigh...@ouvku.hostedoffice.ag&DeviceId=aaaaaaa99cb14effac6a8f447AAAAAAA&DeviceType=MeeGo
>  HTTP/1.1
> (process:111:0xf61d090): libeas-DEBUG:> Soup-Debug-Timestamp: 1477486033
> (process:111:0xf61d090): libeas-DEBUG:> Soup-Debug: SoupSessionAsync 1 
> (0xf623b90), SoupMessage 10 (0x147a7170), SoupSocket 11 (0x147d23a0)
> ...
> (process:111:0xf61d090): libeas-DEBUG:Received 12 bytes for request 0x14793f00
> (process:111:0xf61d090): libeas-DEBUG:< HTTP/1.1 200 OK
> (process:111:0xf61d090): libeas-DEBUG:< Soup-Debug-Timestamp: 1477486034
> (process:111:0xf61d090): libeas-DEBUG:< Soup-Debug: SoupMessage 10 
> (0x147a7170)
> (process:111:0xf61d090): libeas-DEBUG:< Cache-Control: private
> (process:111:0xf61d090): libeas-DEBUG:< Content-Type: 
> application/vnd.ms-sync.wbxml
> ...
> (process:111:0xf61d090): libeas-DEBUG:eas_connection - wbxml2xml++
> (process:111:0xf61d090): libeas-DEBUG:
> === dump start: xml_len [168] ===
> <?xml version="1.0"?>
> <!DOCTYPE ActiveSync PUBLIC "-//MICROSOFT//DTD ActiveSync//EN" 
> "http://www.microsoft.com/";>
> <Sync xmlns="AirSync:">
>   <Status>12</Status>
> </Sync>
> === dump end ===
> 
> That is with your "workround folder sync when server loses state" patch
> applied.
> 
> Any idea how to proceed with this? Is the policy-key workaround perhaps
> not working as intended?

No, it is nothing to do with policy-key.  That gives different symptoms:
either OK status but 0-length response or some 4nn status (419? I can't
remember).

It looks like the problem is that a FolderSync is needed. You need to
use --print-databases.  See the "Problems" in the Wiki page.

All my patch in bug 61869 does is enable --print-databases to be used as
a manual workround for this problem. It doesn't attempt to solve it
automatically.

If I remember correctly, one reason I didn't try to fix it automatically
is that I couldn't reproduce the problem! If you can reproduce the
problem reliably then maybe we can try to really fix it.

By the way, this raises a couple of interesting questions for your build
testing. The EAS support (in the backend and in activesyncd) keeps state
(in ~/.cache/activesync, in gsettings, and in the wallet). You might
want to think about whether your automated testing wants to make sure it
destroys all that state before running.

_______________________________________________
SyncEvolution mailing list
SyncEvolution@syncevolution.org
https://lists.syncevolution.org/mailman/listinfo/syncevolution

Reply via email to