After upgrade to Sonar to 10.6 Error: Checksum verification failed for JRE

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension) ==> 10.6
  • how is SonarQube deployed: zip, Docker, Helm ==> Helm
  • what are you trying to achieve ==> After upgrade Sonarqube 10.6 when running the jobs we are failing with errors

After upgraded the Sonarqueb 10.6 , we are failing with errors in the pipelines like ERROR] Bootstrapper: An error occurred: Error: Checksum verification failed for /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz. Expected checksum bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707 but got d56a1a1e6ced7680e9a83b258991c2e74a683543759a04c5f4a1c341da14a401

Any idea how to resolve the issues ? Does any one faced this type of issue ?

11:27:37  + sonar-scanner -Dsonar.host.url=https://sonarqube.com -Dsonar.login=****** -Dsonar.projectVersion=feat/DARWSC2-71489-5475-next -Dsonar.pullrequest.key=335983186 -Dsonar.pullrequest.branch=feat/DARWSC2-71489 -Dsonar.pullrequest.base=master
11:27:38  [WARN]  Bootstrapper: SONARQUBE_SCANNER_PARAMS is deprecated, please use SONAR_SCANNER_JSON_PARAMS instead
11:27:38  [INFO]  Bootstrapper: Retrieving info from "package.json" file
11:27:38  [WARN]  Bootstrapper: Property "sonar.login" is deprecated and will be removed in a future version. Please use "sonar.token" instead.
11:27:38  [INFO]  Bootstrapper: Platform: linux x64
11:27:38  [INFO]  Bootstrapper: Server URL: https://sonarqube.com
11:27:38  [INFO]  Bootstrapper: Version: 4.2.5
11:27:38  + sonar-scanner -Dsonar.host.url=https://sonarqube.com -Dsonar.login=****** -Dsonar.projectVersion=feat/DARWSC2-5-next -Dsonar.pullrequest.key=335983186 -Dsonar.pullrequest.branch=feat/DARWSC2-71489 -Dsonar.pullrequest.base=master
11:27:38  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
11:27:38  [INFO]  Bootstrapper: JRE provisioning is supported
11:27:38  [INFO]  Bootstrapper: No Cache found for JRE
11:27:38  [WARN]  Bootstrapper: SONARQUBE_SCANNER_PARAMS is deprecated, please use SONAR_SCANNER_JSON_PARAMS instead
11:27:38  [INFO]  Bootstrapper: Unable to read "package.json" file
11:27:38  [WARN]  Bootstrapper: Property "sonar.login" is deprecated and will be removed in a future version. Please use "sonar.token" instead.
11:27:38  [INFO]  Bootstrapper: Platform: linux x64
11:27:38  [INFO]  Bootstrapper: Server URL: https://sonarqube.com
11:27:38  [INFO]  Bootstrapper: Version: 4.2.5
11:27:38  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
11:27:38  [INFO]  Bootstrapper: JRE provisioning is supported
11:27:38  [INFO]  Bootstrapper: Download starting...
11:27:38  [ERROR] Bootstrapper: An error occurred: Error: Checksum verification failed for /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz. Expected checksum bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707 but got d56a1a1e6ced7680e9a83b258991c2e74a683543759a04c5f4a1c341da14a401
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
11:27:39  WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
11:27:40  Failed in branch sonarScan2
11:27:42  [INFO]  Bootstrapper: Download complete
11:27:42  [INFO]  Bootstrapper: Downloaded JRE to /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz
11:27:42  [ERROR] Bootstrapper: An error occurred: Error: ENOENT: no such file or directory, open '/root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz'
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
11:27:43  WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
11:27:43  Failed in branch sonarScan1
[Pipeline] // parallel
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // container
[Pipeline] }
[Pipeline] // node
[Pipeline] updateGitlabCommitStatus
[Pipeline] echo
11:27:45  exception thrown is hudson.AbortException: script returned exit code 1
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // timeout
[Pipeline] echo
11:27:45  SUCCESSFUL: Job 'parts/fe-parts [45488]' (https://jenkins.tools.parts.xxx.com/job/parts/job/fe-parts/45488/)
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] echo
Done
[Pipeline] End of Pipeline
Finished: FAILURE

Hi,

Do you have something “helpful” on your network that could be modifying the download? Can you talk to your network folks?

 
Ann

Thanks for you reply Campbell , this setup is not new , it was worked previously ,I am sure the network is open only .
After upgraded from sonarqube from 8 to 10.6 we started facing this issue

