java.lang.IllegalArgumentException: 595 is not a valid line for pointer. File CBL/XXXXX.cbl has 594 line(s)

SonarQube version: 6.7

Getting the below error during the fullscan of our cobol program repository. We have 290+ in the repository and our observation so far is when the no of files is less (approximately less than 20) in the repository the scan runs successfully but when we increase files beyond that limit the scan fails. We dont get any other clue to locate the issue. Any inputs to debug and arriving the solution would be much helpful.

java.lang.IllegalArgumentException: 595 is not a valid line for pointer. File CBL/XXXXX.cbl has 594 line(s)
        at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:336)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:272)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.selectLine(DefaultInputFile.java:295)
        at com.sonarsource.cobol.plugin.squid.I.A(Unknown Source)
        at com.sonarsource.cobol.plugin.squid.I.A(Unknown Source)
        at com.sonarsource.cobol.plugin.squid.I.A(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
        at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.forEach(Unknown Source)
        at com.sonarsource.cobol.E.I.B(Unknown Source)
        at com.sonarsource.cobol.squid.CobolAstScanner.A(Unknown Source)
        at com.sonarsource.cobol.squid.CobolAstScanner.scanFiles(Unknown Source)
        at com.sonarsource.cobol.plugin.squid.H.execute(Unknown Source)
        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:82)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:400)
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:395)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
        at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at 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)

SonarQube 6.7 is old now. Quite a few bugs were fixed since this version was released.
Can you reproduce the same issue on SonarQube 8.4.2?

Hi @pynicolas,

I’m sorry. I have re checked and confirmed that we are on the version 7.9 currently.

Since the issue happens only for our application, we feel it is hard to justify and get the required approval to upgrade the version to reproduce the issue.

Would like to know, if there are any other possibilities to debug the problem with version 7.9 itself.

If upgrading the version is the only way to move on for next steps, Could you kindly explain if version 8.4 has some fixes specific to the problem we mentioned? So that we can approach the team with justifications to upgrade. Thanks in advance!

Based on the error message you gave, do you understand that the problem is not related to the number of files but is due to the content of a specific file?

Can you share the full logs of the analysis?
Do you see a warning starting with “WARN: Invalid character encountered in file”?

We are able to notice that this problem started after a custom rule we deployed but we are not able to identify which content from the file causing this problem. below are few scenarios (examples) that we tried to understand the problem. Based on these test results only we started to think the problem might be due to number of files since the same program runs without problem when the repository size is reduced to certain limit

  1. Run a full scan with 290+ files [Result: scan failed at 25th file (PGM25.cbl) and it did not proceed further with scanning remaining files]

  2. Run a scan by removing 25th file (PGM25.cbl) from repository [Result: scan failed at 28th file (PGM28.cbl) and it did not proceed further with scanning remaining files]

  3. Run a scan only with 20 files in the repository including PGM25.cbl and PGM28.cbl [Result: scan successful]

No. We are not seeing such warning messages in the log.

Below is the full log for your reference.

