ARK-Builders / ARK-Builders/Navigator

JSON error during PlainStatsStorage initialization

Open
#382 1 comment 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.