-
Notifications
You must be signed in to change notification settings - Fork 4
[ical4j 4.x] NullPointerException in JtxICalObject.extractProperties() #303
Copy link
Copy link
Labels
tasksRegarding tasks / everything that's stored in a task app providerRegarding tasks / everything that's stored in a task app provider
Description
Prerequisites:
- Have jtx Board installed and allow DAVx5 access to it
- Use the ical4j 4.x-enabled version of DAVx5 from https://github.com/bitfireAT/davx5-ose/tree/use-ical4j-4x
Steps to reproduce:
- Click "add account".
- Select "advanced login" option.
- Enter
cal.aegee.orgas base URL, leave username and password empty. - Finish account setup.
- Enable "OMS" in "CalDAV" tab.
- Initial sync should work fine.
- Manually re-sync → NullPointerException
Stacktrace:
java.lang.NullPointerException: Attempt to invoke virtual method 'byte[] java.nio.ByteBuffer.array()' on a null object reference
at at.bitfire.ical4android.JtxICalObject$Companion.extractProperties(JtxICalObject.kt:504)
at at.bitfire.ical4android.JtxICalObject$Companion.fromReader(JtxICalObject.kt:319)
at at.bitfire.davdroid.sync.JtxSyncManager.processICalObject$core(JtxSyncManager.kt:175)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.invokeSuspend$lambda$0$0$0(JtxSyncManager.kt:155)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.$r8$lambda$CuGlkJ9wW6_seOsk7DNaV_xSS40(Unknown Source:0)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
at at.bitfire.davdroid.sync.SyncException$Companion$wrapWithRemoteResource$1.invokeSuspend$suspendConversion0(SyncException.kt:43)
at at.bitfire.davdroid.sync.SyncException$Companion$wrapWithRemoteResource$1.access$invokeSuspend$suspendConversion0(Unknown Source:0)
at at.bitfire.davdroid.sync.SyncException$Companion$wrapWithRemoteResource$1$1.invoke(SyncException.kt:43)
at at.bitfire.davdroid.sync.SyncException$Companion$wrapWithRemoteResource$1$1.invoke(SyncException.kt:43)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithRemoteResourceSuspending(SyncException.kt:48)
at at.bitfire.davdroid.sync.SyncException$Companion$wrapWithRemoteResource$1.invokeSuspend(SyncException.kt:43)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithRemoteResource(SyncException.kt:42)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.invokeSuspend$lambda$0$0(JtxSyncManager.kt:140)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.$r8$lambda$MKOfwgC7oDWikMawDoBFRNJQEWk(Unknown Source:0)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2$$ExternalSyntheticLambda2.onResponse(D8$$SyntheticClass:0)
at at.bitfire.dav4jvm.okhttp.Response$Companion.parse(Response.kt:221)
at at.bitfire.dav4jvm.okhttp.DavResource.processMultiStatus$parseMultiStatus(DavResource.kt:802)
at at.bitfire.dav4jvm.okhttp.DavResource.processMultiStatus(DavResource.kt:821)
at at.bitfire.dav4jvm.okhttp.DavResource.processMultiStatus(DavResource.kt:772)
at at.bitfire.dav4jvm.okhttp.DavCalendar.multiget(DavCalendar.kt:178)
at at.bitfire.dav4jvm.okhttp.DavCalendar.multiget$default(DavCalendar.kt:142)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.invokeSuspend$lambda$0(JtxSyncManager.kt:138)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2$$ExternalSyntheticLambda1.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.startUndspatched(Undispatched.kt:66)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:157)
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.JtxSyncManager$downloadRemote$2.invokeSuspend(JtxSyncManager.kt:137)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.invoke(Unknown Source:8)
at at.bitfire.davdroid.sync.JtxSyncManager$downloadRemote$2.invoke(Unknown Source:2)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithRemoteResourceSuspending(SyncException.kt:48)
at at.bitfire.davdroid.sync.JtxSyncManager.downloadRemote(JtxSyncManager.kt:136)
at at.bitfire.davdroid.sync.SyncManager$syncRemote$2$download$1.invokeSuspend(SyncManager.kt:605)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
tasksRegarding tasks / everything that's stored in a task app providerRegarding tasks / everything that's stored in a task app provider