>Started by user admin
Running as SYSTEM
Building in workspace C:\Program Files (x86)\Jenkins\workspace\SonarQube
[SonarQube] $ "C:\Program Files (x86)\Jenkins\tools\hudson.plugins.sonar.SonarRunnerInstallation\SonarScanner\bin\sonar-scanner.bat" -Dsonar.host.url=https://sonar.test.xxxxxxxx.xxx/ -Dsonar.sourceEncoding=UTF-8 -Dsonar.cobol.copy.directories=COPYBOOK -Dsonar.sources=CBL1 -Dsonar.language=cobol -Dsonar.login=XXXXXX -Dsonar.issuesReport.html.enable=true -Dsonar.projectVersion=1.0 -Dsonar.projectKey=XXXRuleValidation -Dsonar.cobol.file.suffixes=CBL,cbl -Dsonar.issuesReport.html.location=.sonar/issues-report.html -Dsonar.password=XXXXXXXX -Dsonar.issuesReport.console.enable=true -Dsonar.dryRun=true -Dsonar.projectName=XXXRuleValidation "-Dsonar.projectBaseDir=C:\Program Files (x86)\Jenkins\workspace\SonarQube"
INFO: Scanner configuration file: C:\Program Files (x86)\Jenkins\tools\hudson.plugins.sonar.SonarRunnerInstallation\SonarScanner\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarScanner 4.3.0.2102
INFO: Java 1.8.0_144 Oracle Corporation (32-bit)
INFO: Windows 10 10.0 x86
INFO: User cache: C:\WINDOWS\system32\config\systemprofile\.sonar\cache
INFO: Scanner configuration file: C:\Program Files (x86)\Jenkins\tools\hudson.plugins.sonar.SonarRunnerInstallation\SonarScanner\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: Analyzing on SonarQube server 7.9.1
INFO: Default locale: "en_GB", source code encoding: "UTF-8"
WARN: SonarScanner will require Java 11+ to run starting in SonarQube 8.x
INFO: Load global settings
INFO: Load global settings (done) | time=552ms
INFO: Server id: YYYYYYYY-YYYYYYYYYYYYYYYY
INFO: User cache: C:\WINDOWS\system32\config\systemprofile\.sonar\cache
INFO: Load/download plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=456ms
INFO: Load/download plugins (done) | time=722ms
INFO: Loaded core extensions: developer-scanner
INFO: Process project properties
INFO: Execute project builders
INFO: Execute project builders (done) | time=3ms
INFO: Project key: XXXRuleValidation
INFO: Base dir: C:\Program Files (x86)\Jenkins\workspace\SonarQube
INFO: Working dir: C:\Program Files (x86)\Jenkins\workspace\SonarQube\.scannerwork
INFO: Load project settings for component key: 'XXXRuleValidation'
INFO: Load project settings for component key: 'XXXRuleValidation' (done) | time=388ms
INFO: Load project branches
INFO: Load project branches (done) | time=397ms
INFO: Load project pull requests
INFO: Load project pull requests (done) | time=351ms
INFO: Load branch configuration
INFO: Load branch configuration (done) | time=2ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=429ms
INFO: Detected Jenkins
INFO: Load active rules
INFO: Load active rules (done) | time=12102ms
INFO: Indexing files...
INFO: Project configuration:
INFO: 23 files indexed
INFO: Quality profile for cobol: XXXXXXXXXXXXXXXXXXXXXXXXXX
INFO: ------------- Run sensors on module XXXRuleValidation
WARN: Component of type class org.sonar.plugins.findbugs.FindbugsConfiguration defines methods start() and/or stop(). Neither will be invoked to start/stop the component. Please implement either org.picocontainer.Startable or org.sonar.api.Startable
INFO: Load metrics repository
INFO: Load metrics repository (done) | time=371ms
INFO: Sensor CobolSquidSensor [cobol]
INFO: About to analyse COBOL Programs using 'ibm-enterprise-cobol' dialect and 'fixed' source code format.
INFO: 23 source files to be analyzed
INFO: Load project repositories
INFO: Load project repositories (done) | time=404ms
WARN: Unable to find copybook 'COPYBK1' (at line=50 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK2' (at line=53 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK3' (at line=56 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK4' (at line=126 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK5' (at line=128 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK6' (at line=130 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK7' (at line=135 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK8' (at line=263 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK9' (at line=266 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK10' (at line=274 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK11' (at line=275 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK12' (at line=276 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK13' (at line=280 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK14' (at line=284 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK15' (at line=310 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM1.cbl'.)
WARN: Unable to find copybook 'COPYBK16' (at line=34 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK17' (at line=62 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK18' (at line=65 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK19' (at line=67 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK20' (at line=70 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK21' (at line=75 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK22' (at line=81 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK23' (at line=93 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK24' (at line=95 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK25' (at line=97 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM2.cbl'.)
WARN: Unable to find copybook 'COPYBK26' (at line=82 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK27' (at line=144 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK28' (at line=146 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK29' (at line=148 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK30' (at line=150 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK31' (at line=152 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK32' (at line=168 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK33' (at line=270 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK34' (at line=274 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK35' (at line=278 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM3.cbl'.)
WARN: Unable to find copybook 'COPYBK36' (at line=36 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM4.cbl'.)
WARN: Unable to find copybook 'COPYBK37' (at line=89 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM4.cbl'.)
WARN: Unable to find copybook 'COPYBK38' (at line=91 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM4.cbl'.)
WARN: Unable to find copybook 'COPYBK39' (at line=93 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM4.cbl'.)
WARN: Unable to find copybook 'COPYBK40' (at line=32 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK41' (at line=38 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK42' (at line=72 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK43' (at line=74 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK44' (at line=76 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK45' (at line=83 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK46' (at line=85 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK47' (at line=87 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK48' (at line=143 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM5.cbl'.)
WARN: Unable to find copybook 'COPYBK49' (at line=51 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM6.cbl'.)
WARN: Unable to find copybook 'COPYBK50' (at line=229 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM6.cbl'.)
WARN: Unable to find copybook 'COPYBK51' (at line=277 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM6.cbl'.)
WARN: Unable to find copybook 'COPYBK52' (at line=279 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM6.cbl'.)
WARN: Unable to find copybook 'COPYBK53' (at line=281 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM6.cbl'.)
WARN: Unable to find copybook 'COPYBK54' (at line=335 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM6.cbl'.)
WARN: Unable to find copybook 'COPYBK55' (at line=28 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM7.cbl'.)
WARN: Unable to find copybook 'COPYBK56' (at line=60 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM7.cbl'.)
WARN: Unable to find copybook 'COPYBK57' (at line=62 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM7.cbl'.)
WARN: Unable to find copybook 'COPYBK58' (at line=64 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM7.cbl'.)
WARN: Unable to find copybook 'COPYBK59' (at line=88 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM7.cbl'.)
WARN: Unable to find copybook 'COPYBK60' (at line=134 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM7.cbl'.)
WARN: Unable to find copybook 'COPYBK61' (at line=34 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM8.cbl'.)
WARN: Unable to find copybook 'COPYBK62' (at line=91 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM8.cbl'.)
WARN: Unable to find copybook 'COPYBK63' (at line=93 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM8.cbl'.)
WARN: Unable to find copybook 'COPYBK64' (at line=95 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM8.cbl'.)
WARN: Unable to find copybook 'COPYBK65' (at line=110 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM8.cbl'.)
WARN: Unable to find copybook 'COPYBK66' (at line=57 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM9.cbl'.)
WARN: Unable to find copybook 'COPYBK67' (at line=93 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM9.cbl'.)
WARN: Unable to find copybook 'COPYBK68' (at line=150 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM9.cbl'.)
WARN: Unable to find copybook 'COPYBK69' (at line=213 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM9.cbl'.)
WARN: Unable to find copybook 'COPYBK70' (at line=214 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM9.cbl'.)
WARN: Unable to find copybook 'COPYBK71' (at line=88 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM10.cbl'.)
WARN: Unable to find copybook 'COPYBK72' (at line=114 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM10.cbl'.)
WARN: Unable to find copybook 'COPYBK73' (at line=42 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM11.cbl'.)
WARN: Unable to find copybook 'COPYBK74' (at line=44 in file='C:\Program Files (x86)\Jenkins\workspace\SonarQube\CBL1\PGM11.cbl'.)
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 26.679s
INFO: Final Memory: 31M/86M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
java.lang.IllegalArgumentException: 291 is not a valid line for pointer. File CBL1/PGM11.cbl has 288 line(s)
        at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:336)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:272)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.selectLine(DefaultInputFile.java:295)
        at com.sonarsource.cobol.plugin.squid.I.A(Unknown Source)
        at com.sonarsource.cobol.plugin.squid.I.A(Unknown Source)
        at com.sonarsource.cobol.plugin.squid.I.A(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
        at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.forEach(Unknown Source)
        at com.sonarsource.cobol.E.I.B(Unknown Source)
        at com.sonarsource.cobol.squid.CobolAstScanner.A(Unknown Source)
        at com.sonarsource.cobol.squid.CobolAstScanner.scanFiles(Unknown Source)
        at com.sonarsource.cobol.plugin.squid.H.execute(Unknown Source)
        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:82)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:400)
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:395)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
        at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at 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)
ERROR: 
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
Picked up _JAVA_OPTIONS: -Xrunjvmhook -Xbootclasspath/a:"C:\Program Files (x86)\Micro Focus\Unified Functional Testing\bin\java_shared\classes\jasmine.jar"
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeeded?
ERROR: SonarQube scanner exited with non-zero code: 1
Finished: FAILURE

That’s the crucial point which you didn’t mention before!
You developed a custom rule and now you get an error when analysing a project.
In that case, upgrading SonarQube is almost certainly useless.

It’s now easier for me to understand the stacktrace you got:

java.lang.IllegalArgumentException: 595 is not a valid line for pointer. File CBL/XXXXX.cbl has 594 line(s)

Your custom rule created an issue where the primary location or a secondary location points to line 595 of a file named “CBL/XXXXX.cbl”, but this file has only 594 lines.
You have a bug in your custom rule and you can try to understand it by logging all the issue locations which your custom rule creates.

I agree with you @pynicolas. But the major challenge we have is, there is no exception or failure occurs when we scan the individual file in local as well as in server environment. Also there is no pattern of error causing files during the execution as it occurs for random files during the scan against full project. This make things hard for us to find what piece of custom code creating the problem.

It would be really helpful if there are inputs on possible ways to debug this problem with more logs and how to enable those for the above explained kind of scenarios.

Maybe your custom rule keeps some state: if the class which implements your custom rule has fields which are not correctly cleaned at the end of the analysis of a file, then this state may impact the analysis of another file.
That’s just an idea and it cannot be confirmed without seeing your code.

I’m not sure what you expect.
You can definitely log anything you want in your own code.

After a deep dive analysis we found the root cause with in the custom code developed. The problem is resolved after we fix the code. Thank you @pynicolas for your guidance and responses.

Thanks for the update!

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