Unable to upload coverlet coverage report on SonarQube from Jenkins [dotnet scanner]

SonarQube Version: * Community Edition* v9.9.6
Problem : Using dotnet native sonar scanner tool to scan dotnet code and generate the code coverage using “coverlet” report. I am getting
ERROR: Error during SonarScanner execution java.lang.OutOfMemoryError: Java heap space

We are uploading large multiple coverage files despite of setting SONAR_SCANNER_OPTS = ‘-Xmx16g -Xms16g’ we are still getting this issue
Please help me to solve this issue or suggest a fix for this.

Scanner Output :

**07:39:41** INFO: ------------------------------------------------------------------------ **07:39:41** INFO: EXECUTION FAILURE **07:39:41** INFO: ------------------------------------------------------------------------ **07:39:41** INFO: Total time: 7:49.241s **07:39:41** INFO: Final Memory: 17M/68M **07:39:41** INFO: ------------------------------------------------------------------------ **07:39:41** ERROR: Error during SonarScanner execution **07:39:41** java.lang.OutOfMemoryError: Java heap space **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlFilePosition.shift(XmlFilePosition.java:83) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlFilePosition.shift(XmlFilePosition.java:62) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlFilePosition.moveAfter(XmlFilePosition.java:97) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlParser.visitAttributes(XmlParser.java:272) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlParser.visitStartElement(XmlParser.java:199) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlParser.parseXml(XmlParser.java:132) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlParser.<init>(XmlParser.java:69) **07:39:41** at org.sonarsource.analyzer.commons.xml.XmlFile.create(XmlFile.java:90) **07:39:41** at org.sonar.plugins.xml.XmlSensor.scanFile(XmlSensor.java:113) **07:39:41** at org.sonar.plugins.xml.XmlSensor.execute(XmlSensor.java:99) **07:39:41** at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64) **07:39:41** at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88) **07:39:41** at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61) **07:39:41** at org.sonar.scanner.sensor.ModuleSensorsExecutor$$Lambda$610/0x0000000801437b00.run(Unknown Source) **07:39:41** at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79) **07:39:41** at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61) **07:39:41** at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82) **07:39:41** at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) **07:39:41** at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) **07:39:41** at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403) **07:39:41** at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399) **07:39:41** at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:396) **07:39:41** at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368) **07:39:41** at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) **07:39:41** at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) **07:39:41** at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137) **07:39:41** at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) **07:39:41** at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) **07:39:41** at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) **07:39:41** at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) **07:39:41** at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) **07:39:41** at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) **07:39:41** ERROR: **07:39:41** The SonarScanner did not complete successfully **07:39:41** 07:39:39.984 Post-processing failed. Exit code: 1

Hi there, @ShubhamGo,

Would you mind sharing some details:

  1. Version of the SonarScanner for .NET you are using
  2. The (redacted) pipeline you are using
  3. The (redacted) full log of your analysis showing the error

Side note: If you are using SonarScaner for .NET v8.0 or v8.0.1, I suggest moving to v8.0.2 we released yesterday. There are known issues with wrongly analyzing coverage files as XML, and your error seems to come from the XML sensor. If that is indeed your problem, this might be enough to solve it.

Denis

1 Like

same error even I update my sonar scanner version. Please help ASAP

07:36:47 Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “Report about progress of XML Analyzer” 07:37:22 Exception in thread “HttpClient-1-SelectorManager” java.lang.OutOfMemoryError: Java heap space

No chnage ERROR still exit after the update to version 8

07:36:47 Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “Report about progress of XML Analyzer” 07:37:22 Exception in thread “HttpClient-1-SelectorManager” java.lang.OutOfMemoryError: Java heap space

In that case would you mind trying to add /d:sonar.scanAll=false to your command line?

Denis

** :sob: :crying_cat_face: :crystal_ball: :sob:**

ERROR: Error during SonarScanner execution 04:00:58 java.lang.OutOfMemoryError: Java heap space 04:00:58 at org.sonarsource.analyzer.commons.xml.XmlFilePosition.shift(XmlFilePosition.java:83) 04:00:58 at org.sonarsource.analyzer.commons.xml.XmlFilePosition.shift(XmlFilePosition.java:62) 04:00:58 at org.sonarsource.analyzer.commons.xml.XmlFilePosition.moveAfterClosingBracket(XmlFilePosition.java:109) 04:00:58 at org.sonarsource.analyzer.commons.xml.XmlParser.visitEndElement(XmlParser.java:204) 04:00:58 at org.sonarsource.analyzer.commons.xml.XmlParser.parseXml(XmlParser.java:136) 04:00:58 at org.sonarsource.analyzer.commons.xml.XmlParser.(XmlParser.java:69) 04:00:59 at org.sonarsource.analyzer.commons.xml.XmlFile.create(XmlFile.java:90) 04:00:59 at org.sonar.plugins.xml.XmlSensor.scanFile(XmlSensor.java:113) 04:00:59 at org.sonar.plugins.xml.XmlSensor.execute(XmlSensor.java:99) 04:00:59 at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64) 04:00:59 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88) 04:00:59 at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61) 04:00:59 at org.sonar.scanner.sensor.ModuleSensorsExecutor$$Lambda$610/0x000000080144ac60.run(Unknown Source) 04:00:59 at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79) 04:00:59 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61) 04:00:59 at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82) 04:00:59 at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) 04:00:59 at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) 04:00:59 at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403) 04:00:59 at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399) 04:00:59 at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:396) 04:00:59 at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368) 04:00:59 at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) 04:00:59 at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) 04:00:59 at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137) 04:00:59 at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) 04:00:59 at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) 04:00:59 at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) 04:00:59 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) 04:00:59 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) 04:00:59 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 04:00:59 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) 04:00:59 ERROR: 04:01:01 The SonarScanner did not complete successfully

Hi @ShubhamGo

I think we are going to need more information. Could you post

  • your (redacted) pipeline (how you install and call the scanner)
  • the log from executing the pipeline (containing the output of the being AND end step)

If possible, add /d:sonar.verbose=true to your begin step to have a full picture.

If you do not feel confident posting the output here, you can send the files to me in private by sending me a message.

Denis

sonarlog.txt (22.5 KB)

I have attached the log file please help

Thank you for this.

It seems you are using the Jenkins plugin?
Can you share your pipeline definition? And maybe the log of the first step (what we call the “begin step”, but I do not know what it looks like with Jenkins…).
I am trying to find out which actual version of the Scanner for .NET you are using (8.0, 8.01, 8.0.2…).

Denis

SonarScanner for MSBuild 8.0.2 03:48:11 Using the .NET Core version of the Scanner for MSBuild 03:48:11 Post-processing started. 03:48:11 03:48:10.849 03:48:10.849 WARNING: Multi-Language analysis is enabled. If this was not intended and you have issues such as hitting your LOC limit or analyzing unwanted files, please set “/d:sonar.scanner.scanAll=false” in the begin step. 03:51:48 Using the supplied value for SONAR_SCANNER_OPTS. Value: --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED

Hi @ShubhamGo

PLease update to the newly released 8.0.3 (released this morning, I have not had the time to announce it here yet). I believe this should fix your issue.

Denis

Its still failing with same set of error even after upgrading he scanner version to 8.0.3