How to debug DAVx⁵-related problems

At first, please make sure that you

  1. are using the latest DAVx⁵ version and the latest version of your server software,
  2. have looked at our Tested services page for your server, where issues with specific services are listed,
  3. have browsed through the DAVx⁵ FAQ, where the most common problems and their solutions are listed,
  4. had a look at the Github Discussions whether someone had the same problem.

If you're still experiencing problems with the latest DAVx⁵ version, you can use the verbose logging function (DAVx⁵ / Settings / Verbose logging, see screenshot). When active, it writes detailled information about everything it does to a log file which can be shared to other apps like email or, for instance, Share via HTTP.

Useful information (for instance about the details about HTTP errors) can often be found in the server logs (Web server logs and especially application server logs, e.g. Nextcloud logs or Synology DSM logs). If you don't have access to your server logs and/or you're not experienced in interpreting them, you can ask your IT or server support.

Besides the client (DAVx⁵) and server side, common problems are also:

  • Android problems (manufacturer-specific restrictions, active LineageOS privacy guard, Android or firmware bugs), and
  • networking problems, especially firewalls / proxies, wrong port forwardings, ISPs which block or modify requests – try to connect to the DAV URL with your Android browser to verify the connection.

Common methods to fix problems

If you don't find a specific solution for your problem, you can always try these general methods:

  • When the problem is related to a specific contact/event/task, delete this resource on the server and on your Android device and force synchronization.
  • When the problem is related to a specific address book/calendar/task list, disable this collection in the DAVx⁵ account (uncheck it in the list), force synchronization, enable it and force synchronization again.
  • You can try to clear the Contacts Storage and Calendar Storage of your device: Android settings / Apps / System apps / Calendar Storage and Contacts Storage (usually com.android.providers.calendar and com.android.providers.contacts, but can vary by vendor) / Clear data. All locally stored contacts and events will be cleared (including unsaved changes!) and downloaded from the server at the next sync. This often helps when a device update has caused corruption in the Contacts or Calendar database.
  • If this doesn't help, delete the DAVx⁵ account on your device and add it again.

adb

There's a command-line tool called adb that allows you to do powerful things with your Android device (you have to turn on USB debugging; no root required). It comes with the Android SDK, but also as a standalone package for most operating systems.

You see how contacts/events are really stored on your system:

  • list Android calendars with
    adb shell content query --uri content://com.android.calendar/calendars
  • list Android events with
    adb shell content query --uri content://com.android.calendar/events
  • list Android raw contacts with
    adb shell content query --uri content://com.android.contacts/raw_contacts
  • view details of an Android raw contact with
    adb shell content query --uri content://com.android.contacts/raw_contacts/{RawContactID}/data

You don't need to install adb to see the DAVx⁵ debug logs. You can use DAVx⁵ verbose logging (DAVx⁵ / Settings / Verbose logging) instead.