Sonar scan fails with OOM error

Template for a good false-positive report, formatted with Markdown:

  • versions used (SonarQube, Scanner, language analyzer)
    Version 9.2 (build 49834)
  • minimal code sample to reproduce (with analysis parameter, and potential instructions to compile).
sonar.host.url=https://sonarqube.xxx.com/
sonar.projectKey=fxxxxxxxxx
sonar.projectName=xxxxxx
sonar.login=xxxxxxxxxxxxxxxxxxxxxx
sonar.cfamily.build-wrapper-output=bw-output
sonar.cfamily.threads=2
sonar.cfamily.cache.enabled=true
sonar.cfamily.cache.path=/root/.sonar/cache
sonar.projectBaseDir=.
sonar.log.level=DEBUG
sonar.coverageReportPaths=coverageReport.coverage
sonar.verbose=true
sonar.sources=.
sonar.scm.exclusions.disabled=true

We are performing the sonar scan by setting the variable SONAR_SCANNER_OPTS="-Xms1024m -Xmx2048m -XX:MaxPermSize=1024m". The scan when initated also shows these values correctly in the logs . However the scan failes with the below error mentioning OOM Heap space.



05:08:34.767 ERROR: Error during SonarQube Scanner execution
java.lang.OutOfMemoryError: Java heap space
        at org.sonar.duplications.index.PackedMemoryCloneIndex.ensureCapacity(PackedMemoryCloneIndex.java:286)
        at org.sonar.duplications.index.PackedMemoryCloneIndex.insert(PackedMemoryCloneIndex.java:251)
        at org.sonar.scanner.cpd.index.SonarCpdBlockIndex.insert(SonarCpdBlockIndex.java:73)
        at org.sonar.scanner.sensor.DefaultSensorStorage.store(DefaultSensorStorage.java:381)
        at org.sonar.api.batch.sensor.cpd.internal.DefaultCpdTokens.doSave(DefaultCpdTokens.java:130)
        at org.sonar.api.batch.sensor.internal.DefaultStorable.save(DefaultStorable.java:45)
        at com.sonar.cpp.plugin.LexicalAnalyzer.cpd(LexicalAnalyzer.java:90)
        at com.sonar.cpp.plugin.LexicalAnalyzer.analyze(LexicalAnalyzer.java:68)
        at com.sonar.cpp.plugin.LexicalAnalyzer.analyze(LexicalAnalyzer.java:55)
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:340)
        at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:181)
        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.execute(ModuleSensorsExecutor.java:62)
        at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:79)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
        at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:384)
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:380)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:349)

Hi @Bhavik ,

You are setting sonar.sources to the entire folder, it is recommended to set it to only the source files directory as you may be pulling huge generated files in your analysis leading to the issue.

If by refining the scope you are still facing the issue, you should try with a bigger -Xmx max heap size, i.e. 4096 or more to just see the minimum amount required.

Thank you @mpaladin
setting sonar.inclusions resolved the issue.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.