Coverage report parsing fails

Team,
we have enterprise edition license.

is there a limit on file size of coverage report? or is there a genuine error?

sonar-scanner --version
INFO: Scanner configuration file: /opt/sonar-scanner/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarScanner 4.7.0.2747
INFO: Java 11.0.14.1 Eclipse Adoptium (64-bit)
INFO: Linux 5.4.0-65-generic amd64
ls -ltr $coverage_file
-rw-r--r-- 1 root root 13759054 Jan 25 02:40 coverage.xml

logs

INFO: 744/744 source files have been analyzed
INFO: Sensor PL/SQL Sensor [plsql] (done) | time=15837ms
INFO: Sensor Scala Sensor [sonarscala]
INFO: 536 source files to be analyzed
INFO: 536/536 source files have been analyzed
INFO: Sensor Scala Sensor [sonarscala] (done) | time=7379ms
INFO: Sensor C# Project Type Information [csharp]
INFO: Sensor C# Project Type Information [csharp] (done) | time=7ms
INFO: Sensor C# Analysis Log [csharp]
INFO: Sensor C# Analysis Log [csharp] (done) | time=10ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=0ms
INFO: Sensor JavaXmlSensor [java]
INFO: 1 source file to be analyzed
INFO: 1/1 source file has been analyzed
INFO: Sensor JavaXmlSensor [java] (done) | time=190ms
INFO: Sensor HTML [web]
INFO: Sensor HTML [web] (done) | time=1166ms
INFO: Sensor XML Sensor [xml]
INFO: 1 source file to be analyzed
INFO: 1/1 source file has been analyzed
INFO: Sensor XML Sensor [xml] (done) | time=94ms
INFO: Sensor VB.NET Project Type Information [vbnet]
INFO: Sensor VB.NET Project Type Information [vbnet] (done) | time=7ms
INFO: Sensor VB.NET Analysis Log [vbnet]
INFO: Sensor VB.NET Analysis Log [vbnet] (done) | time=10ms
INFO: Sensor VB.NET Properties [vbnet]
INFO: Sensor VB.NET Properties [vbnet] (done) | time=0ms
INFO: Sensor Python Sensor [python]
WARN: Your code is analyzed as compatible with python 2 and 3 by default. This will prevent the detection of issues specific to python 2 or python 3. You can get a more precise analysis by setting a python version in your configuration via the parameter "sonar.python.version"
INFO: Starting global symbols computation
INFO: 585 source files to be analyzed
INFO: 585/585 source files have been analyzed
INFO: Starting rules execution
INFO: 585 source files to be analyzed
INFO: 283/585 files analyzed, current file: src/services/support-channel-manager/scripts/rotation-sync-job/sync.py
INFO: 585/585 source files have been analyzed
INFO: Starting test sources highlighting
INFO: 9 source files to be analyzed
INFO: 9/9 source files have been analyzed
INFO: Sensor Python Sensor [python] (done) | time=25225ms
INFO: Sensor Cobertura Sensor for Python coverage [python]
INFO: Python test coverage
INFO: Parsing report '/home/jenkins/agent/workspace/code-coverage-stage/coverage.xml'
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 3:42.336s
INFO: Final Memory: 255M/914M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: Error parsing the report '/home/jenkins/agent/workspace/product/code-coverage-stage/coverage.xml'
	at org.sonar.plugins.python.coverage.PythonCoverageSensor.parseReport(PythonCoverageSensor.java:119)
	at org.sonar.plugins.python.coverage.PythonCoverageSensor.execute(PythonCoverageSensor.java:81)
	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.lambda$execute$1(ModuleSensorsExecutor.java:59)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
	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)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)

Hi,

Is that the full stacktrace?

Also, what version of SonarQube are you using?

 
Ann

yes I ran the scanner with -X and version

Enterprise EditionVersion 9.2.4 (build 50792)LGPL v3

coverage.xml size is

-rw-r--r-- 1 root root 17436928 Jan 26 22:16 coverage.xml

here is the latest run

