Disappearing contacts on Android with ZimbraBackend

  • Hi.
    We’re having a weird problem on some phones: contacts are randomly disappearing.
    Apparently this happens more frequently on some specific contacts, and has been reported only on a specific phone/account.
    The phone is a Samsung Galaxy S8, we reconfigured the account from scratch and everything synced, the day later there was already a contact missing.
    I checked the debug log for the day, the only ERRORs I found were

    17/01/2018 07:34:11 [27674] [ERROR] [user@domain.it] [androidc1332581187] Zimbra->SoapRequest(): SOAP FAULT: HTML Error Returned - Error 500  - Enable ZIMBRA_DEBUG for more details - returning { false }

    and three times this WARNING:

    17/01/2018 12:05:11 [27674] [WARN] [user@domain.it] [androidc1332581187] Mobile loop detected! Messages sent to the mobile will be restricted to 1 items in order to identify the conflict

    I’ve searched through the logs for the missing contact and it appears quite often (along with some others, mostly the same) with this message:

    17/01/2018 17:31:07 [29744] [DEBUG] [user@domain.it] [androidc1332581187] SyncParameters->IsExporterRunRequired(): false - current: Giorgia Surname-64-5262-11-0-396-354 - saved: Giorgia Surname-64-5262-11-0-396-354 - expiring: 2018-01-30 07:25:27

    As said this message appears with several other contacts with the same output, butwhich are correctly present on the S8.

    DoSFilter is not a problem, as Z-Push runs on the same Zimbra server.

    What could be the problem? What can I check? Thanks

  • What zimbra backend version is this?

    You mention they are on the same server. Is z-push connecting to the zimbra server through the zimbraPublicHostName? z-push needs to connect through the front end proxy in order to generate/use a session.

    Is it a multi-server setup? The proxy can authenticate all users - but unless it can then connect to the user’s actual Mailbox server it cannot create a session. The only places I have seen disappearing contacts was in a site where the mailbox servers were being taken offline to backup

    If it is just a handful of contacts then - are those contacts in a Shared folder belonging to someone else? If the sharing person’s mailbox server is offline for backup for example, then if the sync of this user’s account happens while the Shared contacts Mailbox server is offline then the folder will not be returned in the available folders list, and the contacts for that folder would be removed from the device, When the Mailbox comes back online, the next sync would see the shared folder again, and would restore the dropped contacts to the device.

  • Zimbra is 8.8.5, z-push 2.3.8+0-0 and backend 67. Single server installation. I’ve patched Zimbra’s nginx to pass /Microsoft-Server-ActiveSync to a local apache where I installed z-push.

    The missing contact is indeed into a shared mailbox , but we don’t use NE so backup should not lock the mailbox (we’re doing the faulty tgz export).

  • You say that proxy errors can cause this kind of issues., but shouldn’t the backend do the same as you say, retry later and restore the contact? We recreated the account last Monday (or something like that), the contacts disappeared the day after and never came back, not even today… I’ve asked the user to leave the situation as-is in case we need to make further investigations.

  • If they add a new contact to that shared folder - does the missing contact get restored?

    Is the installation using the Zimbra Local Cache?

  • Unfortunately adding a contact to the same addressbook doesn’t restore the missing ones.

    Zimbra local cache option is commented, so as per documentation should be enabled by default

  • Yesterday the contacts came back on the phone! We didn’t change anything on the server, but I added a new contact to the same shared folder! So as you said it could be relevant…

  • Hi. I’ve managed to capture a WBXML log of an update.

    On this S8+ I have a partial contact. It has just name, company and email, while on Zimbra it also has mobile and work phone. In order to trigger an update I changed the company field, adding some text. From what I can understand from the log above z-push detects the change (in the virtual shared folder), but the contact on the phone remains partial.

    What else can I do to do further debug?

  • The log stops at the point where the device is notified on the need to sync f7 - the master Contacts Folder. What happens when the clien connects next to do the Sync command?

  • Oups, sorry. After that I see some data passing through, but not specific about the contact I’ve updated. I’ve seen an email where I write the user that I updated the contact, asking him to check…

    If you want I can send the full log, but I’d rather do it privately.

Log in to reply