FHIR Core / OpenSRP 2 is a Kotlin application for delivering offline-capable, mobile-first healthcare project implementations from local community to national and international scale using FHIR and WHO Smart Guidelines on Android.
Describe the bug
initial sync is not reaching 100%, it stops around 28%
To Reproduce
Steps to reproduce the behavior:
enter app id,
Enter username and password
log in,
initial sync starts.
sync stops at 28%
Expected behavior
Sync should reach 100%
This is the error message which is being shown.
Work [ id=4b77982c-819c-4c11-bd2f-7520159c0ec0, tags={ org.smartregister.fhircore.engine.sync.AppSyncWorker } ] failed because it threw an exception/error
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: No virtual method getCanonicalFormOrOriginal(Lcom/google/android/fhir/UcumValue;)Lcom/google/android/fhir/UcumValue; in class Lcom/google/android/fhir/UnitConverter; or its super classes (declaration of 'com.google.android.fhir.UnitConverter' appears in /data/app/~~iqVfqUwXNKdAtxcSkK8SJw==/org.smartregister.fhircore.mwcore-kSgrDyCLNlIqoHsO9sx7MQ==/base.apk!classes25.dex)
at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:516)
at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)
at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:317)
at androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.NoSuchMethodError: No virtual method getCanonicalFormOrOriginal(Lcom/google/android/fhir/UcumValue;)Lcom/google/android/fhir/UcumValue; in class Lcom/google/android/fhir/UnitConverter; or its super classes (declaration of 'com.google.android.fhir.UnitConverter' appears in /data/app/~~iqVfqUwXNKdAtxcSkK8SJw==/org.smartregister.fhircore.mwcore-kSgrDyCLNlIqoHsO9sx7MQ==/base.apk!classes25.dex)
at com.google.android.fhir.index.ResourceIndexer$Companion.quantityIndex(ResourceIndexer.kt:326)
at com.google.android.fhir.index.ResourceIndexer$Companion.access$quantityIndex(ResourceIndexer.kt:112)
at com.google.android.fhir.index.ResourceIndexer.extractIndexValues(ResourceIndexer.kt:101)
at com.google.android.fhir.index.ResourceIndexer.index(ResourceIndexer.kt:75)
at com.google.android.fhir.db.impl.dao.ResourceDao.insertResource(ResourceDao.kt:214)
at com.google.android.fhir.db.impl.dao.ResourceDao.insertRemoteResource(ResourceDao.kt:187)
at com.google.android.fhir.db.impl.dao.ResourceDao.insertAllRemote$suspendImpl(ResourceDao.kt:96)
at com.google.android.fhir.db.impl.dao.ResourceDao.insertAllRemote(Unknown Source:0)
at com.google.android.fhir.db.impl.DatabaseImpl$insertRemote$2.invokeSuspend(DatabaseImpl.kt:127)
at com.google.android.fhir.db.impl.DatabaseImpl$insertRemote$2.invoke(Unknown Source:8)
at com.google.android.fhir.db.impl.DatabaseImpl$insertRemote$2.invoke(Unknown Source:2)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invokeSuspend(RoomDatabaseExt.kt:56)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invoke(Unknown Source:8)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at androidx.room.RoomDatabaseKt.withTransaction(RoomDatabaseExt.kt:71)
at com.google.android.fhir.db.impl.DatabaseImpl.insertRemote(DatabaseImpl.kt:127)
at com.google.android.fhir.db.impl.DatabaseImpl$insertSyncedResources$2.invokeSuspend(DatabaseImpl.kt:167)
at com.google.android.fhir.db.impl.DatabaseImpl$insertSyncedResources$2.invoke(Unknown Source:8)
at com.google.android.fhir.db.impl.DatabaseImpl$insertSyncedResources$2.invoke(Unknown Source:2)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invokeSuspend(RoomDatabaseExt.kt:56)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invoke(Unknown Source:8)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at androidx.room.RoomDatabaseKt.withTransaction(RoomDatabaseExt.kt:71)
at com.google.android.fhir.db.impl.DatabaseImpl.insertSyncedResources(DatabaseImpl.kt:167)
at com.google.android.fhir.impl.FhirEngineImpl$syncDownload$2$1.invokeSuspend(FhirEngineImpl.kt:103)
at com.google.android.fhir.impl.FhirEngineImpl$syncDownload$2$1.invoke(Unknown Source:8)
at com.google.android.fhir.impl.FhirEngineImpl$syncDownload$2$1.invoke(Unknown Source:2)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invokeSuspend(RoomDatabaseExt.kt:56)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invoke(Unknown Source:8)
at androidx.room.RoomDatabaseKt$withTransaction$transactionBlock$1.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at androidx.room.RoomDatabaseKt$startTransactionCoroutine$2$1$1.invokeSuspend(RoomDatabaseExt.kt:97)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
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 androidx.room.RoomDatabaseKt$startTransactionCoroutine$2$1.run(RoomDatabaseExt.kt:93)
at androidx.room.TransactionExecutor.execute$lambda$1$lambda$0(TransactionExecutor.kt:36)
at androidx.room.TransactionExecutor.$r8$lambda$AympDHYBb78s7_N_9gRsXF0sHiw(Unknown Source:0)
at androidx.room.TransactionExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
... 3 more
Smartphone (please complete the following information):
Describe the bug initial sync is not reaching 100%, it stops around 28%
To Reproduce Steps to reproduce the behavior:
Expected behavior Sync should reach 100%
This is the error message which is being shown.
Smartphone (please complete the following information):