pluto icon indicating copy to clipboard operation
pluto copied to clipboard

java.lang.IllegalArgumentException: Cannot serialize Kotlin type

Open Drabu opened this issue 2 years ago • 1 comments

Works well in 2.0.9 but breaking on the updated lib version.

EXCEPTION : java.lang.IllegalArgumentException: Cannot serialize Kotlin type in.shadowfax.gandalf.features.common.payout.models.RiderDocument. Reflective serialization of Kotlin classes without using kotlin-reflect has undefined and unexpected behavior. Please use KotlinJsonAdapterFactory from the moshi-kotlin artifact or use code gen from the moshi-kotlin-codegen artifact. at com.squareup.moshi.ClassJsonAdapter$1.create(ClassJsonAdapter.java:98) at com.squareup.moshi.Moshi.adapter(Moshi.java:146) at com.squareup.moshi.Moshi.adapter(Moshi.java:106) at com.squareup.moshi.StandardJsonAdapters$ObjectJsonAdapter.toJson(StandardJsonAdapters.java:374) at com.squareup.moshi.internal.NullSafeJsonAdapter.toJson(NullSafeJsonAdapter.java:50) at com.squareup.moshi.MapJsonAdapter.toJson(MapJsonAdapter.java:61) at com.squareup.moshi.MapJsonAdapter.toJson(MapJsonAdapter.java:30) at com.squareup.moshi.internal.NullSafeJsonAdapter.toJson(NullSafeJsonAdapter.java:50) at com.pluto.plugins.logger.internal.LogDataJsonAdapter.toJson(LogDataJsonAdapter.kt:150) at com.pluto.plugins.logger.internal.LogDataJsonAdapter.toJson(LogDataJsonAdapter.kt:27) at com.squareup.moshi.internal.NullSafeJsonAdapter.toJson(NullSafeJsonAdapter.java:50) at com.squareup.moshi.JsonAdapter.toJson(JsonAdapter.java:82) at com.squareup.moshi.JsonAdapter.toJson(JsonAdapter.java:90) at com.pluto.plugins.logger.internal.persistence.EntityConverters.logToString(EntityConverters.kt:21) at com.pluto.plugins.logger.internal.persistence.LogDao_Impl$1.bind(LogDao_Impl.java:56) at com.pluto.plugins.logger.internal.persistence.LogDao_Impl$1.bind(LogDao_Impl.java:42) at androidx.room.EntityInsertionAdapter.insert(EntityInsertionAdapter.kt:51) at com.pluto.plugins.logger.internal.persistence.LogDao_Impl$4.call(LogDao_Impl.java:87) at com.pluto.plugins.logger.internal.persistence.LogDao_Impl$4.call(LogDao_Impl.java:82) at androidx.room.CoroutinesRoom$Companion$execute$2.invokeSuspend(CoroutinesRoom.kt:65) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) at androidx.room.TransactionExecutor.execute$lambda$1$lambda$0(TransactionExecutor.kt:36) at androidx.room.TransactionExecutor.$r8$lambda$AympDHYBb78s7_N_9gRsXF0sHiw(TransactionExecutor.kt:0) at androidx.room.TransactionExecutor$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0) + 3 more lines

Drabu avatar Jul 26 '23 09:07 Drabu

can you send the code snippet causing this issue?

srtvprateek avatar Jul 26 '23 10:07 srtvprateek

Hey @srtvprateek , had got similar crash

issue was fixed by adding .toString to the value of the map being logged

val map = HashMap<String, Any> val someObject = SomeObject() map["someObject"] = someObject.toString()

if .toString() is removed it crashes above version 2.0.9

Sushruth17 avatar Apr 29 '24 18:04 Sushruth17