Hi,

Then let’s go back to this:

That’s quite an old version for SonarScanner CLI. The current version is 6.2.1. Can you upgrade and try again?

What version did you upgrade from? We didn’t previously provide a JRE for analysis, so it’s quite possible that if there’s something on the network munging downloads, you got away with it before.

 
Ann

4.2.5 is the npm package which uses 6.2.1.4610 of sonar sonarqube-scanner - npm

Hi,

Okay, cool.

And can you talk to your network folks?

 
Thx,
Ann

Hello , Yesterday i have double checked with the networking regarding this issue , they have confirmed me that there is no network level block ,(there is no blocking found in the firewall) . Also here we dont face any issues like timeout etc

Hi,

Thanks for checking. I’m going to flag this for more expert eyes.

 
Ann

Hello Balaganesh,
Could I ask you to run the same scan with -Dsonar.debug=true so that we can gather a bit more context?

Sure I will do that

My apologises for the delay in response , yes i ran the sonnar with debug mode option to true , still facing the checksum verification failed error @Lucas_Paulger .
This npm job sonar scanner

08:41:20  + sonar-scanner -Dsonar.host.url=https://sonarqube.tools.zzz.xxx.com -Dsonar.login=****** -Dsonar.projectVersion=fix/PAAS-2534-5507-next -Dsonar.log.level=DEBUG
08:41:20  [WARN]  Bootstrapper: SONARQUBE_SCANNER_PARAMS is deprecated, please use SONAR_SCANNER_JSON_PARAMS instead
08:41:20  [INFO]  Bootstrapper: Retrieving info from "package.json" file
08:41:20  [WARN]  Bootstrapper: Property "sonar.login" is deprecated and will be removed in a future version. Please use "sonar.token" instead.
08:41:20  [DEBUG] Bootstrapper: Overriding the log level to DEBUG
08:41:20  [DEBUG] Bootstrapper: Properties: {
08:41:20    'sonar.userHome': '/root/.sonar',
08:41:20    'sonar.scanner.os': 'linux',
08:41:20    'sonar.scanner.arch': 'x64',
08:41:20    'sonar.exclusions': '**/node_modules/**,**/*.spec.ts,**/*.spec.tsx,**/assets/**,**/*.stories.tsx,**/*.stories.ts,src/test-setup.ts,**/test-setup.ts,**/test-utils.tsx,**/*.styles.ts,**/story-utils.tsx,**/getDefaultAsyncThunk.ts,**/ApmUserJourney.ts,**/types.ts,**/emptyHeadersInterceptorConfig.ts,**/reducer.ts,**/base.api.ts,**/__test-data__/*.ts,**/getDefaultDataFetchReducer.ts,**/cvr.ts,**/*.mocks.ts',
08:41:20    'sonar.projectKey': 'com.xxx.frontend:ecommerce-neo',
08:41:20    'sonar.projectName': 'com.xxx.frontend:ecommerce-neo',
08:41:20    'sonar.projectVersion': 'fix/PAAS-2534-5507-next',
08:41:20    'sonar.tests': 'src',
08:41:20    'sonar.sources': 'src',
08:41:20    'sonar.sourceEncoding': 'UTF-8',
08:41:20    'sonar.test.inclusions': '**/*.spec.ts,**/*.spec.tsx',
08:41:20    'sonar.javascript.lcov.reportPaths': '../../../coverage/libs/ecommerce/neo/lcov.info',
08:41:20    'sonar.host.url': 'https://sonarqube.tools.zzz.xxx.com',
08:41:20    'sonar.login': '******',
08:41:20    'sonar.scanner.cliVersion': '4.6.2.2472',
08:41:20    'sonar.log.level': 'DEBUG',
08:41:20    'sonar.scanner.internal.isSonarCloud': 'false',
08:41:20    'sonar.scanner.apiBaseUrl': 'https://sonarqube.tools.zzz.xxx.com/api/v2',
08:41:20    'sonar.scanner.app': 'ScannerNpm',
08:41:20    'sonar.scanner.appVersion': '4.2.5',
08:41:20    'sonar.scanner.bootstrapStartTime': '1731570080551',
08:41:20    'sonar.scanner.wasJreCacheHit': 'disabled',
08:41:20    'sonar.scanner.wasEngineCacheHit': 'false',
08:41:20    'sonar.projectBaseDir': '/home/jenkins/agent/workspace/zzz/fe-zzz/libs/ecommerce/neo',
08:41:20    'sonar.token': '******'
08:41:20  }
08:41:20  [INFO]  Bootstrapper: Platform: linux x64
08:41:20  [DEBUG] Bootstrapper: Detecting proxy: No proxy detected
08:41:20  [INFO]  Bootstrapper: Server URL: https://sonarqube.tools.zzz.xxx.com
08:41:20  [INFO]  Bootstrapper: Version: 4.2.5
08:41:20  [DEBUG] Bootstrapper: Check if Server supports JRE provisioning
08:41:20  [DEBUG] Bootstrapper: Detecting SonarQube server version
08:41:20  [DEBUG] Bootstrapper: Fetching API V2 /analysis/version
08:41:20  + sonar-scanner -Dsonar.host.url=https://sonarqube.tools.zzz.xxx.com -Dsonar.login=****** -Dsonar.projectVersion=fix/PAAS-2534-5507-next -Dsonar.log.level=DEBUG
08:41:21  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
08:41:21  [DEBUG] Bootstrapper: SonarQube Server v10.6.0 supports JRE provisioning: true
08:41:21  [INFO]  Bootstrapper: JRE provisioning is supported
08:41:21  [DEBUG] Bootstrapper: Detecting latest version of JRE
08:41:21  [DEBUG] Bootstrapper: Downloading JRE information for linux x64 from /analysis/jres
08:41:21  [DEBUG] Bootstrapper: Latest Supported JRE:  {
08:41:21    id: '9fe68398-f6a1-4c70-993f-72253d2704b0',
08:41:21    filename: 'OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz',
08:41:21    sha256: 'bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707',
08:41:21    javaPath: 'jdk-17.0.11+9-jre/bin/java',
08:41:21    os: 'linux',
08:41:21    arch: 'x64'
08:41:21  }
08:41:21  [DEBUG] Bootstrapper: Looking for Cached JRE
08:41:21  [INFO]  Bootstrapper: No Cache found for JRE
08:41:21  [DEBUG] Bootstrapper: Creating Cache directory as it doesn't exist: /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707
08:41:21  [DEBUG] Bootstrapper: Starting download of JRE
08:41:21  [DEBUG] Bootstrapper: Downloading /analysis/jres/9fe68398-f6a1-4c70-993f-72253d2704b0 to /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz
08:41:21  [WARN]  Bootstrapper: SONARQUBE_SCANNER_PARAMS is deprecated, please use SONAR_SCANNER_JSON_PARAMS instead
08:41:21  [INFO]  Bootstrapper: Unable to read "package.json" file
08:41:21  [WARN]  Bootstrapper: Property "sonar.login" is deprecated and will be removed in a future version. Please use "sonar.token" instead.
08:41:21  [DEBUG] Bootstrapper: Overriding the log level to DEBUG
08:41:21  [DEBUG] Bootstrapper: Properties: {
08:41:21    'sonar.userHome': '/root/.sonar',
08:41:21    'sonar.scanner.os': 'linux',
08:41:21    'sonar.scanner.arch': 'x64',
08:41:21    'sonar.exclusions': '**/node_modules/**,**/*.spec.ts,**/*.spec.tsx,**/assets/**,**/main.ts,src/test-setup.ts,src/test-utils.tsx,src/app/CMSRoutes.tsx,src/app/pages/researches/ResearchRequestSubmitPage.tsx',
08:41:21    'sonar.projectKey': 'com.xxx.frontend:ecommerce-fe-mts2',
08:41:21    'sonar.projectName': 'com.xxx.frontend:ecommerce-fe-mts2',
08:41:21    'sonar.projectVersion': 'fix/PAAS-2534-5507-next',
08:41:21    'sonar.tests': 'src',
08:41:21    'sonar.sources': 'src',
08:41:21    'sonar.sourceEncoding': 'UTF-8',
08:41:21    'sonar.test.inclusions': '**/*.spec.ts,**/*.spec.tsx',
08:41:21    'sonar.javascript.lcov.reportPaths': '../../../coverage/apps/ecommerce/fe-mts2/lcov.info',
08:41:21    'sonar.host.url': 'https://sonarqube.tools.zzz.xxx.com',
08:41:21    'sonar.login': '******',
08:41:21    'sonar.scanner.cliVersion': '4.6.2.2472',
08:41:21    'sonar.log.level': 'DEBUG',
08:41:21    'sonar.scanner.internal.isSonarCloud': 'false',
08:41:21    'sonar.scanner.apiBaseUrl': 'https://sonarqube.tools.zzz.xxx.com/api/v2',
08:41:21    'sonar.scanner.app': 'ScannerNpm',
08:41:21    'sonar.scanner.appVersion': '4.2.5',
08:41:21    'sonar.scanner.bootstrapStartTime': '1731570081009',
08:41:21    'sonar.scanner.wasJreCacheHit': 'disabled',
08:41:21    'sonar.scanner.wasEngineCacheHit': 'false',
08:41:21    'sonar.projectBaseDir': '/home/jenkins/agent/workspace/zzz/fe-zzz/apps/ecommerce/fe-mts2',
08:41:21    'sonar.token': '******'
08:41:21  }
08:41:21  [INFO]  Bootstrapper: Platform: linux x64
08:41:21  [DEBUG] Bootstrapper: Detecting proxy: No proxy detected
08:41:21  [INFO]  Bootstrapper: Server URL: https://sonarqube.tools.zzz.xxx.com
08:41:21  [INFO]  Bootstrapper: Version: 4.2.5
08:41:21  [DEBUG] Bootstrapper: Check if Server supports JRE provisioning
08:41:21  [DEBUG] Bootstrapper: Detecting SonarQube server version
08:41:21  [DEBUG] Bootstrapper: Fetching API V2 /analysis/version
08:41:21  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
08:41:21  [DEBUG] Bootstrapper: SonarQube Server v10.6.0 supports JRE provisioning: true
08:41:21  [INFO]  Bootstrapper: JRE provisioning is supported
08:41:21  [DEBUG] Bootstrapper: Detecting latest version of JRE
08:41:21  [DEBUG] Bootstrapper: Downloading JRE information for linux x64 from /analysis/jres
08:41:21  [INFO]  Bootstrapper: Download starting...
08:41:21  [DEBUG] Bootstrapper: Latest Supported JRE:  {
08:41:21    id: '9fe68398-f6a1-4c70-993f-72253d2704b0',
08:41:21    filename: 'OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz',
08:41:21    sha256: 'bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707',
08:41:21    javaPath: 'jdk-17.0.11+9-jre/bin/java',
08:41:21    os: 'linux',
08:41:21    arch: 'x64'
08:41:21  }
08:41:21  [DEBUG] Bootstrapper: Looking for Cached JRE
08:41:21  [DEBUG] Bootstrapper: JRE version found in cache: OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz
08:41:21  [DEBUG] Bootstrapper: Verifying checksum bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707
08:41:21  [DEBUG] Bootstrapper: Checksum Value: c47611ab059d1d840cb835f65afeb9029e820f6a9bbd0623fe0cf72c776b74c4
08:41:21  [ERROR] Bootstrapper: An error occurred: Error: Checksum verification failed for /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz. Expected checksum bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707 but got c47611ab059d1d840cb835f65afeb9029e820f6a9bbd0623fe0cf72c776b74c4
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
08:41:24  WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // dir
08:41:25  [INFO]  Bootstrapper: Download complete
08:41:25  [INFO]  Bootstrapper: Downloaded JRE to /root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz
08:41:25  [DEBUG] Bootstrapper: Verifying checksum bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707
08:41:25  [ERROR] Bootstrapper: An error occurred: Error: ENOENT: no such file or directory, open '/root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707/OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz'
[Pipeline] }
08:41:25  Failed in branch sonarScan2
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
08:41:27  WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
08:41:28  Failed in branch sonarScan1
[Pipeline] // parallel
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // container
[Pipeline] }
[Pipeline] // node
[Pipeline] updateGitlabCommitStatus
[Pipeline] echo
08:41:32  exception thrown is hudson.AbortException: script returned exit code 1
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // timeout
[Pipeline] echo
08:41:34  SUCCESSFUL: Job 'zzz/fe-zzz [45897]' (https://jenkins.tools.zzz.xxx.com/job/zzz/job/fe-zzz/45897/)
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] echo
Done
[Pipeline] End of Pipeline
Finished: FAILURE
type or paste code here

