-
Bug
-
Resolution: Unresolved
-
Blocker
-
None
-
os.arch amd64
os.name Linux
os.version 4.4.0-185-generic
java.runtime.name | OpenJDK Runtime Environment |
java.runtime.version | 1.8.0_282-8u282-b08-0ubuntu1~16.04-b08 |
java.specification.name | Java Platform API Specification |
java.specification.vendor | Oracle Corporation |
java.specification.version | 1.8 |
java.util.logging.config.file | /var/jenkins_home/systemd/log.properties |
java.vendor | Private Build |
java.vendor.url | http://java.oracle.com/ |
java.vendor.url.bug | http://bugreport.sun.com/bugreport/ |
java.version | 1.8.0_282 |
java.vm.info | mixed mode |
java.vm.name | OpenJDK 64-Bit Server VM |
java.vm.specification.name | Java Virtual Machine Specification |
java.vm.specification.vendor | Oracle Corporation |
java.vm.specification.version | 1.8 |
com.perforce.p4java.programVersion | 1.10.12/Linux |
p4 | 1.10.12 | true |
Jenkins version: 2.204.6
Jenkins is running directly
Its installed manually by unpacking the war file
Its behind an nginx proxy
Using chrome
The issue just appeared when we switched our builds trigger from pollSCM to p4 triggers. The way we do this is that we have setup triggers in p4 which invoke a script, and in that script depending on the path of the changed file we calculate which job needs to run and which branch and we post to our jenkins URL. It works very nicely, but just noticed this NPE appearing in the logs. In case of failed builds we were not getting Failed emails with culprits
which prompted a lookup in the logs and we found this:
2021-03-23 18:29:12.838+0000 [id=258084] WARNING h.p.e.ExtendedEmailPublisher#sendMail: Could not send email.
java.lang.NullPointerException
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:136)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.getCulprits(WorkflowRun.java:839)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.getCulprits(WorkflowRun.java:839)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.getCulprits(WorkflowRun.java:839)
at hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider.addRecipients(CulpritsRecipientProvider.java:59)
at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:793)
at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:451)
at hudson.plugins.emailext.EmailExtStep$EmailExtStepExecution.run(EmailExtStep.java:236)
at hudson.plugins.emailext.EmailExtStep$EmailExtStepExecution.run(EmailExtStep.java:174)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
at hudson.security.ACL.impersonate(ACL.java:290)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
This NullPointerException comes from code in Jenkins core that is processing the changeset information from p4-plugin, which is apparently returning an unexpected null value. Unfortunately there is nothing that can be done to resolve this issue from the perspective of the Email Extension plugin. I have reassigned this issue to the p4-plugin component.