ARK-Builders / ARK-Builders/Navigator

Attempt to use methods of MonoidIsNotUsed

Open
#374 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Kotlin
Stars
16
Forks
14
PR merge metrics
No merged PRs in 30d

Description

```
java.lang.IllegalStateException: Metadata is generated and always must be the same for same ids
at space.taran.arklib.domain.storage.MonoidIsNotUsed.combine(MonoidIsNotUsed.kt:28)
at space.taran.arklib.domain.storage.BaseStorage$syncWithDisk$2.invoke(BaseStorage.kt:119)
at space.taran.arklib.domain.storage.BaseStorage$syncWithDisk$2.invoke(BaseStorage.kt:105)
at space.taran.arklib.domain.storage.FolderStorage.readFromDisk(FolderStorage.kt:110)
at space.taran.arklib.domain.storage.BaseStorage.syncWithDisk(BaseStorage.kt:105)
at space.taran.arklib.domain.storage.BaseStorage.actualPersist(BaseStorage.kt:80)
at space.taran.arklib.domain.storage.BaseStorage.access$actualPersist(BaseStorage.kt:17)
at space.taran.arklib.domain.storage.BaseStorage$persistRequestFlow$1$1.invokeSuspend(BaseStorage.kt:32)
at space.taran.arklib.domain.storage.BaseStorage$persistRequestFlow$1$1.invoke(Unknown Source:8)
at space.taran.arklib.domain.storage.BaseStorage$persistRequestFlow$1$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(Emitters.kt:223)
at kotlinx.coroutines.flow.FlowKt__DelayKt$debounceInternal$1$3$1.invokeSuspend(Delay.kt:233)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@3a6e020, Dispatchers.IO]
```

Contributor guide

Open the contributing guide

Research direction

Start at MonoidIsNotUsed.kt:28, where the exception is raised, then trace the storage-sync call chain through BaseStorage.kt:105 and :119 and FolderStorage.kt:110. Reproduce the persistence operation and determine why combine receives metadata that violates its invariant; done means the reported storage flow no longer throws this exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.