StreetComplete
StreetComplete copied to clipboard
Crash related to Koin Work Manager
I am seeing some crashes in the Google Play Console related to Koin Work Manager.
The crashes are not device specific and also not Android version specific (most happened on Android 12, but there was also a crash on Android 8).
I didn't look deeper into that yet. Maybe @adrianclay can help
java.lang.Error:
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1168)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.InstanceCreationException:
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:60)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:21)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:21)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
Caused by: org.koin.core.error.NoBeanDefFoundException:
at org.koin.core.scope.Scope.throwDefinitionNotFound (Scope.kt:304)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:274)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$6.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$6.invoke (OsmApiModule.kt:23)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:21)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:21)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:29)
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory.create (SingleInstanceFactory.kt:46)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:53)
at org.koin.core.instance.SingleInstanceFactory$get$1.invoke (SingleInstanceFactory.kt:51)
at org.koin.mp.KoinPlatformTools.synchronized (PlatformToolsJVM.kt:20)
at org.koin.core.instance.SingleInstanceFactory.get (SingleInstanceFactory.kt:51)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.get$default (Scope.kt:130)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
at org.koin.core.instance.InstanceFactory.create (InstanceFactory.kt:53)
at org.koin.core.instance.FactoryInstanceFactory.get (FactoryInstanceFactory.kt:38)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core (InstanceRegistry.kt:110)
at org.koin.core.scope.Scope.resolveValue (Scope.kt:254)
at org.koin.core.scope.Scope.resolveInstance (Scope.kt:241)
at org.koin.core.scope.Scope.get (Scope.kt:204)
at org.koin.core.scope.Scope.getOrNull (Scope.kt:172)
at org.koin.core.scope.Scope.getOrNull$default (Scope.kt:155)
at org.koin.androidx.workmanager.factory.KoinWorkerFactory.createWorker (KoinWorkerFactory.kt:47)
at androidx.work.DelegatingWorkerFactory.createWorker (DelegatingWorkerFactory.java:71)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:83)
at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:245)
at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:137)
at androidx.work.impl.utils.SerialExecutor$Task.run (SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:764)
👋🏻 From the stack trace above, I've filter out the non-project specific lines, highlighted and annotated the more interesting lines.
Annotated trace
Caused by: org.koin.core.error.NoBeanDefFoundException: at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$6.invoke (OsmApiModule.kt:39) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$6.invoke (OsmApiModule.kt:23)
single { osmConnection(get<OAuthStore>().oAuthConsumer) }
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:39) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:21) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$5.invoke (OsmApiModule.kt:21)
factory { UserApi(get()) }
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:29) at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11) at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$2.invoke (NotesModule.kt:11)
factory { AvatarsDownloader(get(), get(named("AvatarsCacheDirectory")) ) }
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:29) at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12) at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$3.invoke (NotesModule.kt:12)
factory { AvatarsInNotesUpdater(get()) }
at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:29) at de.westnordost.streetcomplete.data.osmnotes.NotesModuleKt$notesModule$1$7.invoke (NotesModule.kt:17)
single {
NoteController(get()).apply {
// on notes have been updated, avatar images should be downloaded (cached) referenced in note discussions
addListener(get<AvatarsInNotesUpdater>())
}
}
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:39) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$1.invoke (OsmApiModule.kt:17)
factory { Cleaner(get(), get(), get()) }
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:39) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26) at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
worker { CleanerWorker(get(), get(), get()) }
I tried to reproduce the error with an emulated version of Android 12 both with the application on screen, and in the background. During testing I was able to get a fully constructed, error free, CleanerWorker
multiple times.
I wondered why we see the issue with the CleanerWorker
, but not the ChangesetAutoCloserWorker
. I have not come up with any thoughts.
I looked over the documentation to compare this app against their recommendations on how to use KoinWorker
. I found no difference.
I looked at issues for Koin, to see whether I could see a related issue. I found no clear advice.
- InsertKoinIO/koin#970 - Same symptoms but not a Worker
- InsertKoinIO/koin#884 - Same symptoms, no useful advice
My exploration of this problem has reached a dead end. I am happy to continue exploring the bug. If anybody has ideas on how to further diagnose this bug let me know.
I can confirm that all 14 crash reports so far mentioned
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt:26)
and not anything in the ElementEditsModule.kt
, so it seems the issue is limited to CleanerWorker
.
About 70% of all crashes in StreetComplete are caused by tangram-es (see https://github.com/tangrams/tangram-es/issues/2315 ) and while this issue is only responsible for about 10% of crashes, it's one of the top causes for crashes.
Maybe it is actually a bug in koin? If you think it makes sense, maybe you could open a ticket at koin about this? (since you concerned yourself with koin more than me and with tracing the issue, I think you'd be able to supply more useful information to them)
So, this is a long chain of failures. The root of the issue should usually be the bottom-most Exception:
Caused by org.koin.core.error.NoBeanDefFoundException:
at org.koin.core.scope.Scope.throwDefinitionNotFound
at org.koin.core.scope.Scope.resolveValue
at org.koin.core.scope.Scope.resolveInstance
at org.koin.core.scope.Scope.get
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt)
at de.westnordost.streetcomplete.data.OsmApiModuleKt$osmApiModule$1$8.invoke (OsmApiModule.kt)
at org.koin.core.instance.InstanceFactory.create
So, this is the code in question: https://github.com/streetcomplete/StreetComplete/blob/d74a517a3d5366c285d0513860d72805b7586605/app/src/main/java/de/westnordost/streetcomplete/data/OsmApiModule.kt#L27
Koin cannot resolve OAuthStore, but only for the worker manager. For normal application start, it's fine.
Reduced to what matters and expanded, it is
class StreetCompleteApplication : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidContext(this@StreetCompleteApplication)
workManagerFactory()
modules(
module {
single<OsmConnection> {
OsmConnection(
"https://api.openstreetmap.org/api/0.6/",
"StreetComplete 55.0",
get<OAuthStore>().oAuthConsumer
)
}
factory<OAuthStore> { OAuthStore(get<SharedPreferences>()) }
factory<SharedPreferences> { PreferenceManager.getDefaultSharedPreferences(androidContext()) }
},
)
}
}
}