SonarScanner execution error on iar project

Hello,

Getting below error while trying to use sonarqube on my iar project.

ERROR: Error during SonarScanner execution
java.lang.IllegalArgumentException: No enum constant com.sonar.cpp.analyzer.CompilerKind.İAR
        at java.base/java.lang.Enum.valueOf(Unknown Source)
        at com.sonar.cpp.analyzer.CompilerKind.valueOf(CompilerKind.java:16)
        at com.sonar.cpp.analyzer.CompilerKind.get(CompilerKind.java:35)
        at com.sonar.cpp.analyzer.CompilerDrivers.onCapture(CompilerDrivers.java:36)
        at com.sonar.cpp.plugin.CFamilySensor.lambda$process$37(CFamilySensor.java:1396)
        at com.sonar.cpp.plugin.BuildWrapperJsonReader.readCaptures(BuildWrapperJsonReader.java:87)
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:1394)
        at com.sonar.cpp.plugin.CFamilySensor.processConfigurationReader(CFamilySensor.java:719)
        at com.sonar.cpp.plugin.CFamilySensor.lambda$process$4(CFamilySensor.java:452)
        at java.base/java.lang.Iterable.forEach(Unknown Source)
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:452)
        at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:238)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:64)
        at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
        at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
        at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:71)
        at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:65)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        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:126)
        at org.sonarsource.scanner.cli.Main.execute(Main.java:81)
        at org.sonarsource.scanner.cli.Main.main(Main.java:62)

I used the following options for the scanner:

%SONAR_SCANNER% -Dsonar.projectKey=%PROJECTKEY% -Dsonar.svn.username=%SVNUSERNAME% -Dsonar.svn.password.secured=%SVNUPASSWORD% -Dsonar.cfamily.build-wrapper-output=out -Dsonar.host.url=%SONAR_URL% -Dsonar.token=%SONAR_LOGIN_TOKEN% -Dsonar.sourceEncoding=%ENCODING%  -Dsonar.scm.provider=svn -Dsonar.projectBaseDir=%ROOT_DIR% -Dsonar.sources=%HWABS_DIR% -Dsonar.cfamily.threads=4  -Dsonar.exclusions=%EXCLUDEFILES%

SonarQube Developer Edition Version 10.1 (build 73491)
build-wrapper, version 6.47-SNAPSHOT
Compiler: IAR ANSI C/C++ Compiler V9.20.3.356/W64

Hope you can help with it.

Hi,

Your version is past EOL. You should upgrade to either the latest version or the current LTS at your earliest convenience. Your upgrade path is:

10.1 → 10.3

You may find these resources helpful:

If your error persists after upgrade, please come back to us.

Hi @Colin,
Thank you for your reply. Getting the same error after upgrade.

ERROR: Error during SonarScanner execution
java.lang.IllegalArgumentException: No enum constant com.sonar.cpp.analyzer.CompilerKind.İAR
        at java.base/java.lang.Enum.valueOf(Unknown Source)
        at com.sonar.cpp.analyzer.CompilerKind.valueOf(CompilerKind.java:16)
        at com.sonar.cpp.analyzer.CompilerKind.get(CompilerKind.java:35)
        at com.sonar.cpp.analyzer.CompilerDrivers.onCapture(CompilerDrivers.java:36)
        at com.sonar.cpp.plugin.CFamilySensor.lambda$process$37(CFamilySensor.java:1447)
        at com.sonar.cpp.plugin.BuildWrapperJsonReader.readCaptures(BuildWrapperJsonReader.java:87)
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:1445)
        at com.sonar.cpp.plugin.CFamilySensor.processConfigurationReader(CFamilySensor.java:750)
        at com.sonar.cpp.plugin.CFamilySensor.lambda$process$4(CFamilySensor.java:468)
        at java.base/java.lang.Iterable.forEach(Unknown Source)
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:468)
        at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:241)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:64)
        at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:201)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:180)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:398)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:394)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:363)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:201)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:180)
        at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:139)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:201)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:180)
        at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:71)
        at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:65)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
        at jdk.proxy1/jdk.proxy1.$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:126)
        at org.sonarsource.scanner.cli.Main.execute(Main.java:81)
        at org.sonarsource.scanner.cli.Main.main(Main.java:62)
ERROR:
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.

SonarQube Developer EditionVersion 10.3 (build 82913)
build-wrapper, version 6.50
sonar-scanner-5.0.1.3006-windows
Compiler: IAR ANSI C/C++ Compiler V9.20.3.356/W64

I’ll flag this for more expert eyes.

1 Like

Hi @SSC, and thanks for sharing the problem with us,

The issue seems to be related to the locale configured on your system. As a workaround, would it be possible for you to change the system’s locale? Something like en-US should work fine.

In the meantime, I have opened [CPP-4949] - Jira to implement a long-term solution on our side.

Thanks,
Michael

1 Like

Hi @michael.jabbour,

Thank you for your solution.