ERROR: Unable to run check class org.sonar.java.checks.EnumMapCheck - S1640

Hi,

Below are my configuration details:
Sonar Qube v8.2 Developer Edition
Sonar Scanner Version 3.0.3.778 (Jenkins installation)
Jenkins ver. 2.204.1
Version Control - GIT

When I run sonar analysis - I’m getting below exception

 ERROR: Unable to run check class org.sonar.java.checks.EnumMapCheck - S1640 on file 'path/to /the/file/xxx.java', To help improve the SonarSource Java Analyzer, please report this problem to SonarSource: see https://community.sonarsource.com/
 java.lang.NullPointerException: null
 	at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.implementsInterface(ReferenceBinding.java:1307)
 	at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isCompatibleWith0(ReferenceBinding.java:1492)
 	at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isCompatibleWith(ReferenceBinding.java:1414)
 	at org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith(TypeBinding.java:652)
 	at org.eclipse.jdt.core.dom.TypeBinding.isSubTypeCompatible(TypeBinding.java:1239)
 	at org.sonar.java.model.JType.isSubtype(JType.java:72)
 	at org.sonar.java.model.JType.isSubtypeOf(JType.java:62)
 	at org.sonar.java.model.JType.isSubtypeOf(JType.java:56)
 	at org.sonar.java.checks.EnumMapCheck.visitVariable(EnumMapCheck.java:53)
 	at org.sonar.java.model.declaration.VariableTreeImpl.accept(VariableTreeImpl.java:143)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBlock(BaseTreeVisitor.java:85)
 	at org.sonar.java.model.statement.BlockTreeImpl.accept(BlockTreeImpl.java:75)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitIfStatement(BaseTreeVisitor.java:107)
 	at org.sonar.java.model.statement.IfStatementTreeImpl.accept(IfStatementTreeImpl.java:122)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBlock(BaseTreeVisitor.java:85)
 	at org.sonar.java.model.statement.BlockTreeImpl.accept(BlockTreeImpl.java:75)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitIfStatement(BaseTreeVisitor.java:107)
 	at org.sonar.java.model.statement.IfStatementTreeImpl.accept(IfStatementTreeImpl.java:122)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBlock(BaseTreeVisitor.java:85)
 	at org.sonar.java.model.statement.BlockTreeImpl.accept(BlockTreeImpl.java:75)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitMethod(BaseTreeVisitor.java:80)
 	at org.sonar.java.model.declaration.MethodTreeImpl.accept(MethodTreeImpl.java:218)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitClass(BaseTreeVisitor.java:68)
 	at org.sonar.java.model.declaration.ClassTreeImpl.accept(ClassTreeImpl.java:203)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:34)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitCompilationUnit(BaseTreeVisitor.java:52)
 	at org.sonar.java.model.JavaTree$CompilationUnitTreeImpl.accept(JavaTree.java:189)
 	at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
 	at org.sonar.java.checks.EnumMapCheck.scanFile(EnumMapCheck.java:48)
 	at org.sonar.java.model.VisitorsBridge.lambda$runScanner$0(VisitorsBridge.java:184)
 	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:189)
 	at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:184)
 	at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:164)
 	at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:98)
 	at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:64)
 	at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:120)
 	at org.sonar.java.JavaSquid.scan(JavaSquid.java:113)
 	at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:103)
 	at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
 	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
 	at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
 	at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
 	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
 	at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
 	at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:386)
 	at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:382)
 	at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:379)
 	at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:351)
 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
 	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
 	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
 	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 	at java.lang.reflect.Method.invoke(Method.java:498)
 	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
 	at com.sun.proxy.$Proxy0.execute(Unknown Source)
 	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
 	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
 	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
 	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
 	at org.sonarsource.scanner.cli.Main.main(Main.java:61)

And few more with:
ERROR: Unable to run check class org.sonar.java.checks.URLHashCodeAndEqualsCheck - S2112
ERROR: Unable to run check class org.sonar.java.checks.CommentedOutCodeLineCheck - S125

However, QG is success.

Appreciate any help on this please.

Thanks,
Ariv

What version of java are you using to run the scanner?

I have the same issue and I suspect this comment applies to me becuase it’s being run w jdk 1.8

15:27:45 WARN: SonarScanner will require Java 11 to run starting in SonarQube 8.x

Hi,

Can either of you guys provide a small reproducer file?

 
Ann