I see that you are running the scanner twice in the same thread

this command is found twice (once at the start, and the second time at 08:41:20)
+ sonar-scanner -Dsonar.host.url=https://sonarqube.tools.zzz.xxx.com -Dsonar.login=****** -Dsonar.projectVersion=fix/PAAS-2534-5507-next -Dsonar.log.level=DEBUG

08:41:20  [INFO]  Bootstrapper: Server URL: https://sonarqube.tools.zzz.xxx.com
08:41:20  [INFO]  Bootstrapper: Version: 4.2.5
08:41:20  [DEBUG] Bootstrapper: Check if Server supports JRE provisioning
08:41:20  [DEBUG] Bootstrapper: Detecting SonarQube server version
08:41:20  [DEBUG] Bootstrapper: Fetching API V2 /analysis/version
08:41:20  + sonar-scanner -Dsonar.host.url=https://sonarqube.tools.zzz.xxx.com -Dsonar.login=****** -Dsonar.projectVersion=fix/PAAS-2534-5507-next -Dsonar.log.level=DEBUG
08:41:21  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
08:41:21

I would recommend cleaning the cache directory
/root/.sonar/cache/bcb1b7b8ad68c93093f09b591b7cb17161d39891f7d29d33a586f5a328603707

and try again, and make sure the scanner task is only executed once.

