Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-75718

Setting fsGroup in securityContext for a poddescription causes java.lang.NullPointerException in com.fasterxml.jackson.databind.JsonMappingException

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • kubernetes-plugin
    • None

      I have a Jenkinsfile that i have been using for several months.
      After upgrading from version 4340 to 4349 there seem to have been a regression where i now get a error on the one job where i use fsGroup

      This can be seen here:

      https://github.com/SimonStiil/kube-auth-proxy/blob/main/Jenkinsfile#L78

      this results in the following error:

       
      java.lang.NullPointerException
      Caused: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: io.fabric8.kubernetes.api.model.Pod["spec"]>io.fabric8.kubernetes.api.model.PodSpec["containers"]>java.util.ArrayList[3]>io.fabric8.kubernetes.api.model.Container["securityContext"]>io.fabric8.kubernetes.api.model.SecurityContext["getAdditionalProperties"]->java.util.LinkedHashMap["fsGroup"])
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:400)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:359)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:324)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:810)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:763)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.AnyGetterWriter.getAndSerialize(AnyGetterWriter.java:81)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.AnyGetterWriter.serializeAsField(AnyGetterWriter.java:89)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.model.jackson.BeanPropertyWriterDelegate.serializeAsField(BeanPropertyWriterDelegate.java:68)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:760)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:183)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:503)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:342)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4859)
      at PluginClassLoader for jackson2-api//com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:4079)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.utils.KubernetesSerialization.asJson(KubernetesSerialization.java:169)
      Caused: io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred.
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:129)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:122)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.utils.KubernetesSerialization.asJson(KubernetesSerialization.java:171)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.dsl.internal.OperationSupport.handleCreate(OperationSupport.java:338)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.dsl.internal.BaseOperation.handleCreate(BaseOperation.java:753)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.dsl.internal.BaseOperation.handleCreate(BaseOperation.java:97)
      at PluginClassLoader for kubernetes-client-api//io.fabric8.kubernetes.client.dsl.internal.CreateOnlyResourceOperation.create(CreateOnlyResourceOperation.java:42)
      at PluginClassLoader for kubernetes//org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher.launch(KubernetesLauncher.java:164)
      at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:297)
      at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
      at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.base/java.lang.Thread.run(Unknown Source)
       

       

            Unassigned Unassigned
            simonstiil Simon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: