Skip to content

java.lang.NumberFormatException on cobertura data #2895

@amai2012

Description

@amai2012

Describe the bug

I get a failure in sonar analysis with.

 [java] 17:49:51.170 ERROR Error during SonarScanner CLI execution
     [java] java.lang.NumberFormatException: For input string: "18446744073709551575"
     [java] 	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
     [java] 	at java.base/java.lang.Long.parseLong(Long.java:711)
     [java] 	at java.base/java.lang.Long.parseLong(Long.java:836)
     [java] 	at org.sonar.cxx.sensors.coverage.cobertura.CoberturaParser.collectFileData(CoberturaParser.java:98)
     [java] 	at org.sonar.cxx.sensors.coverage.cobertura.CoberturaParser.collectFileMeasures(CoberturaParser.java:177)
     [java] 	at org.sonar.cxx.sensors.coverage.cobertura.CoberturaParser.collectPackageMeasures(CoberturaParser.java:167)
     [java] 	at org.sonar.cxx.sensors.coverage.cobertura.CoberturaParser.lambda$parse$1(CoberturaParser.java:139)
     [java] 	at org.sonar.cxx.sensors.utils.StaxParser.parse(StaxParser.java:132)
     [java] 	at org.sonar.cxx.sensors.utils.StaxParser.parse(StaxParser.java:98)
     [java] 	at org.sonar.cxx.sensors.utils.StaxParser.parse(StaxParser.java:84)
     [java] 	at org.sonar.cxx.sensors.coverage.cobertura.CoberturaParser.parse(CoberturaParser.java:141)
     [java] 	at org.sonar.cxx.sensors.coverage.CoverageSensor.processReport(CoverageSensor.java:76)
     [java] 	at org.sonar.cxx.sensors.coverage.CoverageSensor.executeReport(CoverageSensor.java:67)
     [java] 	at org.sonar.cxx.sensors.coverage.CoverageSensor.executeImpl(CoverageSensor.java:57)
     [java] 	at org.sonar.cxx.sensors.utils.CxxReportSensor.execute(CxxReportSensor.java:101)
     [java] 	at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
     [java] 	at org.sonar.scanner.sensor.ProjectSensorsExecutor.execute(ProjectSensorsExecutor.java:52)
     [java] 	at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:371)
     [java] 	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
     [java] 	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
     [java] 	at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137)
     [java] 	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
     [java] 	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
     [java] 	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
     [java] 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
     [java] 	at org.sonarsource.scanner.lib.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:41)
     [java] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
     [java] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java] 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
     [java] 	at org.sonarsource.scanner.lib.internal.facade.inprocess.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:62)
     [java] 	at jdk.proxy3/jdk.proxy3.$Proxy2.execute(Unknown Source)
     [java] 	at org.sonarsource.scanner.lib.internal.facade.inprocess.InProcessScannerEngineFacade.doAnalyze(InProcessScannerEngineFacade.java:38)
     [java] 	at org.sonarsource.scanner.lib.internal.facade.AbstractScannerEngineFacade.analyze(AbstractScannerEngineFacade.java:66)
     [java] 	at org.sonarsource.scanner.cli.Main.analyze(Main.java:79)
     [java] 	at org.sonarsource.scanner.cli.Main.main(Main.java:64)
     [java] 17:49:51.172 ERROR 
     [java] 17:49:51.172 ERROR Re-run SonarScanner CLI using the -X switch to enable full debug logging.

To Reproduce
Steps to reproduce the behavior:

  1. Run instrumented binary to produce coverage data
  2. Extract coverage with llvm-profdata
  3. Export with llvm-cov
  4. Convert using lcov_cobertura
  5. Run the sonar analysis with the xml including the line
    <line branch="true" hits="18446744073709551575" number="197" condition-coverage="50% (1/2)"/>
  6. See error

Expected behavior
No fatal error!?

The number doesn't look reliable... But I'd be happy if the plugin could assume it as being >0 and go on after some warning maybe.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: RHEL 8
  • SonarQube version: 9.9.8
  • cxx plugin version: 2.2 (build 1110)
  • sonar-scanner version: 7.0.2.4839

Additional context

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions