-
Notifications
You must be signed in to change notification settings - Fork 653
Description
Describe the bug
I have a hash map of <String, String>. This map we are storing in preference for persistance storage. Before storing we are converting this map to json using Json.encodeToString(map)
On Android platform it works fine. On ios platform getting below exception
Crashed: Thread
0 Sony LIV 0x2fc2ce4 kfun:kotlinx.serialization.json.internal#printQuoted__at__kotlin.text.StringBuilder(kotlin.String){} + 15 (CharSequence.kt:15)
1 Sony LIV 0x2fbff84 kfun:kotlinx.serialization.json.internal.StreamingJsonEncoder#encodeSerializableValue(kotlinx.serialization.SerializationStrategy<0:0>;0:0){0§<kotlin.Any?>} + 72 (StreamingJsonEncoder.kt:72)
2 Sony LIV 0x2e97a80 kfun:kotlinx.serialization.internal.MapLikeSerializer#serialize(kotlinx.serialization.encoding.Encoder;1:2){} + 23 (Iterator.kt:23)
3 Sony LIV 0x2fbff84 kfun:kotlinx.serialization.json.internal.StreamingJsonEncoder#encodeSerializableValue(kotlinx.serialization.SerializationStrategy<0:0>;0:0){0§<kotlin.Any?>} + 72 (StreamingJsonEncoder.kt:72)
4 Sony LIV 0x2f9f504 kfun:kotlinx.serialization.json.Json#encodeToString(kotlinx.serialization.SerializationStrategy<0:0>;0:0){0§<kotlin.Any?>}kotlin.String + 100 (JsonStreams.kt:100)
5 Sony LIV 0x30c0bec kfun:com.sonyliv.godavariunicore.util#toJsonString__at__kotlin.collections.Map<kotlin.String,kotlin.String>?(){}kotlin.String + 30 (GodavariUtils.kt:30)
6 Sony LIV 0x30b8958 kfun:com.sonyliv.godavariunicore.sdk.GodavariSdkManager.GodavariSdkManager$storeLatestUserPropertySnapshot$1.invoke#internal + 115 (GodavariSdkManager.kt:115)
7 Sony LIV 0x2d1d494 kfun:kotlin.coroutines.intrinsics.createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$2.invokeSuspend#internal + 248740 (IntrinsicsNative.kt:248740)
8 Sony LIV 0x2d1b188 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 50 (ContinuationImpl.kt:50)
9 Sony LIV 0x2e33604 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 26 (Continuation.kt:26)
10 Sony LIV 0x2e35674 kfun:kotlinx.coroutines.internal.LimitedDispatcher.Worker.run#internal + 119 (LimitedDispatcher.kt:119)
11 Sony LIV 0x2e505b0 kfun:kotlinx.coroutines.MultiWorkerDispatcher.MultiWorkerDispatcher$workerRunLoop$1.$invokeCOROUTINE$0.invokeSuspend#internal + 101 (MultithreadedDispatchers.kt:101)
12 Sony LIV 0x2d1b188 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 50 (ContinuationImpl.kt:50)
13 Sony LIV 0x2e33604 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 26 (Continuation.kt:26)
14 Sony LIV 0x2df3ab4 kfun:kotlinx.coroutines.EventLoopImplBase#processNextEvent(){}kotlin.Long + 15 (ObjectiveCUtils.kt:15)
15 Sony LIV 0x2e4874c kfun:kotlinx.coroutines#runBlocking(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>){0§<kotlin.Any?>}0:0 + 52 (EventLoop.common.kt:52)
16 Sony LIV 0x2e4f8e0 kfun:kotlinx.coroutines.MultiWorkerDispatcher.MultiWorkerDispatcher$1.MultiWorkerDispatcher$1$invoke$$inlined$apply$1.$invoke(){}#internal + 121 (MultithreadedDispatchers.kt:121)
17 Sony LIV 0x327c250 Worker::processQueueElement(bool) + 50432
18 Sony LIV 0x327b8a0 (anonymous namespace)::workerRoutine(void*) + 47952
19 libsystem_pthread.dylib 0x3344 _pthread_start + 136
20 libsystem_pthread.dylib 0xab8 thread_start + 8
To Reproduce
Not able to reproduce, this is happening on production builds
Expected behavior
Should not crash and work without issue on ios
Environment
- Kotlin version: 2.1.21
- Library version: 1.7.0 org.jetbrains.kotlinx:kotlinx-serialization-json
- Kotlin platforms: JVM, Native ios and apple tv
- Gradle version: 8.2.0
- IDE version: Android Studio Meerkat | 2024.3.1 Canary 7
- Other relevant context