22:18:30.262 DEBUG: Not enough content in 'src/teams/explorer/sidecars/view_server/experiment/demo_fontawesome.py' to have CPD blocks, it will not be part of the duplication detection
22:18:30.338 DEBUG: Not enough content in 'src/teams/dev/app/drivebrowser/wsgi.py' to have CPD blocks, it will not be part of the duplication detection
22:18:30.397 DEBUG: Not enough content in 'src/teams/dev/app/athenabrowser/__init__.py' to have CPD blocks, it will not be part of the duplication detection
22:18:30.500 INFO: 585/585 source files have been analyzed
22:18:30.501 INFO: Starting test sources highlighting
22:18:30.502 DEBUG: Evaluate issue exclusions for 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/integration/__init__.py'
22:18:30.502 INFO: 9 source files to be analyzed
22:18:30.502 DEBUG: 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/integration/__init__.py' generated metadata as test  with charset 'UTF-8'
22:18:30.504 DEBUG: Evaluate issue exclusions for 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/test_product_utils.py'
22:18:30.504 DEBUG: 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/test_product_utils.py' generated metadata as test  with charset 'UTF-8'
22:18:30.509 DEBUG: Evaluate issue exclusions for 'src/teams/export/test/debug/dump_export_input.py'
22:18:30.509 DEBUG: 'src/teams/export/test/debug/dump_export_input.py' generated metadata as test  with charset 'UTF-8'
22:18:30.513 DEBUG: Evaluate issue exclusions for 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/test_download_session_gps.py'
22:18:30.513 DEBUG: 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/test_download_session_gps.py' generated metadata as test  with charset 'UTF-8'
22:18:30.520 DEBUG: Evaluate issue exclusions for 'src/teams/export/test/push/push_all.py'
22:18:30.520 DEBUG: 'src/teams/export/test/push/push_all.py' generated metadata as test  with charset 'UTF-8'
22:18:30.528 DEBUG: Evaluate issue exclusions for 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/integration/test_ground_truth.py'
22:18:30.528 DEBUG: 'src/teams/drivecampaigns/safety/session_validation/session_validation/test/integration/test_ground_truth.py' generated metadata as test  with charset 'UTF-8'
22:18:30.534 DEBUG: Evaluate issue exclusions for 'src/teams/export/test/push/update_spec.py'
22:18:30.534 DEBUG: 'src/teams/export/test/push/update_spec.py' generated metadata as test  with charset 'UTF-8'
22:18:30.544 DEBUG: Evaluate issue exclusions for 'src/teams/export/test/push/mapping.py'
22:18:30.544 DEBUG: 'src/teams/export/test/push/mapping.py' generated metadata as test  with charset 'UTF-8'
22:18:30.547 DEBUG: Evaluate issue exclusions for 'src/teams/export/test/push/__init__.py'
22:18:30.547 DEBUG: 'src/teams/export/test/push/__init__.py' generated metadata as test  with charset 'UTF-8'
22:18:30.549 INFO: 9/9 source files have been analyzed
22:18:30.549 INFO: Sensor Python Sensor [python] (done) | time=26893ms
22:18:30.549 INFO: Sensor Cobertura Sensor for Python coverage [python]
22:18:30.550 DEBUG: Using pattern 'coverage.xml' to find reports
22:54:23.720 INFO: Python test coverage
22:54:23.721 INFO: Parsing report '/home/jenkins/agent/workspace/product/code-coverage-stage/coverage.xml'
22:54:23.854 INFO: ------------------------------------------------------------------------
22:54:23.854 INFO: EXECUTION FAILURE
22:54:23.854 INFO: ------------------------------------------------------------------------
22:54:23.854 INFO: Total time: 37:58.967s
22:54:23.960 INFO: Final Memory: 255M/908M
22:54:23.960 INFO: ------------------------------------------------------------------------
22:54:23.960 ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: Error parsing the report '/home/jenkins/agent/workspace/product/code-coverage-stage/coverage.xml'
	at org.sonar.plugins.python.coverage.PythonCoverageSensor.parseReport(PythonCoverageSensor.java:119)
	at org.sonar.plugins.python.coverage.PythonCoverageSensor.execute(PythonCoverageSensor.java:81)
	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.lambda$execute$1(ModuleSensorsExecutor.java:59)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
	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)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // container
[Pipeline] }
[Pipeline] // stage
[Pipeline] }

[Pipeline] // ansiColor
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

Hi,

Thanks for providing a fuller log. I was hoping for a Caused by in this stacktrace. :frowning:

To answer your initial question, there is not a size limit. Even though yours is a large file, the fact that the error happens so quickly after parsing begins - and the fact that it’s not a StackOverflow error - tells me this is not about size but likely about format.

You should take a closer look at your coverage file. You should also try upgrading to the latest version: SonarQube 9.8. No guarantees, but it might help.

 
Ann