java.lang.IllegalArgumentException: 88 is not a valid line offset for pointer

Details:

15:23:38 ERROR: Error during SonarScanner execution 15:23:38 java.lang.IllegalArgumentException: 88 is not a valid line offset for pointer. File xxxx/Properties/AssemblyInfo.cs has 87 character(s) at line 23 15:23:38 at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:29) 15:23:38 at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:325) 15:23:38 at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:258) 15:23:38 at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:274) 15:23:38 at org.sonarsource.dotnet.shared.plugins.SensorContextUtils.toTextRange(SensorContextUtils.java:43) 15:23:38 at org.sonarsource.dotnet.shared.plugins.protobuf.CPDTokensImporter.consumeFor(CPDTokensImporter.java:48) 15:23:38 at org.sonarsource.dotnet.shared.plugins.protobuf.CPDTokensImporter.consumeFor(CPDTokensImporter.java:34) 15:23:38 at org.sonarsource.dotnet.shared.plugins.protobuf.ProtobufImporter.consume(ProtobufImporter.java:73) 15:23:38 at org.sonarsource.dotnet.shared.plugins.protobuf.RawProtobufImporter.accept(RawProtobufImporter.java:49) 15:23:38 at org.sonarsource.dotnet.shared.plugins.ProtobufDataImporter.parseProtobuf(ProtobufDataImporter.java:103) 15:23:38 at org.sonarsource.dotnet.shared.plugins.ProtobufDataImporter.importResults(ProtobufDataImporter.java:74) 15:23:38 at org.sonarsource.dotnet.shared.plugins.DotNetSensor.executeInternal(DotNetSensor.java:93) 15:23:38 at org.sonarsource.dotnet.shared.plugins.DotNetSensor.execute(DotNetSensor.java:71) 15:23:38 at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:45) 15:23:38 at org.sonar.scanner.sensor.ProjectSensorsExecutor.execute(ProjectSensorsExecutor.java:38) 15:23:38 at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:378) 15:23:38 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122) 15:23:38 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108) 15:23:38 at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:126) 15:23:38 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122) 15:23:38 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:108) 15:23:38 at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58) 15:23:38 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52) 15:23:38 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) 15:23:38 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 15:23:38 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 15:23:38 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 15:23:38 at java.lang.reflect.Method.invoke(Method.java:498) 15:23:38 at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 15:23:38 at com.sun.proxy.$Proxy0.execute(Unknown Source) 15:23:38 at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) 15:23:38 at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) 15:23:38 at org.sonarsource.scanner.cli.Main.execute(Main.java:112) 15:23:38 at org.sonarsource.scanner.cli.Main.execute(Main.java:75) 15:23:38 at org.sonarsource.scanner.cli.Main.main(Main.java:61) 15:23:38 ERROR: 15:23:38 The SonarQube Scanner did not complete successfully

Note:
Scan the same repository on my own development machine works fine, but on CI machine, the error occurs

Steps to reproduce

  1. Existing project in SonarCloud
  2. Clone a GitHub repository
  3. Run powershell commands to update AssemblyInfo.cs like

$content = Get-Content -Path $assemblyInfoFile

    $props = @{'AssemblyVersion' = $version; 'AssemblyFileVersion' = $version; 'AssemblyCopyright' = $copyright}

    foreach($prop in $props.Keys) {

        $regex = $prop + '.*?\(.*?\)'

        $value = $prop + '("' + $props.Item($prop) + '")'

        $content = $content -replace $regex, $value

    }

    Set-Content -Path $assemblyInfoFile -Value $content -Encoding UTF8 -Force
  1. Run SonarScanner.MSBuild.exe begin/end and msbuild commands to scan projects

Hi @VicZhang and welcome to the community !

From our past experience, this error happen most of the time when the given file is modified between the begin and the end step of the analysis. Is that your case ?

Thank you.

1 Like

Got it. Yeah, the Jenkins CI pipeline does modify the version, copyright etc of AssemblyInfo.cs file during building between begin and end commands. Thanks a lot.

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