- ALM used - GitHub
- Scanner command used when applicable (private details masked)
- Languages of the repository - PHP (we exclude other files)
- SonarCloud project is not public
It looks like sonar-scanner is trying to download and extract Open JDK 17, but then it doesn’t have permissions to execute the file. I recursively 777’d the entire .sonar folder temporarily, but I get the same error message.
I’m also a bit confused why sonar is trying to download a JDK here? I have the JAVA_HOME variable set on my machine, but I noticed that Sonar Scanner always overwrites that variable, regardless of whether you already have one set (I’ll attach a screenshot of the source code where a variable is always true, thus overwriting JAVA_HOME).
Error Logs:
15:45:50.354 INFO Scanner configuration file: /home/jbolger/sonar-scanner-7.0.2.4839-linux-x64/conf/sonar-scanner.properties
15:45:50.374 INFO Project root configuration file: NONE
15:45:50.575 INFO SonarScanner CLI 7.0.2.4839
15:45:50.588 INFO Java 17.0.13 Eclipse Adoptium (64-bit)
15:45:50.590 INFO Linux 6.1.0-37-cloud-amd64 amd64
15:45:50.614 DEBUG Scanner max available memory: 1 GB
15:45:50.654 DEBUG Failed to get the architecture using 'uname -m'
java.io.IOException: Cannot run program "uname": error=13, Permission denied
at java.base/java.lang.ProcessBuilder.start(Unknown Source)
at java.base/java.lang.ProcessBuilder.start(Unknown Source)
at org.sonarsource.scanner.lib.internal.util.ProcessWrapperFactory.create(ProcessWrapperFactory.java:30)
at org.sonarsource.scanner.lib.internal.util.ArchResolver.tryGetArchUsingUname(ArchResolver.java:62)
at org.sonarsource.scanner.lib.internal.util.ArchResolver.getCpuArch(ArchResolver.java:55)
at org.sonarsource.scanner.lib.ScannerEngineBootstrapper.initBootstrapDefaultValues(ScannerEngineBootstrapper.java:306)
at org.sonarsource.scanner.lib.ScannerEngineBootstrapper.bootstrap(ScannerEngineBootstrapper.java:128)
at org.sonarsource.scanner.cli.Main.analyze(Main.java:76)
at org.sonarsource.scanner.cli.Main.main(Main.java:64)
Caused by: java.io.IOException: error=13, Permission denied
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
at java.base/java.lang.ProcessImpl.start(Unknown Source)
... 9 common frames omitted
15:45:50.680 DEBUG Using JVM default truststore: /home/jbolger/sonar-scanner-7.0.2.4839-linux-x64/jre/lib/security/cacerts
15:45:50.685 DEBUG Create: /home/jbolger/.sonar/cache
15:45:50.686 INFO User cache: /home/jbolger/.sonar/cache
15:45:50.687 DEBUG Create: /home/jbolger/.sonar/cache/_tmp
15:45:51.840 DEBUG Loading OS trusted SSL certificates...
15:45:51.841 DEBUG This operation might be slow or even get stuck. You can skip it by passing the scanner property 'sonar.scanner.skipSystemTruststore=true'
15:45:54.596 DEBUG Loaded [429] system trusted certificates
15:45:56.825 DEBUG Loaded truststore from '/home/jbolger/sonar-scanner-7.0.2.4839-linux-x64/jre/lib/security/cacerts' containing 152 certificates
15:45:58.166 INFO JRE provisioning: os[linux], arch[amd64]
15:45:58.624 DEBUG --> GET https://api.sonarcloud.io/analysis/jres?os=linux&arch=amd64
15:46:00.425 DEBUG <-- 200 https://api.sonarcloud.io/analysis/jres?os=linux&arch=amd64 (1800ms, 471-byte body)
15:46:00.822 DEBUG Executing: /home/jbolger/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz_extracted/jdk-17.0.11+9-jre/bin/java --version
15:46:00.825 INFO EXECUTION FAILURE
15:46:00.835 INFO Total time: 10.486s
15:46:00.836 ERROR Error during SonarScanner CLI execution
java.lang.IllegalStateException: Failed to run the Java command
at org.sonarsource.scanner.lib.internal.facade.forked.JavaRunner.execute(JavaRunner.java:83)
at org.sonarsource.scanner.lib.internal.facade.forked.ScannerEngineLauncherFactory.jreSanityCheck(ScannerEngineLauncherFactory.java:61)
at org.sonarsource.scanner.lib.internal.facade.forked.ScannerEngineLauncherFactory.createLauncher(ScannerEngineLauncherFactory.java:55)
at org.sonarsource.scanner.lib.ScannerEngineBootstrapper.bootstrap(ScannerEngineBootstrapper.java:154)
at org.sonarsource.scanner.cli.Main.analyze(Main.java:76)
at org.sonarsource.scanner.cli.Main.main(Main.java:64)
Caused by: java.io.IOException: Cannot run program "/home/jbolger/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz_extracted/jdk-17.0.11+9-jre/bin/java": error=13, Permission denied
at java.base/java.lang.ProcessBuilder.start(Unknown Source)
at java.base/java.lang.ProcessBuilder.start(Unknown Source)
at org.sonarsource.scanner.lib.internal.facade.forked.JavaRunner.execute(JavaRunner.java:62)
... 5 common frames omitted
Caused by: java.io.IOException: error=13, Permission denied
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
at java.base/java.lang.ProcessImpl.start(Unknown Source)
... 8 common frames omitted
Command Used:
sonar-scanner \
-Dsonar.organization=[redacted] \
-Dsonar.projectKey=[redacted] \
-Dsonar.sources=[redacted] \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.c.file.suffixes=- \
-Dsonar.cpp.file.suffixes=- \
-Dsonar.objc.file.suffixes=- \
-Dsonar.exclusions=[redacted]