Skip to content

"Can't toast on a thread that has not called Looper.prepare()" after installing jtxBoard and DAVx5 4.1-alpha3

After installing jtx Board 1.0 together with DAVx5 4.1-alpha3 this error pops up before the first sync sync is performed.

--- BEGIN DEBUG INFO ---

SYNCHRONIZATION INFO
Account: Account {name=stockmann@bitfire.at, type=bitfire.at.davdroid}
Authority: at.techbee.jtx.provider

EXCEPTION
java.lang.NullPointerException: Can't toast on a thread that has not called Looper.prepare()
	at android.os.Parcel.createExceptionOrNull(Parcel.java:2379)
	at android.os.Parcel.createException(Parcel.java:2357)
	at android.os.Parcel.readException(Parcel.java:2340)
	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
	at android.content.ContentProviderProxy.insert(ContentProviderNative.java:572)
	at android.content.ContentProviderClient.insert(ContentProviderClient.java:358)
	at android.content.ContentProviderClient.insert(ContentProviderClient.java:343)
	at at.bitfire.ical4android.JtxICalObject.add(JtxICalObject.kt:980)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1$1.invoke(JtxSyncManager.kt:152)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1$1.invoke(JtxSyncManager.kt:149)
	at at.bitfire.davdroid.syncadapter.SyncManager.localExceptionContext(SyncManager.kt:827)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1.invoke(JtxSyncManager.kt:149)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1.invoke(JtxSyncManager.kt:139)
	at at.bitfire.davdroid.syncadapter.SyncManager.localExceptionContext(SyncManager.kt:827)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager.processICalObject(JtxSyncManager.kt:139)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager.access$processICalObject(JtxSyncManager.kt:29)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1$1.invoke(JtxSyncManager.kt:103)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1$1.invoke(JtxSyncManager.kt:90)
	at at.bitfire.davdroid.syncadapter.SyncManager.responseExceptionContext(SyncManager.kt:852)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1.invoke(JtxSyncManager.kt:90)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1.invoke(JtxSyncManager.kt:89)
	at at.bitfire.dav4jvm.Response$Companion.parse(Response.kt:208)
	at at.bitfire.dav4jvm.DavResource.processMultiStatus$parseMultiStatus(DavResource.kt:581)
	at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:600)
	at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:551)
	at at.bitfire.dav4jvm.DavCalendar.multiget(DavCalendar.kt:174)
	at at.bitfire.dav4jvm.DavCalendar.multiget$default(DavCalendar.kt:138)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1.invoke(JtxSyncManager.kt:89)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1.invoke(JtxSyncManager.kt:88)
	at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:841)
	at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:862)
	at at.bitfire.davdroid.syncadapter.Jtx5SyncManager.downloadRemote(JtxSyncManager.kt:88)
	at at.bitfire.davdroid.syncadapter.SyncManager$syncRemote$1$download$1.invokeSuspend(SyncManager.kt:507)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
	at at.bitfire.davdroid.syncadapter.SyncManager.syncRemote(SyncManager.kt:495)
	at at.bitfire.davdroid.syncadapter.SyncManager$performSync$1.invoke(SyncManager.kt:145)
	at at.bitfire.davdroid.syncadapter.SyncManager$performSync$1.invoke(SyncManager.kt:109)
	at at.bitfire.davdroid.syncadapter.SyncManager.unwrapExceptions(SyncManager.kt:867)
	at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.kt:109)
	at at.bitfire.davdroid.syncadapter.JtxSyncAdapterService$JtxSyncAdapter.sync(JtxSyncAdapterService.kt:41)
	at at.bitfire.davdroid.syncadapter.SyncAdapterService$SyncAdapter.onPerformSync(SyncAdapterService.kt:146)
	at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:334)

LOCAL RESOURCE
at.bitfire.davdroid.resource.LocalJtxICalObject@e59e22c

REMOTE RESOURCE
https://cloud.bitfire.at/remote.php/dav/calendars/devvv/817e04f5-cab2-4c97-aebd-f96db146be33/1637851784508-fde2afb5-ba2b-40a1-bde4-84856d185986@at.techbee.jtx.ics

SOFTWARE INFORMATION

┌────────────────────────────────┬─────────────────────────────┬────────────┬─────────────────────────────────────┬───────┐
│ Package                        │ Version                     │ Code       │ Installer                           │ Notes │
├────────────────────────────────┼─────────────────────────────┼────────────┼─────────────────────────────────────┼───────┤
│ at.bitfire.davdroid            │ 4.1-alpha.3-gplay           │ 401000002  │ com.google.android.packageinstaller │       │
│ at.techbee.jtx                 │ 1.00.00-release.gplay       │ 100000008  │ com.android.vending                 │       │
│ org.tasks                      │ 11.12.3                     │ 111203     │ com.google.android.packageinstaller │       │
│ com.android.providers.contacts │ 11.0.0                      │ 110000     │ —                                   │       │
│ com.android.providers.calendar │ 11                          │ 30         │ —                                   │       │
│ com.google.android.calendar    │ 2021.47.2-416078291-release │ 2017045924 │ com.android.vending                 │       │
└────────────────────────────────┴─────────────────────────────┴────────────┴─────────────────────────────────────┴───────┘


SYSTEM INFORMATION

Android version: 11 (ONEPLUS A6003_22_211125)
Device: OnePlus ONEPLUS A6003 (OnePlus6)