Connected to SonarCloud or SonarQube (and which version): 7.9
IDz version: 15 or later
And a thorough description of the problem / question: We have been using the 5.8.1 version of SonarLint for a year now along with IDz version 15 or beyond, but few of our users get the below error while trying to execute the Sonarlint analysis and so wanted to know if there is a specific version of SonarLint we should be using for Cobol analysis:
Error during execution of SonarLint analysis
java.lang.NullPointerException
at com.ibm.ftt.sonar.integration.SonarLintProjectAdapter.getCachedResource(SonarLintProjectAdapter.java:257)
at com.ibm.ftt.sonar.integration.SonarLintProjectAdapter.deleteMarkers(SonarLintProjectAdapter.java:121)
at com.ibm.ftt.sonar.integration.SonarLintProjectAdapter.deleteAllMarkers(SonarLintProjectAdapter.java:100)
at org.sonarlint.eclipse.core.internal.jobs.SonarLintMarkerUpdater.lambda$7(SonarLintMarkerUpdater.java:418)
at org.sonarlint.eclipse.core.internal.jobs.SonarLintMarkerUpdater$$Lambda$714/0x00000000490aa830.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:195)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:186)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1567)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:524)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:514)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:162)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:185)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:245)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:429)
at org.sonarlint.eclipse.core.internal.jobs.SonarLintMarkerUpdater.deleteAllMarkersFromReport(SonarLintMarkerUpdater.java:417)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.lambda$6(AbstractAnalyzeProjectJob.java:140)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob$$Lambda$711/0x00000000530296e0.run(Unknown Source)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2311)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:136)
at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
This could be a problem in the IBM specific integration with SonarLint.
I believe IDz supports only Java 8 at the moment, so you can’t use the latest SonarLint for Eclipse (7.4), but the latest version you can use is 6.2.0. Could you try first to update to this version and get back to us ? Then we will advise
With the 6.2.0 version, on analysis, we get the below error:
Error during execution of SonarLint analysis
java.lang.NullPointerException
at com.ibm.ftt.sonar.integration.SonarLintProjectAdapter.getCachedResource(SonarLintProjectAdapter.java:257)
at com.ibm.ftt.sonar.integration.SonarLintProjectAdapter.deleteMarkers(SonarLintProjectAdapter.java:121)
at com.ibm.ftt.sonar.integration.SonarLintProjectAdapter.deleteAllMarkers(SonarLintProjectAdapter.java:100)
at org.sonarlint.eclipse.core.internal.jobs.SonarLintMarkerUpdater.lambda$8(SonarLintMarkerUpdater.java:479)
at org.sonarlint.eclipse.core.internal.jobs.SonarLintMarkerUpdater$$Lambda$757/0x00000000206ab360.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:195)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:186)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1567)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:524)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:514)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:162)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:185)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:245)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:429)
at org.sonarlint.eclipse.core.internal.jobs.SonarLintMarkerUpdater.deleteAllMarkersFromReport(SonarLintMarkerUpdater.java:478)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.lambda$6(AbstractAnalyzeProjectJob.java:141)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob$$Lambda$754/0x000000002ca49ab0.run(Unknown Source)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2311)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:137)
at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
This appears to be a problem with the specific integration IBM put in place with SonarLint. I recommend to raise the issue on their side, through their support. It’s hard to investigate further on our side since we don’t have access to their integration.