[BUG] Version 2.0.61 not working with Kotlin 2.3.20
- Dominant language
- Java
- Stars
- 4.4k
- Forks
- 613
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 6
Description
Hello.
I'm trying to use the library in a Kotlin project and I get, from the following test:
```kotlin
@ParameterizedTest
@ArgumentsSource(JsonMessagesArgumentsProvider::class)
fun `should handle JSON serialization and deserialization correctly`(message: Mdf2Message) {
// given
// when
val serialized = message.toJSONString()
// then
assertThat(serialized).isNotBlank()
// when
val deserialized = serialized.into>()
// then
assertThat(deserialized).isEqualTo(message)
}
```
the following error:
```console
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at com.alibaba.fastjson2.util.KotlinUtils.getKoltinConstructorParameters(KotlinUtils.java:194)
at com.alibaba.fastjson2.writer.ObjectWriterBaseModule$WriterAnnotationProcessor.getFieldInfo(ObjectWriterBaseModule.java:321)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getFieldInfo(ObjectWriterProvider.java:409)
at com.alibaba.fastjson2.writer.ObjectWriterCreator.createFieldWriter(ObjectWriterCreator.java:233)
at com.alibaba.fastjson2.writer.ObjectWriterCreatorASM.lambda$createObjectWriter$0(ObjectWriterCreatorASM.java:227)
at com.alibaba.fastjson2.util.BeanUtils.declaredFields(BeanUtils.java:347)
at com.alibaba.fastjson2.writer.ObjectWriterCreatorASM.createObjectWriter(ObjectWriterCreatorASM.java:223)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getObjectWriterInternal(ObjectWriterProvider.java:720)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getObjectWriter(ObjectWriterProvider.java:582)
at com.alibaba.fastjson2.JSONWriter.getObjectWriter(JSONWriter.java:907)
at com.alibaba.fastjson2.writer.FieldWriterList.getItemWriter(FieldWriterList.java:112)
at com.alibaba.fastjson2.writer.FieldWriterList.writeListValue(FieldWriterList.java:231)
at com.alibaba.fastjson2.writer.OWG_2_7_PriceMessage.write(Unknown Source)
at com.alibaba.fastjson2.writer.OWG_1_4_Mdf2Message.write(Unknown Source)
at com.alibaba.fastjson2.JSON.toJSONString(JSON.java:3233)
at com.foo.cit.fmd.mdf2/com.foo.cit.fmd.mdf2.api.model.Mdf2MessageTest$Json.should handle JSON serialization and deserialization correctly(Mdf2MessageTest.kt:216)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:701)
at org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:502)
at org.junit.jupiter.engine.support.MethodReflectionUtils.invoke(MethodReflectionUtils.java:45)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:61)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:124)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:163)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:148)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:123)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:99)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:66)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:47)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:39)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:98)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invokeVoid(InterceptingExecutableInvoker.java:71)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$0(TestMethodTestDescriptor.java:219)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:215)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:157)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:70)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$2(NodeTestTask.java:176)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$1(NodeTestTask.java:166)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$0(NodeTestTask.java:164)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:163)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:116)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:253)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:226)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:268)
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:246)
at org.junit.jupiter.engine.descriptor.TemplateExecutor.execute(TemplateExecutor.java:96)
at org.junit.jupiter.engine.descriptor.TemplateExecutor.lambda$executeForProvider$1(TemplateExecutor.java:59)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.junit.jupiter.engine.descriptor.TemplateExecutor.lambda$executeForProvider$0(TemplateExecutor.java:59)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:803)
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:5182)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:5190)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
at org.junit.jupiter.engine.descriptor.TemplateExecutor.executeForProvider(TemplateExecutor.java:57)
at org.junit.jupiter.engine.descriptor.TemplateExecutor.execute(TemplateExecutor.java:46)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:112)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$2(NodeTestTask.java:176)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$1(NodeTestTask.java:166)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$0(NodeTestTask.java:164)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:163)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:116)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:253)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:226)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:133)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$2(NodeTestTask.java:180)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$1(NodeTestTask.java:166)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$0(NodeTestTask.java:164)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:163)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:116)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:253)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:226)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:133)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$2(NodeTestTask.java:180)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$1(NodeTestTask.java:166)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$0(NodeTestTask.java:164)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:163)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:116)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:253)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:226)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:133)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$2(NodeTestTask.java:180)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$1(NodeTestTask.java:166)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$0(NodeTestTask.java:164)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:74)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:163)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:116)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:253)
at java.base/java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:511)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class kotlin.reflect.jvm.internal.StandardKTypes
at kotlin.reflect.jvm.internal.TypeParameterTable$Companion.create(ConvertFromMetadata.kt:92)
at kotlin.reflect.jvm.internal.KClassImpl$Data.typeParameterTable_delegate$lambda$0(KClassImpl.kt:261)
at kotlin.reflect.jvm.internal.KClassImpl$Data.accessor$KClassImpl$Data$lambda9(KClassImpl.kt)
at kotlin.reflect.jvm.internal.KClassImpl$Data$$Lambda$9.invoke(Unknown Source)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:70)
at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
at kotlin.reflect.jvm.internal.KClassImpl$Data.getTypeParameterTable$kotlin_reflection(KClassImpl.kt:257)
at kotlin.reflect.jvm.internal.KClassImpl.getTypeParameterTable$kotlin_reflection(KClassImpl.kt:535)
at kotlin.reflect.jvm.internal.KotlinKConstructor.getTypeParameterTable(KotlinKConstructor.kt:25)
at kotlin.reflect.jvm.internal.KotlinKFunction.allParameters_delegate$lambda$0(KotlinKFunction.kt:36)
at kotlin.reflect.jvm.internal.KotlinKFunction.accessor$KotlinKFunction$lambda0(KotlinKFunction.kt)
at kotlin.reflect.jvm.internal.KotlinKFunction$$Lambda$0.invoke(Unknown Source)
at kotlin.stdlib/kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125)
at kotlin.reflect.jvm.internal.KotlinKFunction.getAllParameters(KotlinKFunction.kt:35)
at kotlin.reflect.jvm.internal.KotlinKFunction.parameters_delegate$lambda$0(KotlinKFunction.kt:42)
at kotlin.reflect.jvm.internal.KotlinKFunction.accessor$KotlinKFunction$lambda1(KotlinKFunction.kt)
at kotlin.reflect.jvm.internal.KotlinKFunction$$Lambda$1.invoke(Unknown Source)
at kotlin.stdlib/kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125)
at kotlin.reflect.jvm.internal.KotlinKFunction.getParameters(KotlinKFunction.kt:39)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 125 more
Caused by: java.lang.ExceptionInInitializerError: Exception kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Unresolved class: class java.lang.Object (kind = null) [in thread "ForkJoinPool-1-worker-1"]
at kotlin.reflect.jvm.internal.KClassImpl.createSyntheticClassOrFail(KClassImpl.kt:635)
at kotlin.reflect.jvm.internal.KClassImpl.access$createSyntheticClassOrFail(KClassImpl.kt:67)
at kotlin.reflect.jvm.internal.KClassImpl$Data.descriptor_delegate$lambda$0(KClassImpl.kt:106)
at kotlin.reflect.jvm.internal.KClassImpl$Data.accessor$KClassImpl$Data$lambda1(KClassImpl.kt)
at kotlin.reflect.jvm.internal.KClassImpl$Data$$Lambda$1.invoke(Unknown Source)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:70)
at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
at kotlin.reflect.jvm.internal.KClassImpl$Data.getDescriptor(KClassImpl.kt:91)
at kotlin.reflect.jvm.internal.KClassImpl$Data.kmClass_delegate$lambda$0(KClassImpl.kt:77)
at kotlin.reflect.jvm.internal.KClassImpl$Data.accessor$KClassImpl$Data$lambda0(KClassImpl.kt)
at kotlin.reflect.jvm.internal.KClassImpl$Data$$Lambda$0.invoke(Unknown Source)
at kotlin.stdlib/kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125)
at kotlin.reflect.jvm.internal.KClassImpl$Data.getKmClass(KClassImpl.kt:71)
at kotlin.reflect.jvm.internal.KClassImpl$Data.typeParameters_delegate$lambda$0(KClassImpl.kt:250)
at kotlin.reflect.jvm.internal.KClassImpl$Data.accessor$KClassImpl$Data$lambda8(KClassImpl.kt)
at kotlin.reflect.jvm.internal.KClassImpl$Data$$Lambda$8.invoke(Unknown Source)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:70)
at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
at kotlin.reflect.jvm.internal.KClassImpl$Data.getTypeParameters(KClassImpl.kt:247)
at kotlin.reflect.jvm.internal.KClassImpl.getTypeParameters(KClassImpl.kt:533)
at kotlin.reflect.jvm.internal.types.CapturedKTypeKt.allTypeParameters$lambda$1(CapturedKType.kt:105)
at kotlin.reflect.jvm.internal.types.CapturedKTypeKt.accessor$CapturedKTypeKt$lambda1(CapturedKType.kt)
at kotlin.reflect.jvm.internal.types.CapturedKTypeKt$$Lambda$1.invoke(Unknown Source)
at kotlin.stdlib/kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:363)
at kotlin.stdlib/kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:351)
at kotlin.stdlib/kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:828)
at kotlin.reflect.jvm.internal.types.CapturedKTypeKt.allTypeParameters(CapturedKType.kt:105)
at kotlin.reflect.full.KClassifiers.createTypeImpl(KClassifiers.kt:60)
at kotlin.reflect.full.KClassifiers.createTypeImpl$default(KClassifiers.kt:50)
at kotlin.reflect.full.KClassifiers.createType(KClassifiers.kt:47)
at kotlin.reflect.jvm.internal.CachesKt.CACHE_FOR_BASE_CLASSIFIERS$lambda$0(caches.kt:35)
at kotlin.reflect.jvm.internal.CachesKt.accessor$CachesKt$lambda2(caches.kt)
at kotlin.reflect.jvm.internal.CachesKt$$Lambda$2.invoke(Unknown Source)
at kotlin.reflect.jvm.internal.ComputableClassValue.computeValue(CacheByClass.kt:49)
at kotlin.reflect.jvm.internal.ComputableClassValue.computeValue(CacheByClass.kt:46)
at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:227)
at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:204)
at java.base/java.lang.ClassValue.get(ClassValue.java:152)
at kotlin.reflect.jvm.internal.ClassValueCache.get(CacheByClass.kt:63)
at kotlin.reflect.jvm.internal.CachesKt.getOrCreateKType(caches.kt:53)
at kotlin.reflect.jvm.internal.ReflectionFactoryImpl.typeOf(ReflectionFactoryImpl.java:195)
at kotlin.stdlib/kotlin.jvm.internal.Reflection.typeOf(Reflection.java:128)
at kotlin.reflect.jvm.internal.StandardKTypes.(StandardKTypes.kt:14)
at kotlin.reflect.jvm.internal.TypeParameterTable$Companion.create(ConvertFromMetadata.kt:92)
at kotlin.reflect.jvm.internal.KClassImpl$Data.typeParameterTable_delegate$lambda$0(KClassImpl.kt:261)
at kotlin.reflect.jvm.internal.KClassImpl$Data.accessor$KClassImpl$Data$lambda9(KClassImpl.kt)
at kotlin.reflect.jvm.internal.KClassImpl$Data$$Lambda$9.invoke(Unknown Source)
at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:70)
at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
at kotlin.reflect.jvm.internal.KClassImpl$Data.getTypeParameterTable$kotlin_reflection(KClassImpl.kt:257)
at kotlin.reflect.jvm.internal.KClassImpl.getTypeParameterTable$kotlin_reflection(KClassImpl.kt:535)
at kotlin.reflect.jvm.internal.KotlinKConstructor.getTypeParameterTable(KotlinKConstructor.kt:25)
at kotlin.reflect.jvm.internal.KotlinKFunction.allParameters_delegate$lambda$0(KotlinKFunction.kt:36)
at kotlin.reflect.jvm.internal.KotlinKFunction.accessor$KotlinKFunction$lambda0(KotlinKFunction.kt)
at kotlin.reflect.jvm.internal.KotlinKFunction$$Lambda$0.invoke(Unknown Source)
at kotlin.stdlib/kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125)
at kotlin.reflect.jvm.internal.KotlinKFunction.getAllParameters(KotlinKFunction.kt:35)
at kotlin.reflect.jvm.internal.KotlinKFunction.parameters_delegate$lambda$0(KotlinKFunction.kt:42)
at kotlin.reflect.jvm.internal.KotlinKFunction.accessor$KotlinKFunction$lambda1(KotlinKFunction.kt)
at kotlin.reflect.jvm.internal.KotlinKFunction$$Lambda$1.invoke(Unknown Source)
at kotlin.stdlib/kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125)
at kotlin.reflect.jvm.internal.KotlinKFunction.getParameters(KotlinKFunction.kt:39)
at com.alibaba.fastjson2.util.KotlinUtils.getConstructor(KotlinUtils.java:89)
at com.alibaba.fastjson2.writer.ObjectWriterBaseModule$WriterAnnotationProcessor.getBeanInfo(ObjectWriterBaseModule.java:159)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getBeanInfo(ObjectWriterProvider.java:449)
at com.alibaba.fastjson2.writer.ObjectWriterCreatorASM.createObjectWriter(ObjectWriterCreatorASM.java:169)
... 117 more
com.alibaba.fastjson2.JSONException: JSON#toJSONString cannot serialize ''
at com.alibaba.fastjson2.JSON.toJSONString(JSON.java:3238)
at com.foo.cit.fmd.mdf2/com.foo.cit.fmd.mdf2.api.model.Mdf2MessageTest$Json.should handle JSON serialization and deserialization correctly(Mdf2MessageTest.kt:216)
Caused by: java.lang.NullPointerException: Cannot read the array length because "paramNames" is null
at com.alibaba.fastjson2.writer.ObjectWriterBaseModule$WriterAnnotationProcessor.getFieldInfo(ObjectWriterBaseModule.java:322)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getFieldInfo(ObjectWriterProvider.java:409)
at com.alibaba.fastjson2.writer.ObjectWriterCreator.createFieldWriter(ObjectWriterCreator.java:233)
at com.alibaba.fastjson2.writer.ObjectWriterCreatorASM.lambda$createObjectWriter$0(ObjectWriterCreatorASM.java:227)
at com.alibaba.fastjson2.util.BeanUtils.declaredFields(BeanUtils.java:347)
at com.alibaba.fastjson2.writer.ObjectWriterCreatorASM.createObjectWriter(ObjectWriterCreatorASM.java:223)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getObjectWriterInternal(ObjectWriterProvider.java:720)
at com.alibaba.fastjson2.writer.ObjectWriterProvider.getObjectWriter(ObjectWriterProvider.java:582)
at com.alibaba.fastjson2.JSONWriter.getObjectWriter(JSONWriter.java:907)
at com.alibaba.fastjson2.writer.FieldWriterList.getItemWriter(FieldWriterList.java:112)
at com.alibaba.fastjson2.writer.FieldWriterList.writeListValue(FieldWriterList.java:231)
at com.alibaba.fastjson2.writer.OWG_2_7_PriceMessage.write(Unknown Source)
at com.alibaba.fastjson2.writer.OWG_1_4_Mdf2Message.write(Unknown Source)
at com.alibaba.fastjson2.JSON.toJSONString(JSON.java:3233)
... 1 more
```
Environment information:
- JDK: Azul 25
- Kotlin: 2.3.20
- Fastjson2: 2.0.61
- JUnit: 6.0.3
Contributor guide
Research direction
The failure reaches KotlinUtils.getKoltinConstructorParameters in KotlinUtils.java:194 while JSON.toJSONString runs, with the reproducing test at Mdf2MessageTest.kt:216. Start by running that serialization and deserialization test with Kotlin 2.3.20 and version 2.0.61. Done means the test completes successfully without the reported InvocationTargetException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100