ARK-Builders / ARK-Builders/Navigator
JSON error during PlainStatsStorage initialization
- Dominant language
- Kotlin
- Stars
- 16
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
```
kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 18: Unexpected EOF during unicode escape at path: $.data
JSON input: kotlinx.serialization.json.internal.ArrayAsSequence@8efaab6
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24)
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32)
at kotlinx.serialization.json.internal.AbstractJsonLexer.fail(AbstractJsonLexer.kt:528)
at kotlinx.serialization.json.internal.AbstractJsonLexer.fail$default(AbstractJsonLexer.kt:526)
at kotlinx.serialization.json.internal.AbstractJsonLexer.appendHex(AbstractJsonLexer.kt:449)
at kotlinx.serialization.json.internal.AbstractJsonLexer.appendEsc(AbstractJsonLexer.kt:435)
at kotlinx.serialization.json.internal.AbstractJsonLexer.appendEscape(AbstractJsonLexer.kt:354)
...
at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51)
at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36)
at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)
at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43)
at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:111)
at dev.arkbuilders.navigator.data.stats.category.JsonTagLabeledN$$serializer.deserialize(TagLabeledNStorage.kt:72)
at dev.arkbuilders.navigator.data.stats.category.JsonTagLabeledN$$serializer.deserialize(TagLabeledNStorage.kt:72)
at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38)
at kotlinx.serialization.json.JvmStreamsKt.decodeFromStream(JvmStreams.kt:65)
at dev.arkbuilders.navigator.data.stats.category.TagLabeledNStorage.init(TagLabeledNStorage.kt:75)
at dev.arkbuilders.navigator.data.stats.PlainStatsStorage$init$2$1$1.invokeSuspend(PlainStatsStorage.kt:60)
```
Contributor guide
Research direction
Start with the stack trace locations in TagLabeledNStorage.kt, especially lines 72 and 75, then follow the initialization call from PlainStatsStorage.kt:60. Reproduce the malformed JSON case and inspect how kotlinx.serialization handles the stored data; the report does not define the expected recovery behavior, so confirm what successful initialization should mean before changing code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- data, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100