Error in provisioning; agent=KubernetesSlave name: my-agent-pod-5l46s-djkm0, template=PodTemplate{id='bd8e1a7d-1232-4b38-bdf2-89cef9df4823', name='my-agent-pod-5l46s', namespace='test', label='my-agent-pod', annotations=[PodAnnotation{key='buildUrl', value='<REDACTED>'}, PodAnnotation{key='runUrl', value='job/test/6/'}]}
java.lang.NullPointerException
at org.csanchez.jenkins.plugins.kubernetes.pod.decorator.DefaultWorkspaceVolume.lambda$decorate$2(DefaultWorkspaceVolume.java:53)
at org.csanchez.jenkins.plugins.kubernetes.pod.decorator.DefaultWorkspaceVolume$$Lambda$604/0x00000000082f07c0.test(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:497)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:487)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:239)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at org.csanchez.jenkins.plugins.kubernetes.pod.decorator.DefaultWorkspaceVolume.decorate(DefaultWorkspaceVolume.java:56)
at org.csanchez.jenkins.plugins.kubernetes.pod.decorator.PodDecorator.decorateAll(PodDecorator.java:18)
at org.csanchez.jenkins.plugins.kubernetes.PodTemplateBuilder.build(PodTemplateBuilder.java:305)
at org.csanchez.jenkins.plugins.kubernetes.PodTemplate.build(PodTemplate.java:902)
at org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher.launch(KubernetesLauncher.java:116)
at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:294)
at hudson.slaves.SlaveComputer$$Lambda$555/0x00000000fc004380.call(Unknown Source)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:836)
I can reproduce this issue with Kubernetes plugin version 1.30.0.
Here is a minimal pipeline with an empty "volumeMounts:" definition:
Here is the error from the System Log:
NPE points to https://github.com/jenkinsci/kubernetes-plugin/blob/kubernetes-1.30.0/src/main/java/org/csanchez/jenkins/plugins/kubernetes/pod/decorator/DefaultWorkspaceVolume.java#L53
Obvious workaround is to remove the empty "volumeMounts:" definition. Would be nice to get rid of the NPE and replace it with a warning or ignore it.