-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Windows Server, Jenkins 2.274, warnings-ng 8.6.0
The following regex causes a NPE in task scanner: "\/\/.*##(\w)(?:[:\- ](.))?"
when scanning code which is similar to the following:
// ###DUPLICATE_CODE:Comment 1
Line of code
// ##COMPLAINT Comment 2
Line of code
// ##WARNING
Line of code
// ###ERROR - Comment 4
Line of code
// ##ERROR - Comment 5
Line of code
This is possibly caused by the second capture group being empty in the //##WARNING line
The error is:
java.lang.NullPointerException
at io.jenkins.plugins.analysis.warnings.tasks.TaskScanner.scanTasks(TaskScanner.java:249)
at io.jenkins.plugins.analysis.warnings.tasks.TaskScanner.scan(TaskScanner.java:201)
at io.jenkins.plugins.analysis.warnings.tasks.AgentScanner.invoke(AgentScanner.java:89)
at io.jenkins.plugins.analysis.warnings.tasks.AgentScanner.invoke(AgentScanner.java:27)
at hudson.FilePath.act(FilePath.java:1077)
at hudson.FilePath.act(FilePath.java:1060)
at io.jenkins.plugins.analysis.warnings.tasks.OpenTasks.scan(OpenTasks.java:162)
at io.jenkins.plugins.analysis.core.steps.IssuesScanner.scan(IssuesScanner.java:93)
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.scanWithTool(IssuesRecorder.java:736)
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.record(IssuesRecorder.java:702)
at io.jenkins.plugins.analysis.core.steps.IssuesRecorder.perform(IssuesRecorder.java:673)
at io.jenkins.plugins.analysis.core.steps.RecordIssuesStep$Execution.run(RecordIssuesStep.java:1090)
at io.jenkins.plugins.analysis.core.steps.RecordIssuesStep$Execution.run(RecordIssuesStep.java:1050)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The regex and the test code snippet are available here: https://regex101.com/r/RErFrY/2
- links to