jenkins-library icon indicating copy to clipboard operation
jenkins-library copied to clipboard

sonarExecuteScan not possible to scan C++ project

Open radianer opened this issue 2 years ago • 0 comments

Hello,

We try to scan a C++ project with sonarExecuteScan.

We execute the build wrapper before the scan.

But the sonarExecuteScan fails with the following exception:

[2022-08-11T09:44:25.386Z] info  sonarExecuteScan - 09:44:25.199 DEBUG: Probing compiler: [/build/.HappyMake/cache/dependencies/pal-service/gcc-10.2.1+git583-1.3.4.sap20201215-linuxx86_64-linuxx86_64/bin/g++, -x, c++, --std, c++17, --sysroot=/build/.HappyMake/cache/dependencies/pal-service/sysroot-0.2.1-sles12_sp1-linuxx86_64-linuxx86_64, -v, -dM, -E, -]
[2022-08-11T09:44:25.386Z] info  sonarExecuteScan - 09:44:25.225 DEBUG: stylelint-bridge server will shutdown
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 09:44:30.242 INFO: ------------------------------------------------------------------------
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 09:44:30.242 INFO: EXECUTION FAILURE
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 09:44:30.243 INFO: ------------------------------------------------------------------------
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 09:44:30.243 INFO: Total time: 32.112s
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 09:44:30.398 INFO: Final Memory: 218M/737M
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 09:44:30.398 INFO: ------------------------------------------------------------------------
[2022-08-11T09:44:30.679Z] error sonarExecuteScan - 09:44:30.398 ERROR: Error during SonarScanner execution
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - java.lang.IllegalStateException: java.io.IOException: Cannot run program "/home/jenkins/agent/workspace/pal-service_PR-478/.scannerwork/.sonartmp/2209034199249587763/subprocess" (in directory "/home/jenkins/agent/workspace/pal-service_PR-478/build/Release"): error=2, No such file or directory
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.driver.ProcessExecutor.execute(ProcessExecutor.java:74)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.driver.ProcessExecutor.execute(ProcessExecutor.java:45)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.analyzer.ClangDriver.lambda$probeCompiler$12(ClangDriver.java:578)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.analyzer.ClangDriver.probeCompiler(ClangDriver.java:570)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.analyzer.ClangDriver.onCapture(ClangDriver.java:344)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:594)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:373)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:177)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:62)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:392)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:388)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:357)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:150)
[2022-08-11T09:44:30.679Z] info  sonarExecuteScan - 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at com.sun.proxy.$Proxy0.execute(Unknown Source)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - Caused by: java.io.IOException: Cannot run program "/home/jenkins/agent/workspace/pal-service_PR-478/.scannerwork/.sonartmp/2209034199249587763/subprocess" (in directory "/home/jenkins/agent/workspace/pal-service_PR-478/build/Release"): error=2, No such file or directory
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at com.sonar.cpp.driver.ProcessExecutor.execute(ProcessExecutor.java:58)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	... 36 more
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - Caused by: java.io.IOException: error=2, No such file or directory
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:340)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
[2022-08-11T09:44:30.680Z] info  sonarExecuteScan - 	... 38 more
[2022-08-11T09:44:30.680Z] error sonarExecuteScan - 09:44:30.399 ERROR: 
[2022-08-11T09:44:30.680Z] error sonarExecuteScan - 09:44:30.399 ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
[2022-08-11T09:44:30.940Z] info  sonarExecuteScan - fatal error: errorDetails{"category":"undefined","correlationId":"https://gkehanacloudservice.jaas-gcp.cloud.sap.corp/job/pal-service/job/PR-478/17/","error":"running command 'sonar-scanner' failed: cmd.Run() failed: exit status 1","library":"SAP/jenkins-library","message":"Execution failed","result":"failure","stepName":"sonarExecuteScan","time":"2022-08-11T09:44:30.759210813Z"}
[2022-08-11T09:44:30.941Z] fatal sonarExecuteScan - Execution failed - running command 'sonar-scanner' failed: cmd.Run() failed: exit status 1

We guess that in the com.sap.prd.sonar/sonar-scanner-cache docker image the libgcc is missing.

We found also this two links:

  • https://github.com/SonarSource/sonar-scanner-cli-docker/issues/132
  • https://stackoverflow.com/questions/66963068/docker-alpine-executable-binary-not-found-even-if-in-path

radianer avatar Aug 11 '22 10:08 radianer