This was done to make it faster , inside the docker there is no cache file exist

I don’t understand what you mean by this, but it does look like the fact that it runs twice causes a conflict when checking the JRE checksum values.

Could you share some reasoning behind running the scanner twice?

Dear Lucas , This is not new pipeline job; it was worked on previously before upgrade the sonarqube to 10.6. After upgrading the sonarqube to 10.6 , we started facing the issue. Considering the job performance it was added previously

Hi,

I would say that before 10.6 you were “getting away with it”. Not that it “worked”.

 
HTH,
Ann

1 Like

This seems to be yet another problem with the JRE provisioning feature that comes with

  • SonarScanner CLI from v6.0
  • SonarScanner for Maven from v5.0
  • SonarScanner for Gradle from v6.0
  • SonarScanner for .NET from v7.0
  • SonarScanner for NPM from v4.0

since version 10.6.0 Sonarqube ships with

$SONARQUBE_HOME/jres
OpenJDK17U-jre_aarch64_linux_hotspot_17.0.11_9.tar.gz
OpenJDK17U-jre_aarch64_mac_hotspot_17.0.11_9.tar.gz
OpenJDK17U-jre_x64_alpine-linux_hotspot_17.0.11_9.tar.gz
OpenJDK17U-jre_x64_linux_hotspot_17.0.11_9.tar.gz
OpenJDK17U-jre_x64_mac_hotspot_17.0.11_9.tar.gz
OpenJDK17U-jre_x64_windows_hotspot_17.0.11_9.zip

