"Local storage error – Empty result from content provider"

  • admin

    You can either try to reset/wipe your phone since there seems to be an internal problem with the storage or you try to clear the contacs storage manually. Go to the Android settings / Apps and choose Contacts Storage. There you can wipe it. Keep in mind that this will wipe all contacts from your device (from any source, incl. Google contacts)! So have a reliable backup somewhere.


  • I’m really sorry, I was stressed when I wrote the above post – I meant “event series”, not “contact series” (can I still edit my post above?). Hence your comment on contacts storage doesn’t apply. Is there something similar I can do for calendar events?

    I’ve been in touch with Huawei in the meantime, and they told me their phone didn’t fully support the CalDAV protocol, by the way.

    Regarding logs: I can’t provide web server logs as this is my employer’s Zimbra server. I can, however, provide an anonymised extract of my DAVdroid logs, if that helps? If yes, I’ll do that asap.

    Another data point: The problem does not occur with an event series created on Nextcloud. The issue only seems to apply to the specific set-up Zimbra + invite to an event series + Huawei phone.

  • admin

    @6042114fa0 yes, it is found in the Android settings / Apps / Calendar Storage. Deleting this will reset the storage which results in deletion of all (!) local calendars, also ones not synced with DAVdroid.


  • @devvv4ever There is only “Calendar”, not “Calendar Storage”. Deleted the data. Didn’t solve the problem unfortunately.
    I still get the same error message.

  • admin

    It’s not the “Calendar”, there must be a “Calendar Storage”. Maybe you’ve not viewed the System apps. It is one of these apps which are normally not shown in the list.


  • Ok, found it (it was hidden). Cleared the calendar storage. Unfortunately, no change – the sync error still appears.

  • admin

    Which error appears?


  • Still the one mentioned in the thread title – “Local storage error – Empty result from content provider when adding event”.

  • admin

    can you click on the error and share it with us please? There is a lot more information in this log…


  • Here is an extract that doesn’t contain private information. Note that I have replaced some IDs, names of participants etc. with …

    LOCAL RESOURCE:
    LocalEvent=[eTag= ..., fileName=..., flags=1, weAreOrganizer=true, calendar=at.bitfire.davdroid.resource.LocalCalendar@..., event=Event=[alarms=[BEGIN:VALARM
    ACTION:DISPLAY
    TRIGGER:-PT5M
    DESCRIPTION:Reminder
    END:VALARM
    
    ...
    
    EXCEPTION:
    at.bitfire.ical4android.CalendarStorageException: Empty result from content provider when adding event
    	at at.bitfire.ical4android.AndroidEvent.add(AndroidEvent.kt:384)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$processVEvent$1$1.invoke(CalendarSyncManager.kt:175)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$processVEvent$1$1.invoke(CalendarSyncManager.kt:42)
    	at at.bitfire.davdroid.syncadapter.SyncManager.useLocal(SyncManager.kt:760)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$processVEvent$1.invoke(CalendarSyncManager.kt:174)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$processVEvent$1.invoke(CalendarSyncManager.kt:42)
    	at at.bitfire.davdroid.syncadapter.SyncManager.useLocal(SyncManager.kt:760)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager.processVEvent(CalendarSyncManager.kt:166)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager.access$processVEvent(CalendarSyncManager.kt:42)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$2$1$1.invoke(CalendarSyncManager.kt:141)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$2$1$1.invoke(CalendarSyncManager.kt:42)
    	at at.bitfire.davdroid.syncadapter.SyncManager.useRemote(SyncManager.kt:785)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$2$1.invoke(CalendarSyncManager.kt:133)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$2$1.invoke(CalendarSyncManager.kt:42)
    	at at.bitfire.dav4android.Response$Companion.parse(Response.kt:211)
    	at at.bitfire.dav4android.DavResource$processMultiStatus$2.invoke(DavResource.kt:384)
    	at at.bitfire.dav4android.DavResource.processMultiStatus(DavResource.kt:403)
    	at at.bitfire.dav4android.DavResource.processMultiStatus(DavResource.kt:354)
    	at at.bitfire.dav4android.DavCalendar.multiget(DavCalendar.kt:150)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$2.invoke(CalendarSyncManager.kt:132)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$2.invoke(CalendarSyncManager.kt:42)
    	at at.bitfire.davdroid.syncadapter.SyncManager.useRemote(SyncManager.kt:774)
    	at at.bitfire.davdroid.syncadapter.SyncManager.useRemoteCollection(SyncManager.kt:795)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager.downloadRemote(CalendarSyncManager.kt:131)
    	at at.bitfire.davdroid.syncadapter.SyncManager$syncRemote$1$1.run(SyncManager.kt:438)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    	at java.lang.Thread.run(Thread.java:784)
    
  • developer

    @6042114fa0 Can you send the full debug info of the error to play@bitfire.at (PGP key)?


  • Sorry, I’m not allowed to do this as this is a company calendar. I’m happy to help though – can you set up a Zimbra calendar yourself and share it with me? Then invite me to an event series, and I’ll see whether that can be synced successfully or not.

  • developer

    @6042114fa0 We don’t have a Zimbra server here at the moment. Can’t you star out all personal information in the debug info of the exception? It shouldn’t be that much. The actual event details are not interesting for debugging, but the stack trace and the other information are.


  • But I did post the stack trace above, right? What else would be useful?

  • developer

    @6042114fa0 Is there a “Caused by”? I’d really like to see the whole debug info of the exception. There are often things which indicate potential problems, but I can’t know before I see it.


  • No “caused by”. I have to head off now, but will send you an anonymised version of the full output soon.


  • @rfc2822 Just sent you an anonymised version of the full debug output.


  • Any update?

  • developer

    @6042114fa0 Hello,

    I couldn’t reproduce the problem with Android 8.1 (emulator) and an iCalendar which I have created from your event data. However, I noticed that it seems to contain RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR – maybe this unlimited number of instances causes problems on your device, for instance because there’s no more memory to store the instance data? This could cause the Android calendar storage (which does RRULE expansion) to crash, which would then cause an empty response to DAVdroid.

    Does it work when you use no or another RRULE with a limited number of instances? How much (disk) memory do you have on your device? What happens if you delete this event – does the problem occur for other events, too? Do you have another Android device where you could try synchronization? Is there any other way to reproduce the problem, so that I can get an idea?


  • Just created an event series with no end date in a different calendar. Syncing without problems.
    My gut feeling is that it’s more related to the fact that I was invited to the event by someone else, i.e. someone else actually owns the event series.
    Also I’m not sure whether emulating using Android 8.1 helps, since it’s working fine on my Samsung device, not on my Huawei device though (as mentioned at the beginning of this thread).

Similar topics