ARK-Builders / ARK-Navigator

Android app for navigation through your data
MIT License
15 stars 15 forks source link

ConcurrentModificationException somewhere in the index #339

Open kirillt opened 1 year ago

kirillt commented 1 year ago

Happened couple of times recently: http://65.21.4.137:8080/app/1/bug/199/report

java.util.ConcurrentModificationException
    at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:760)
    at java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:788)
    at kotlin.collections.CollectionsKt___CollectionsKt.toCollection(_Collections.kt:1295)
    at kotlin.collections.CollectionsKt___CollectionsKt.toSet(_Collections.kt:1348)
    at space.taran.arklib.domain.index.PlainResourcesIndex.listResources(PlainResourcesIndex.kt:64)
    at space.taran.arklib.domain.index.AggregatedResourcesIndex.listResources(AggregatedResourcesIndex.kt:26)
    at space.taran.arklib.domain.index.ResourcesIndex$DefaultImpls.listIds(ResourcesIndex.kt:14)
    at space.taran.arklib.domain.index.AggregatedResourcesIndex.listIds(AggregatedResourcesIndex.kt:21)
    at space.taran.arklib.domain.index.ResourcesIndex$DefaultImpls.listAllIds(ResourcesIndex.kt:18)
    at space.taran.arklib.domain.index.AggregatedResourcesIndex.listAllIds(AggregatedResourcesIndex.kt:21)
    at space.taran.arknavigator.mvp.model.repo.stats.PlainStatsStorage.belongToRoot(PlainStatsStorage.kt:86)
    at space.taran.arknavigator.mvp.model.repo.stats.PlainStatsStorage.access$belongToRoot(PlainStatsStorage.kt:26)
    at space.taran.arknavigator.mvp.model.repo.stats.PlainStatsStorage$handleEvent$2.invokeSuspend(PlainStatsStorage.kt:70)
shubertm commented 1 year ago

https://developer.android.com/reference/kotlin/java/util/ConcurrentModificationException We have an iteration here https://github.com/ARK-Builders/arklib-android/blob/792cda513d4299ec323cff70de297765a45908b5/lib/src/main/java/space/taran/arklib/domain/index/ResourcesIndex.kt#L13-L14 And we have a modification to the same collection here https://github.com/ARK-Builders/arklib-android/blob/792cda513d4299ec323cff70de297765a45908b5/lib/src/main/java/space/taran/arklib/domain/index/PlainResourcesIndex.kt#L64