CalendarProvider2: Trying to insert a attendee to a non-existent event


  • Hi,

    I have a problem with my ICS from Google Calendar. Since a few weeks I get a “Couldn’t apply batch operation” error every time the calendar syncs. However, the synchronization works, for I see all the events appear in my calendar. I tried removing the subscription, and adding it again but did not fix the issue.

    I finally hooked up my adb debugger to find the culprit event that causes the issue, see output of failure:

    01-01 19:19:18.611 17032 17087 W ContentResolver: Failed to get type for: content://com.android.calendar (Unknown URL content://com.android.calendar)
    01-01 19:19:18.613 17032 17087 I CalendarProvider2: Trying to insert a attendee to a non-existent event
    01-01 19:19:18.614 17032 17087 E DatabaseUtils: Writing exception to parcel
    01-01 19:19:18.614 17032 17087 E DatabaseUtils: android.content.OperationApplicationException: insert failed
    01-01 19:19:18.614 17032 17087 E DatabaseUtils:         at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:292)
    01-01 19:19:18.614 17032 17087 E DatabaseUtils:         at com.android.providers.calendar.SQLiteContentProvider.applyBatch(SQLiteContentProvider.java:236)
    01-01 19:19:18.614 17032 17087 E DatabaseUtils:         at com.android.providers.calendar.CalendarProvider2.applyBatch(CalendarProvider2.java:2111)
    01-01 19:19:18.614 17032 17087 E DatabaseUtils:         at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:320)
    01-01 19:19:18.614 17032 17087 E DatabaseUtils:         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:181)
    01-01 19:19:18.614 17032 17087 E DatabaseUtils:         at android.os.Binder.execTransact(Binder.java:731)
    01-01 19:19:18.616 28344  3580 E icsx5   : Couldn't process events
    01-01 19:19:18.616 28344  3580 E icsx5   : at.bitfire.ical4android.CalendarStorageException: Couldn't apply batch operation
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.ical4android.BatchOperation.commit(BatchOperation.kt:46)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.ical4android.AndroidEvent.update(AndroidEvent.kt:604)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.ProcessEventsTask.processEvents(ProcessEventsTask.kt:161)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.ProcessEventsTask.access$processEvents(ProcessEventsTask.kt:22)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.ProcessEventsTask$processEvents$downloader$1.onSuccess(ProcessEventsTask.kt:63)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.CalendarFetcher.fetchNetwork(CalendarFetcher.kt:133)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.CalendarFetcher.run(CalendarFetcher.kt:44)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.ProcessEventsTask.processEvents(ProcessEventsTask.kt:101)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.icsdroid.ProcessEventsTask.run(ProcessEventsTask.kt:34)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at java.lang.Thread.run(Thread.java:764)
    01-01 19:19:18.616 28344  3580 E icsx5   : Caused by: android.content.OperationApplicationException: insert failed
    01-01 19:19:18.616 28344  3580 E icsx5   :      at android.database.DatabaseUtils.readExceptionWithOperationApplicationExceptionFromParcel(DatabaseUtils.java:156)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:522)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:474)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.kt:72)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.kt:86)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.kt:87)
    01-01 19:19:18.616 28344  3580 E icsx5   :      at at.bitfire.ical4android.BatchOperation.commit(BatchOperation.kt:36)
    01-01 19:19:18.616 28344  3580 E icsx5   :      ... 11 more
    

    If I read this correct than icsx5 tries to add a attendee to an existing event, but fails because the event is not in my calendar. Unfortunately, it does not show for which entry this occurs, so I’m not able to remove the event from my calendar. I’ve tried using http://ical-validator.herokuapp.com/ to indicate any issues, but it only complains about several “UID encountered multiple times”, “Property [ORGANIZER] must be specified once” and a lot of “Property [ATTENDEE] is not applicable”. This also does not finding the problematic event.

    Since the feed contains a lot of events and a lot of addresses of other people, I cannot past the link here.

    Does this seem like a bug in icsx5 or in the ICS file itself? And is there another tool I can use to find the event that causes the problem?

    icsx5 version 1.9 via F-Droid

    PS: When I downgrade to version 1.8.9 the error does not occur. If I then upgrade to 1.9 the error is back after syncing. It therefore looks like a bug in icsx5 itself.

  • admin

    @dafelix If you can send us the ics file via email: support-en@davx5.com we can take a look at it ouselves.


  • @devvv4ever Thank you for you fast reply. I’ve sent you the file via e-mail.

  • developer

    @dafelix See email.


  • For future reference: The issue is fixed in the 1.9.1-beta1 I’ve tested, so with the release of 1.9.1 this issue should be resolved.

    Thanks for the help guys! @devvv4ever @rfc2822

  • developer

    @dafelix Thanks for the feedback.

Similar topics

  • 2
  • 4
  • 8