You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create event on server with very large (~ 1 MB) DESCRIPTION (for instance, big_text_input.txt from there).
Sync with DAVx5.
Actual result
No error message, event is silently ignored by DAVx5.
The expected IPC size exception is however logged:
Vestibulum hendrerit urna ut dui dictum porttitor. Praesent ut ex sed libero pretium dapibus sed in orci. Etiam leo nisi, sollicitudin vitae elit at, sagittis imperdiet arcu. Nullam placerat justo quis cursus pellentesque. Proin interdum elit ut tortor tempor viverra. Mauris eget nisl vehicu[…]
19:00:01.972 21634-23329 .BatchOperation D #1: ContentProviderOperation(type=insert uri=content://com.android.calendar/extendedproperties?account_name=test%40example.com&account_type=bitfire.at.davdroid&caller_is_syncadapter=true values={name=vnd.android.cursor.item/vnd.ical4android.unknown-property, value=["CREATED","20241113T140548Z"], event_id=android.content.ContentProviderOperation$BackReference@1323255})
19:00:01.972 21634-23329 .BatchOperation D Running 2 operations (0 .. 1)
19:00:01.976 21634-23329 IPCThreadState E Binder transaction failure. id: 6195183, BR_*: 29201, error: -28 (No space left on device)
19:00:01.976 21634-23329 BpBinder W Large outgoing transaction of 2209748 bytes, interface descriptor , code 20
19:00:01.977 21634-23329 JavaBinder E !!! FAILED BINDER TRANSACTION !!! (parcel size = 2209748)
19:00:01.978 21634-23329 .BatchOperation W Transaction too large, splitting (losing atomicity)
19:00:01.978 21634-23329 .BatchOperation D Running 1 operations (0 .. 0)
19:00:01.981 21634-23329 IPCThreadState E Binder transaction failure. id: 6195188, BR_*: 29201, error: -28 (No space left on device)
19:00:01.981 21634-23329 BpBinder W Large outgoing transaction of 2209168 bytes, interface descriptor , code 20
19:00:01.983 21634-23329 ActivityThread D Too many transaction errors, throttling freezer binder callback.
19:00:01.983 21634-23329 JavaBinder E !!! FAILED BINDER TRANSACTION !!! (parcel size = 2209168)
19:00:01.985 21634-23329 .sync.SyncManager E Couldn't access local storage
at.bitfire.ical4android.CalendarStorageException: Can't transfer data to content provider (too large data row can't be split)
at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.kt:117)
at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.kt:122)
at at.bitfire.ical4android.BatchOperation.commit(BatchOperation.kt:60)
at at.bitfire.ical4android.AndroidEvent.add(AndroidEvent.kt:573)
at at.bitfire.davdroid.sync.CalendarSyncManager.processVEvent$lambda$14$lambda$13(CalendarSyncManager.kt:281)
at at.bitfire.davdroid.sync.CalendarSyncManager.$r8$lambda$43hNQxo5k52FeIcYrGMKqoDTstY(Unknown Source:0)
at at.bitfire.davdroid.sync.CalendarSyncManager$$ExternalSyntheticLambda3.invoke(D8$$SyntheticClass:0)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithLocalResource(SyncException.kt:22)
at at.bitfire.davdroid.sync.CalendarSyncManager.processVEvent$lambda$14(CalendarSyncManager.kt:280)
at at.bitfire.davdroid.sync.CalendarSyncManager.$r8$lambda$HcVMg3PtuvbYvhpqtEeNUSVzbyE(Unknown Source:0)
at at.bitfire.davdroid.sync.CalendarSyncManager$$ExternalSyntheticLambda1.invoke(D8$$SyntheticClass:0)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithLocalResource(SyncException.kt:22)
at at.bitfire.davdroid.sync.CalendarSyncManager.processVEvent(CalendarSyncManager.kt:270)
at at.bitfire.davdroid.sync.CalendarSyncManager.downloadRemote$lambda$11$lambda$10$lambda$9(CalendarSyncManager.kt:227)
at at.bitfire.davdroid.sync.CalendarSyncManager.$r8$lambda$xBRNK6FZsxb0c35R_GMkb1qDT8A(Unknown Source:0)
at at.bitfire.davdroid.sync.CalendarSyncManager$$ExternalSyntheticLambda5.invoke(D8$$SyntheticClass:0)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithRemoteResource(SyncException.kt:38)
at at.bitfire.davdroid.sync.CalendarSyncManager.downloadRemote$lambda$11$lambda$10(CalendarSyncManager.kt:211)
at at.bitfire.davdroid.sync.CalendarSyncManager.$r8$lambda$is9u8vJ7VzS62N-UVw4ofat62j4(Unknown Source:0)
at at.bitfire.davdroid.sync.CalendarSyncManager$$ExternalSyntheticLambda0.onResponse(D8$$SyntheticClass:0)
at at.bitfire.dav4jvm.Response$Companion.parse(Response.kt:220)
at at.bitfire.dav4jvm.DavResource.processMultiStatus$parseMultiStatus(DavResource.kt:774)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:793)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:744)
at at.bitfire.dav4jvm.DavCalendar.multiget(DavCalendar.kt:181)
at at.bitfire.dav4jvm.DavCalendar.multiget$default(DavCalendar.kt:145)
at at.bitfire.davdroid.sync.CalendarSyncManager.downloadRemote$lambda$11(CalendarSyncManager.kt:197)
at at.bitfire.davdroid.sync.CalendarSyncManager.$r8$lambda$3MqIM-UjL7npA99FHS230pOYtbQ(Unknown Source:0)
at at.bitfire.davdroid.sync.CalendarSyncManager$$ExternalSyntheticLambda2.invoke(D8$$SyntheticClass:0)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithRemoteResource(SyncException.kt:38)
at at.bitfire.davdroid.sync.CalendarSyncManager.downloadRemote(CalendarSyncManager.kt:196)
at at.bitfire.davdroid.sync.SyncManager$syncRemote$1$download$1.invokeSuspend(SyncManager.kt:602)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:47)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at at.bitfire.davdroid.sync.SyncManager.syncRemote(SyncManager.kt:590)
at at.bitfire.davdroid.sync.SyncManager.performSync(SyncManager.kt:227)
at at.bitfire.davdroid.sync.CalendarSyncer.syncCollection(CalendarSyncer.kt:68)
19:00:01.985 21634-23329 .sync.SyncManager E at at.bitfire.davdroid.sync.CalendarSyncer.syncCollection(CalendarSyncer.kt:22)
at at.bitfire.davdroid.sync.Syncer.syncCollectionContents$davx5_ose_4_4_4_alpha_1_oseDebug(Syncer.kt:208)
at at.bitfire.davdroid.sync.Syncer.sync$davx5_ose_4_4_4_alpha_1_oseDebug(Syncer.kt:107)
at at.bitfire.davdroid.sync.Syncer.invoke(Syncer.kt:272)
at at.bitfire.davdroid.sync.worker.BaseSyncWorker$doSyncWork$2.invokeSuspend$lambda$0(BaseSyncWorker.kt:264)
at at.bitfire.davdroid.sync.worker.BaseSyncWorker$doSyncWork$2.$r8$lambda$MnrEU1_WtQZTTPjmMRztfG3Y7fo(Unknown Source:0)
at at.bitfire.davdroid.sync.worker.BaseSyncWorker$doSyncWork$2$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
at kotlinx.coroutines.InterruptibleKt.runInterruptibleInExpectedContext(Interruptible.kt:48)
at kotlinx.coroutines.InterruptibleKt.access$runInterruptibleInExpectedContext(Interruptible.kt:1)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invokeSuspend(Interruptible.kt:40)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invoke(Unknown Source:8)
at kotlinx.coroutines.InterruptibleKt$runInterruptible$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:42)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:156)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at kotlinx.coroutines.InterruptibleKt.runInterruptible(Interruptible.kt:39)
at kotlinx.coroutines.InterruptibleKt.runInterruptible$default(Interruptible.kt:36)
at at.bitfire.davdroid.sync.worker.BaseSyncWorker$doSyncWork$2.invokeSuspend(BaseSyncWorker.kt:263)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.TransactionTooLargeException: data parcel size 2209168 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:586)
at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:635)
at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:574)
at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:562)
at at.bitfire.ical4android.BatchOperation.runBatch(BatchOperation.kt:100)
... 65 more
Expected result
The exception should be shown as sync exception / notification.
Further info
No response
The text was updated successfully, but these errors were encountered:
rfc2822
changed the title
TransactionTooLargeException during sync doesn't cause notification anymore
TransactionTooLargeException during sync doesn't cause notification
Nov 21, 2024
Seems the problem occurs because the failed event is put into the "local data" field of the exception notification, and this "local data" is of course also > 1 MB and causes another TransactionTooLargeException.
So showing the notification for TransactionTooLargeException causes another TransactionTooLargeException.
Problem scope
App version
Android version and device/firmware type
No response
Steps to reproduce
DESCRIPTION
(for instance,big_text_input.txt
from there).Actual result
No error message, event is silently ignored by DAVx5.
The expected IPC size exception is however logged:
Expected result
The exception should be shown as sync exception / notification.
Further info
No response
The text was updated successfully, but these errors were encountered: