Best SonarLint version to use with IDz for Cobol code scanning

  • Operating system: windows
  • SonarLint plugin version: 5.8.1
  • Is connected mode used: Yes
    • 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)

Hello @kiran2k,

Thanks for raising this.

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

Thanks

Thanks Damien. We are installing the 6.2.0 version now and we will let you know the results.

1 Like

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)

Haven’t seen any response on the above error with the 6.2 version. Many of our developers are stuck with this error.

Hello @kiran2k,

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.

Hope this helps