-
-
Notifications
You must be signed in to change notification settings - Fork 180
Open
Labels
Description
Search before asking
- I searched in the issues and found nothing similar.
- I have confirmed that the same problem is not reproduced if I exclude the KotlinModule.
- I searched in the issues of databind and other modules used and found nothing similar.
- I have confirmed that the problem does not reproduce in Java and only occurs when using Kotlin and KotlinModule.
Describe the bug
Hey,
I found the following closed issue: FasterXML/jackson-databind#4878
I encounter the same issue, but only after upgrading from Jackson 2.18.4 to 2.19.0, downgrading to 2.18.4 fixes it.
This is my stack trace:
Exception in thread "main" java.lang.IllegalArgumentException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["namespace"])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4663)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4594)
at io.fabric8.kubernetes.client.utils.KubernetesSerialization.asYaml(KubernetesSerialization.java:237)
at com.etalytics.etadeploy.render.KustomizeManifestRenderer.render(KustomizeManifestRenderer.kt:24)
at com.etalytics.etadeploy.render.renderers.sealedsecrets.SealedSecretsManifestRenderer.render(SealedSecretsManifestRenderer.kt:77)
at com.etalytics.etadeploy.render.KubernetesManifestRenderer$renderManifests$2$1.invokeSuspend(KubernetesManifestRenderer.kt:152)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Suppressed: java.lang.IllegalArgumentException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["namespace"])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4663)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4594)
at io.fabric8.kubernetes.client.utils.KubernetesSerialization.asYaml(KubernetesSerialization.java:237)
at com.etalytics.etadeploy.render.KustomizeManifestRenderer.render(KustomizeManifestRenderer.kt:24)
at com.etalytics.etadeploy.render.renderers.traefik.TraefikManifestRenderer.render(TraefikManifestRenderer.kt:83)
... 9 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["namespace"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:400)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:359)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:324)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:810)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:763)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.getAndSerialize(AnyGetterWriter.java:81)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.serializeAsField(AnyGetterWriter.java:89)
at io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:503)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4641)
... 13 more
Caused by: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:796)
... 22 more
Suppressed: java.lang.IllegalArgumentException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["helmCharts"])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4663)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4594)
at io.fabric8.kubernetes.client.utils.KubernetesSerialization.asYaml(KubernetesSerialization.java:237)
at com.etalytics.etadeploy.render.KustomizeManifestRenderer.render(KustomizeManifestRenderer.kt:24)
at com.etalytics.etadeploy.render.renderers.monitoring.LocalMonitoringManifestRenderer.render(LocalMonitoringManifestRenderer.kt:236)
at com.etalytics.etadeploy.render.renderers.monitoring.MonitoringManifestRenderer.render(MonitoringManifestRenderer.kt:49)
... 9 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["helmCharts"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:400)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:359)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:324)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:810)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:763)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.getAndSerialize(AnyGetterWriter.java:81)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.serializeAsField(AnyGetterWriter.java:89)
at io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:503)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4641)
... 14 more
Caused by: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:796)
... 23 more
Suppressed: java.lang.IllegalArgumentException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["namespace"])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4663)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4594)
at io.fabric8.kubernetes.client.utils.KubernetesSerialization.asYaml(KubernetesSerialization.java:237)
at com.etalytics.etadeploy.render.KustomizeManifestRenderer.render(KustomizeManifestRenderer.kt:24)
at com.etalytics.etadeploy.render.renderers.argocd.ArgoCdManifestRenderer.render(ArgoCdManifestRenderer.kt:245)
... 9 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["namespace"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:400)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:359)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:324)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:810)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:763)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.getAndSerialize(AnyGetterWriter.java:81)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.serializeAsField(AnyGetterWriter.java:89)
at io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:503)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4641)
... 13 more
Caused by: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:796)
... 22 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null (through reference chain: com.etalytics.etadeploy.render.Kustomize["getAdditionalProperties"]->kotlin.collections.builders.MapBuilder["namespace"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:400)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:359)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:324)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:810)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:763)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.getAndSerialize(AnyGetterWriter.java:81)
at com.fasterxml.jackson.databind.ser.AnyGetterWriter.serializeAsField(AnyGetterWriter.java:89)
at io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:503)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4641)
... 13 more
Caused by: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonSerializer.serialize(Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)" because "keySerializer" is null
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:796)
... 22 more
Any idea? I could also try to come up with a reproducer if it helps, as there already exists a very similar issue, I though it might not be needed though.
To Reproduce
// Your code here
Expected behavior
No NPE :D
Versions
Kotlin:
Jackson-module-kotlin: 2.19.0
Jackson-databind: 2.19.0
Additional context
No response