for that feature.
see Analysis parameters & SonarQube

Try with deactivating the JRE provisioning via:
scanner property -Dsonar.scanner.skipJreProvisioning=true
or
environment variable SONAR_SCANNER_SKIP_JRE_PROVISIONING set to true

Thanks Gilbert for your reply , Yes i tried with -Dsonar.scanner.skipJreProvisioning=true , but facing the error like Java not found , it was worked previously before 10.6

09:42:07  + sonar-scanner -Dsonar.host.url=https://sonarqube.tools.parts.app.com -Dsonar.login=****** -Dsonar.projectVersion=fix/PAAS-2534-5507-next -Dsonar.log.level=DEBUG -Dsonar.scanner.skipJreProvisioning=true
09:42:07  [WARN]  Bootstrapper: SONARQUBE_SCANNER_PARAMS is deprecated, please use SONAR_SCANNER_JSON_PARAMS instead
09:42:07  [INFO]  Bootstrapper: Retrieving info from "package.json" file
09:42:07  [WARN]  Bootstrapper: Property "sonar.login" is deprecated and will be removed in a future version. Please use "sonar.token" instead.
09:42:07  [DEBUG] Bootstrapper: Overriding the log level to DEBUG
09:42:07  [DEBUG] Bootstrapper: Properties: {
09:42:07    'sonar.userHome': '/root/.sonar',
09:42:07    'sonar.scanner.os': 'linux',
09:42:07    'sonar.scanner.arch': 'x64',
09:42:07    'sonar.exclusions': '**/node_modules/**,**/*.spec.ts,**/*.spec.tsx,**/assets/**,**/*.stories.tsx,**/*.stories.ts,src/test-setup.ts,**/test-setup.ts,**/test-utils.tsx,**/*.styles.ts,**/story-utils.tsx,**/getDefaultAsyncThunk.ts,**/ApmUserJourney.ts,**/types.ts,**/emptyHeadersInterceptorConfig.ts,**/reducer.ts,**/base.api.ts,**/__test-data__/*.ts,**/getDefaultDataFetchReducer.ts,**/cvr.ts,**/*.mocks.ts',
09:42:07    'sonar.projectKey': 'com.tvh.frontend:ecommerce-neo',
09:42:07    'sonar.projectName': 'com.tvh.frontend:ecommerce-neo',
09:42:07    'sonar.projectVersion': 'fix/PAAS-2534-5507-next',
09:42:07    'sonar.tests': 'src',
09:42:07    'sonar.sources': 'src',
09:42:07    'sonar.sourceEncoding': 'UTF-8',
09:42:07    'sonar.test.inclusions': '**/*.spec.ts,**/*.spec.tsx',
09:42:07    'sonar.javascript.lcov.reportPaths': '../../../coverage/libs/ecommerce/neo/lcov.info',
09:42:07    'sonar.host.url': 'https://sonarqube.tools.parts.app.com',
09:42:07    'sonar.login': '******',
09:42:07    'sonar.scanner.cliVersion': '4.6.2.2472',
09:42:07    'sonar.log.level': 'DEBUG',
09:42:07    'sonar.scanner.skipJreProvisioning': 'true',
09:42:07    'sonar.scanner.internal.isSonarCloud': 'false',
09:42:07    'sonar.scanner.apiBaseUrl': 'https://sonarqube.tools.parts.app.com/api/v2',
09:42:07    'sonar.scanner.app': 'ScannerNpm',
09:42:07    'sonar.scanner.appVersion': '4.2.5',
09:42:07    'sonar.scanner.bootstrapStartTime': '1731746527543',
09:42:07    'sonar.scanner.wasJreCacheHit': 'disabled',
09:42:07    'sonar.scanner.wasEngineCacheHit': 'false',
09:42:07    'sonar.projectBaseDir': '/home/jenkins/agent/workspace/parts/app/libs/ecommerce/neo',
09:42:07    'sonar.token': '******'
09:42:07  }
09:42:07  [INFO]  Bootstrapper: Platform: linux x64
09:42:07  [DEBUG] Bootstrapper: Detecting proxy: No proxy detected
09:42:07  [INFO]  Bootstrapper: Server URL: https://sonarqube.tools.parts.app.com
09:42:07  [INFO]  Bootstrapper: Version: 4.2.5
09:42:07  [DEBUG] Bootstrapper: Check if Server supports JRE provisioning
09:42:07  [DEBUG] Bootstrapper: Detecting SonarQube server version
09:42:07  [DEBUG] Bootstrapper: Fetching API V2 /analysis/version
09:42:07  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
09:42:07  [DEBUG] Bootstrapper: SonarQube Server v10.6.0 supports JRE provisioning: true
09:42:07  [INFO]  Bootstrapper: JRE provisioning is supported
09:42:07  [INFO]  Bootstrapper: Trying to find java
09:42:08  + sonar-scanner -Dsonar.host.url=https://sonarqube.tools.parts.app.com -Dsonar.login=****** -Dsonar.projectVersion=fix/PAAS-2534-5507-next -Dsonar.log.level=DEBUG -Dsonar.scanner.skipJreProvisioning=true
09:42:08  [INFO]  Bootstrapper: Local install of SonarScanner CLI (java) not found
09:42:08  [ERROR] Bootstrapper: An error occurred: Error: Java not found in PATH
09:42:08  [WARN]  Bootstrapper: SONARQUBE_SCANNER_PARAMS is deprecated, please use SONAR_SCANNER_JSON_PARAMS instead
09:42:08  [INFO]  Bootstrapper: Unable to read "package.json" file
09:42:08  [WARN]  Bootstrapper: Property "sonar.login" is deprecated and will be removed in a future version. Please use "sonar.token" instead.
09:42:08  [DEBUG] Bootstrapper: Overriding the log level to DEBUG
09:42:08  [DEBUG] Bootstrapper: Properties: {
09:42:08    'sonar.userHome': '/root/.sonar',
09:42:08    'sonar.scanner.os': 'linux',
09:42:08    'sonar.scanner.arch': 'x64',
09:42:08    'sonar.exclusions': '**/node_modules/**,**/*.spec.ts,**/*.spec.tsx,**/assets/**,**/main.ts,src/test-setup.ts,src/test-utils.tsx,src/app/CMSRoutes.tsx,src/app/pages/researches/ResearchRequestSubmitPage.tsx',
09:42:08    'sonar.projectKey': 'com.tvh.frontend:ecommerce-fe-mts2',
09:42:08    'sonar.projectName': 'com.tvh.frontend:ecommerce-fe-mts2',
09:42:08    'sonar.projectVersion': 'fix/PAAS-2534-5507-next',
09:42:08    'sonar.tests': 'src',
09:42:08    'sonar.sources': 'src',
09:42:08    'sonar.sourceEncoding': 'UTF-8',
09:42:08    'sonar.test.inclusions': '**/*.spec.ts,**/*.spec.tsx',
09:42:08    'sonar.javascript.lcov.reportPaths': '../../../coverage/apps/ecommerce/fe-mts2/lcov.info',
09:42:08    'sonar.host.url': 'https://sonarqube.tools.parts.app.com',
09:42:08    'sonar.login': '******',
09:42:08    'sonar.scanner.cliVersion': '4.6.2.2472',
09:42:08    'sonar.log.level': 'DEBUG',
09:42:08    'sonar.scanner.skipJreProvisioning': 'true',
09:42:08    'sonar.scanner.internal.isSonarCloud': 'false',
09:42:08    'sonar.scanner.apiBaseUrl': 'https://sonarqube.tools.parts.app.com/api/v2',
09:42:08    'sonar.scanner.app': 'ScannerNpm',
09:42:08    'sonar.scanner.appVersion': '4.2.5',
09:42:08    'sonar.scanner.bootstrapStartTime': '1731746528013',
09:42:08    'sonar.scanner.wasJreCacheHit': 'disabled',
09:42:08    'sonar.scanner.wasEngineCacheHit': 'false',
09:42:08    'sonar.projectBaseDir': '/home/jenkins/agent/workspace/parts/app/apps/ecommerce/fe-mts2',
09:42:08    'sonar.token': '******'
09:42:08  }
09:42:08  [INFO]  Bootstrapper: Platform: linux x64
09:42:08  [DEBUG] Bootstrapper: Detecting proxy: No proxy detected
09:42:08  [INFO]  Bootstrapper: Server URL: https://sonarqube.tools.parts.app.com
09:42:08  [INFO]  Bootstrapper: Version: 4.2.5
09:42:08  [DEBUG] Bootstrapper: Check if Server supports JRE provisioning
09:42:08  [DEBUG] Bootstrapper: Detecting SonarQube server version
09:42:08  [DEBUG] Bootstrapper: Fetching API V2 /analysis/version
09:42:08  [INFO]  Bootstrapper: SonarQube server version: 10.6.0
09:42:08  [DEBUG] Bootstrapper: SonarQube Server v10.6.0 supports JRE provisioning: true
09:42:08  [INFO]  Bootstrapper: JRE provisioning is supported
09:42:08  [INFO]  Bootstrapper: Trying to find java
09:42:08  [INFO]  Bootstrapper: Local install of SonarScanner CLI (java) not found
09:42:08  [ERROR] Bootstrapper: An error occurred: Error: Java not found in PATH

Hi,

Thought I’d wade in here and add some context as I am hitting a similar issue.

I use sonar-scanner in a Node script as it helps me scale my analysis easily within a monorepo. The alternative is explicitly adding a Github action step every time a new project gets added to the monorepo. Instead, this way I can scan directories for sonar properties and run the scanner against the appropriate projects.

This takes rather a long time when you are scaling to multiple projects. A scan can take ~3m and when integrating this in to your CI pipeline that can be a long time to wait even for one project, let alone 5+ projects. To solve this, I parallelised the Sonar scanner runs such that they execute at the same time. This means a much faster run time within the CI pipeline. The problem is, when executing in parallel, the scanner will pretty much always miss the engine cache because they’re all trying to populate it at the same time, thus likely leading to the checksum conflict.

I’m keen to hear the advice here, as running sequentially is just not an option, it takes way too long. Is there a way the engine can be pre-downloaded so the scanners can be run in parallel?

I should add, at the moment my workaround is to run a single project sequentially to populate the caches, then run the remainder of the projects in parallel. That way the engine cache is guaranteed to be hit in the parallel runs and they won’t try and fight it out to populate the cache.