-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
Reproducible. CC @patrickunterwegs
When adding an attendee to a task in JTX Board and then attempting to sync with DAVx⁵, the sync fails with the following error:
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at java.net.URI$Parser.parse(URI.java:3093)
at java.net.URI.<init>(URI.java:584)
at at.bitfire.ical4android.JtxICalObject.addProperties(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:591)
at at.bitfire.ical4android.JtxICalObject.getICalendarFormat(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:102)
at at.bitfire.ical4android.JtxICalObject.write(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:13)
at at.bitfire.davdroid.sync.JtxSyncManager.generateUpload$app(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:47)
at at.bitfire.davdroid.sync.JtxSyncManager.generateUpload$app(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:95)
at at.bitfire.davdroid.sync.SyncManager.uploadDirty$suspendImpl(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:141)
at at.bitfire.davdroid.sync.SyncManager.uploadDirty(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:1)
at at.bitfire.davdroid.sync.SyncManager.uploadDirty$default(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:8)
at at.bitfire.davdroid.sync.SyncManager$uploadDirty$2$1$1.invokeSuspend(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:33)
at at.bitfire.davdroid.sync.SyncManager$uploadDirty$2$1$1.invoke(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:9)
at at.bitfire.davdroid.sync.SyncManager$uploadDirty$2$1$1.invoke(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:14)
at at.bitfire.davdroid.sync.SyncException$Companion.wrapWithLocalResourceSuspending(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:67)
at at.bitfire.davdroid.sync.SyncManager$uploadDirty$2$1.invokeSuspend(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:38)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:9)
at kotlinx.coroutines.DispatchedTask.run(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:114)
at androidx.core.app.ActivityRecreator$1.run(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:11)
at kotlinx.coroutines.scheduling.TaskImpl.run(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(r8-map-id-33936d9e6d681d0995265b121ccbb1590427a15578f9cf5b7e4025d4b078f3ca:88)
Syncing tasks without attendees work fine, and other DAVx5 syncs complete successfully.
Steps to reproduce
- Create a task on the JTX Board.
- Add an attendee to the task.
- Trigger a sync via DAVx⁵.
- The sync fails with a
NullPointerException.
Envoriment
DAVx⁵: 4.5.9-ose
JTX Board: 2.15.00.ose
Android: 16 (Samsung SM-S908U)
Calendar server: Radicale
Originally posted by @SrS2225a in bitfireAT/davx5-ose#2049
Reactions are currently unavailable